og

Рейтинг
157
Регистрация
08.01.2002
Должность
Администратор
mustafa:
бугага :) RTFM :D Домен привязывается к айпи. Делаем ftp1.site.ru и ftp2.site.ru и вешаем их на разные ипы.

Так можно и ftp.site.ru:

ftp.site.ru -> ip1

ftp.site.ru -> ip2

о чём я и писал выше.

Однако мне кажется, что у топикстартера не просто так оно смотрит на ип.

mads:
сервер опять мертвый... да, статистика нагрузки и прочего есть...
все же надо брать гиговую сетевую... но она потребуют мощный процессор...
короче выбрал себе такой сервак:
пень4 3200герца
2гига памяти
2*100м сетевых...

Нормальная сетевушка на оси с нормальными дровами не должна грузить проц.

Кстати сейчас во всех серверных платформах ставят гигабитные сетевые карточки.

Странно как-то что две по сто.

Если сотки, то с провайдером договариваться о подключении обоих портов на 100 мегабитах. На обе вешать ip адреса и делать в днсах для домена, на который идёт ссылка с сайта (того откуда идют посетители) эти ip'ы.

Тогда нагрузка будет равномерно распределяться на оба порта.

А машинка для файлового архива по конфигурации вполне рабочая.

Roxis:
nginx просто так не сдохнет!
насчёт proftpd не уверен.
вместо proftpd надо vsftpd - самый быстрый и безопасный ftp сервер.

Nginx сдохнет просто на ура. Как начнёт нарезать отдаваемые файлы чанками, так на этом всё и кончится, попробуйте отдавать файлы метров по 600 каждый на 250 посетителей, и увидете. Он рассчитан совсем для другого.

Ну а какой ftpd, вопрос вкуса.

mads:
если так лучше, то сделаем... по статстике на серваке 200-250 коннектов сразу и качают в минуту по 250 метров... тоесть в месяц 10терабайт...🙅

250/60 = 4.166 мегабайта в секунду

4.166 * 8 = 33.3 мегабита.

Если порт 100 мегабитный, то его должно хватать. Однако наверняка есть пиковые

нагрузки. Вы или ваш провайдер ведёте статистику звгрузки порта?

Например через mrtg, или cacti ? Если нет, то по идее следует или с их помощью,

или как-то иначе мониторить порт. В случае появления на графике полки на 100

мегабит, то надо или брать доп. порт у провейдера, или апгрейдить туществующий до гигабита.

Или решить что важнее отдавать посетителям файлы быстро и настолько насколько

смогут получить, но вам это обойдётся в увеличение стоимости в виде апгрейда

порта. Или сэкономить, и зажимать граждан в числе коннектов.

А по числе коннектов грамотно может лимитировать тот-же ftp сервер,

при этом выдаст корректную ошибку, о превышении числа подключений и т.д.

Не скажу за других, но вот в локалке работает машинка под FreeBSD,

На ура выдаёт 300-400 мегабит в секунду. Апач бы давно на таких объёмах сдох.

Кстати nginx тоже. А ProFtpd отдаёт на ура.

Ну раз не закрыли вопрос, то Imho, на отдачу больших файлов надо ставить ftpd.

Он для этого больше предназначен.

mads:
проблема найдена.
все дело в открытых сессиях, некоторые люди умудрялись открывать по 30-40 сессий тем самым забивали весь канал - и в этот момент сервак умирал.
поставили ограничение до 4 сессий - все стало работать на ура.

Понятно, однако исходные данные были неверными:

"сетевой канал (или как там его) - 60метров (из них используется только 40)".

Замечу, что даже при включёных KeepAliv'ах msie использует до 8 соединений.

Тоесть если бы у вас там лежали скажем картинки к форуму, то при ограничении до 4 сессий открываться бы они у посетителей стали крайне криво. Вероятно всётаки раздаёте какие-то большие файлы, и 4 сессий при этом хватает.

mads:
сайт живет отдельно от сервера. я же написал, что на сайте посещаемость свыше 10000 людей, а сервак лежал мертвым по 9-10 часов. как вы думаете если бы сайт был вечно не доступен - была бы на нем такая посещаемость?:p

В данном контексте под сайтом подразумевалось то, что отдавало файлы по http.

mads:
тема закрыта

Ok. Всего :)

Проблема скорее всего в дисковой подсистеме.

Что там за hdd, и какие размеры файлов (в среднем каждого, есть-ли большие (по несколько сот мегов)). И сколько весь сайт весит.

Lupus:
С любого IP надо ограничивать к-во коннектов. С любого. Там, вроде, первый пример так и делает.

Пример, бот лезет через прокси по списку. С каждого ип по 10 запросов.

Лимиты он не превысит, однако нагрузку создаст.

Lupus:

Вообще-то, конечно, справедливо. Повесить что-то вроде "tail -f <logfile> | grep <user-agent> | awk '{print $1}' | xargs ... "
Но, чем огород городить, может лучше snort на его перехват настроить? :)

Можно и так, если не будет ложных срабатываний. В случае с логом такие вещи исключены. Да и не факт, что разрешат поснифить на vds ..

Lupus:
Как раз количество внешних запросов стоит ограничивать независимо от юзер-агентов и вообще разновидности клиента и протокола.
Об этом много написано.

А если эта качалка полезет с разных ип. Ну скажем через прокси?

Человек ведь пишет как матчить. По User Agent'у :)

P.S. По поводу парсинга лога, ето ещё и удобно тем, что нет необходимости

в каких-либо наворотах. Ну и 1 запрос с таким User Agent'ом пройдёт,

а остальные пойдут в никуда. Тоесть до апача доберётся только 1 запрос. Остальные нагрузки не создадут.

Варианты:

1 простой: На httpd сервере включить лог, написать малюсенькую програмку в которую скармливать лог через пайп, програмкой парсить лог и как только появляется человек с искомым User Agent'ом, его ip ставить в фаэрвол.

2 сложнее: перед httpd поставить враппер/прокси который бы смотрел что за User Agent, если искомый, то добавлял бы правило в фаэрвол =)

3 извращённый, написать свой httpd который бы ставил в фаэрвол правила на блок

ип с которого пришли с искомым юзер агентом.

Всего: 328