Outsourcenow

Рейтинг
26
Регистрация
13.08.2008
Интересы
Unix, web, highload.
BlackSmoke:
Собственно, даже не знаю, с чего начать.

Совершенно стандартная ситуация.

Очень похоже, что приходит какой-то бот, и дергает тяжелую ссылку - например, поиск. База начинает тормозить, пхпшный процесс ждет окончания операции с базой. В этот момент бот дергает еще несколько похожих ссылок - которые так же встают в очередь на обработку в базе. Количество потоков пхп-процессов растет, съедается память - и остальные процессы начинают выкидываться в своп.

codobir:
Где в Москве лучше купить сервер?

http://servershop.ru/

Много раз там покупали - никаких проблем не было.


Будет один высоконагруженный сайт. В принципе, хоть и посещаемость довольно высокая: 10 - 17 тыс. уник. посетителей в день

Это не высоконагруженный сайт.

DLag:
Суметь что?
Вам уже показали как это делается в статье.

лицорука.пнг

Да не работает такая схема, чо. Никак не работает :-)

myhand:
data :)

Именно!


кстати, да - по этой причине - тоже работать не должно. т.е. минимум нужна
еще какая-то проверка на флаги (SYN, etc..).

Нужна не только проверка на флаги - нужно полное отслеживание и копирование tcp-сессии. Из-за чего начнет нагибаться ip-стек из-за забитых таблиц коннектов, не перестанет расти число потоков апача - им все так же придется запускаться на каждый входящий коннект, сходу удвоится количество открытых сокетов - которых вобщем-то тоже не бесконечное количество.


PS: вообще, на картинку системы под 20Mbps досом, фильтрующей _каждый_ входящий
TCP-пакет с данными взглянуть любопытно (top, %sy цифирки).

Да вообще копеечная нагрузка. Только железяка будет стоить порядка 100к евро.

myhand:
_будет_, в какой-то степени...

только часть вполне нормальных TCP-пакетов от обычных пользователей - будет
рубиться. те если заголовки http и данные не будут в одном пакете.

Ну ладно, давай разбирать по пунктами :-)

1. Что делает правило iptables? Правильно, форвардит пакет, содержащий куку, на другой порт.

2. Когда в пакете появляется кука? Правильно, когда браузер отправляет заголовок Cookie:

3. Когда браузер отправляет заголово Cookie? Правильно, после установки tcp-сессии.

4. Как устанавливается tcp-сессия? И тут правильно, syn - syn-acc - acc - data

Внимание, вопрос на сообразительность: какой по счету пакет отфорвардится на порт 8080?

myhand:
проблема еще и в том, что пользователи при этом рубятся. совершенно нормально,что в TCP пакете от "хорошего" клиента, проставившего кукисы - искомой строки _не_будет_.

М-м-м-м... Я тут слегка подумал головой - и что-то мне подсказывает, что эта схема работать не будет вообще :-) А не "пользователи рубятся".

Отвратительная идея - искать строки на L3.

На порядок лучше проверять наличие куки nginx-ом, и при наличии - проксировать.

bb-support:
iptables -A INPUT -p icmp --icmp-type 8 -j DROP
это правило будет дропать входящие пинги.

А зачем дропать исходящие?

myhand:
да хоть сбора статистики с типичных приложений (mysqladmin status,
apache mod_status, nginx status)

Этого нету из коробки нигде.


В данной схеме есть минимум один жырный минус - использование _трех_ различных
систем. Зачем Вам столько для ~ нескольких сотен-то хостов?

Это все разные проекты.

PS: И еще раз - cacti - не мониторинг (да и munin тоже).

Вот тут - согласен полностью.

myhand:
1. "искаропки" функционала мало кому хватает. что в zabbix - что в cacti. даже для "мониторинга" localhost. Так что "меряться" этим - бессмысленно.

Ну-ка, ну-ка - давайте-ка поподробнее :-)

Что именно вам не хватает из коробки?


2. в zabbix/munin - не то что локальные скрипты, там для поллинга на стороне клиента
используется специальный сервис (вполне себе аналог snmpd). В котором что-то может
быть встроено, что-то локальными скриптами берется. Плюс общение с сервисом сделано
на основе "своего" протокола (по TCP). Всюду свои велосипеды :-).

М-м-м-м, как бы это вам сказать... У меня есть порядка 80 серверов, мониторящихся через какти, порядка 40 - муниным, и около 400 - заббиксом.

Так что я, как бы, в курсе, как все три поделия работают, и какие плюсы и минусы у каждой из систем.

Всего: 331