Настройка сервера под высокую нагрузку

M
На сайте с 16.09.2009
Offline
278
#191
zexis:
Я так и не понял

А что вы сделали для того, чтобы понять?

zexis:
какая причина может быть в отключении syn cookies.

Пока они не начинают работать - причины нет. Речь вообще шла о том, почему они не включены по-умолчанию. Если бы были - куки срабатывали бы для легитимных клиентов почти наверняка.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
I
На сайте с 23.12.2010
Offline
25
#192
zexis:
Я так и не понял какая причина может быть в отключении syn cookies.
Ведь даже если синкуки включены,
echo '1'>/proc/sys/net/ipv4/tcp_syncookies
то пока очередь полуоткрытых соединений не заполнена механизм syn cookies не используется и начинает он использоваться лишь, когда нет места в очереди.

Можно включить синкуки и поставить размер очереди побольше
echo '4096' >/proc/sys/net/ipv4/tcp_max_syn_backlog

И тогда синкуки будут начинать работать только при синфлуде, а когда синфлуда нет, то мы будет полноценно использовать все механизмы TCP, которые не доступны, если клиенту отправляются синкуки.

единственная причина, достаточно серьезная, надо отметить - при работающих син-куках возможна ситуация когда некоторые сервисы могут просто повесится. Если объяснять на пальцах, то это сервисы наподобии SMTP протокола, т.е. когда после установления соединения клиент ждет данные от сервера и только после этого продолжает общение. Вот при включенных син-куках этого ответа можно вообще недождаться. Поэтому если сервер у вас работает как mail relay (т.е. фактически выступает как SMTP-клиент), то он может просто встать. А дальше уже зависит от конкретной реализации relay, заложены в него выходы по таймауту или нет.

Если у вас просто веб-сервер (т.е. HTTP протокол), то включение син-куков пойдет только на пользу.

zexis
На сайте с 09.08.2005
Offline
388
#193

Как работает TCP/IP и синкуки я понимаю хорошо.

Я написал, что не понял аргументов почему синкуки нужно отключать.

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

Я проводил эксперимент:

Ддосил синфлудом свой WEB - сервер с интенсивностью 6000 пакетов в секунду с фальшивым IP отправителя.

Результат эксперимента был такой.

С включенными синкуками сервер работет нормально.

Как только синкуки выключить, то новые пользователи уже не могут подключиться.

---------- Добавлено 03.02.2012 в 10:27 ----------

myhand:
Пока они не начинают работать - причины нет. Речь вообще шла о том, почему они не включены по-умолчанию. Если бы были - куки срабатывали бы для легитимных клиентов почти наверняка.

Три раза прочитал, но так и не понял ход ваших мыслей в этой фразе.

M
На сайте с 16.09.2009
Offline
278
#194
zexis:
Как работает TCP/IP и синкуки я понимаю хорошо.
Я написал, что не понял аргументов почему синкуки нужно отключать.

Ну вот вас и спросили: что вы сделали для того, чтобы понять? Что прочитали из того, что процитировали выше?

zexis:
С включенными синкуками сервер работет нормально.
Как только синкуки выключить, то новые пользователи уже не могут подключиться.

Очередь забита синфлудом: клиент шлет syn повторно, а его опять дропают.

zexis:
Три раза прочитал, но так и не понял ход ваших мыслей в этой фразе.

Иногда думать помогает, не пробовали? Ход мыслей очень простой: включите синкуки, не трогая другие настройки tcp-стека (оставив умолчания) - и вы моментально получите SYN flooding on port .. Sending cookies. Нет способа включить синкуки и избежать их срабатывания для легитимных клиентов. А что может быть плохого при таких срабатываниях - пробовали объяснять гораздо выше по треду, посмотрите ссылки.

iopiop:
Если объяснять на пальцах, то это сервисы наподобии SMTP протокола, т.е. когда после установления соединения клиент ждет данные от сервера и только после этого продолжает общение. Вот при включенных син-куках этого ответа можно вообще недождаться.

Вы до сих по не осилили даже элементарный текст из вики полностью. Не фантазируйте - переведите его правильно.

I
На сайте с 23.12.2010
Offline
25
#195
myhand:

Вы до сих по не осилили даже элементарный текст из вики полностью. Не фантазируйте - переведите его правильно.

аргументируйте.

пока что от вас один флуд идет.

M
На сайте с 16.09.2009
Offline
278
#196
iopiop:
аргументируйте.

Сколько можно. Прочитайте, наконец, раздел Drawbacks в вики и найдите отличия с тем, что вы понаписали. Там, в частности, рассказано правильно о том, что вы пытались "изобразить" на пальцах.

Вы упомянули почти все ключевые моменты, но упустили суть.

I
На сайте с 23.12.2010
Offline
25
#197
myhand:
Сколько можно. Прочитайте, наконец, раздел Drawbacks в вики и найдите отличия с тем, что вы понаписали. Там, в частности, рассказано правильно о том, что вы пытались "изобразить" на пальцах.

Вы упомянули почти все ключевые моменты, но упустили суть.

очередной флуд а не ответ.

можно столько, сколько нужно. я уже устал от вас слышать одно и то же. все ваши посты сводятся к одной фразе "почитайте google/wiki/man". не потому ли что сами вы объяснить не можете?

поэтому еще раз - аргументируйте. или вам не знакомо значение этого слова?

M
На сайте с 16.09.2009
Offline
278
#198
iopiop:
не потому ли что сами вы объяснить не можете?

Вот zexis будет интересен ответ, ему расскажу. А для вас возможен только платный ликбез - способности учиться самостоятельно вы пока не продемонстрировали.

I
На сайте с 23.12.2010
Offline
25
#199
myhand:
Вот zexis будет интересен ответ, ему расскажу. А для вас возможен только платный ликбез - способности учиться самостоятельно вы пока не продемонстрировали.

ха-ха.

стандартный говно-ответ от вас "я ВСЕ знаю, но никому не скажу. патаму што я да-ртанян!"

ню-ню.

zexis
На сайте с 09.08.2005
Offline
388
#200
myhand:
Вот zexis будет интересен ответ, ему расскажу. А для вас возможен только платный ликбез - способности учиться самостоятельно вы пока не продемонстрировали.

Пока у меня есть льготы, воспользуюсь.

Сейчас у меня включены синкуки и увеличена длина очереди полуоткрытых соединений.

echo '1'>/proc/sys/net/ipv4/tcp_syncookies

echo '4096' >/proc/sys/net/ipv4/tcp_max_syn_backlog

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

В сутки 3 миллиона запросов к динамическим файлам PHP и 10 миллионов к статике.

Сообщений в логах

SYN flooding on port .. Sending cookies

нет.

Хотя до увеличения длины очереди небольшой количество этих сообщений было.

Раз в 1-2 месяца бывают не большие атаки, которые отбиваются программными настройками сервера.

Вопросы.

1) Какие минусы есть в этой ситуации от того что включены синкуки?

2) Имеет ли смысл их отключать?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий