Пардон, не туда ответил. С другой стороны всунуть новый сквид не проблема, добавь только дырку в файрволе. А как на географической точке — незнаю, не буду врать. А какая архитектура им подошла бы? Я совершенно не шарю в этом, ткни ссылкой, если долго писать.
Ну желтизной намеренно попахивает, соглашусь что звучит неочень как-то, но не придумал лучше. А сквид лег, или хакнул их запись в ЖЭКе и им отключили электричество — результат-то один: отказ в обслуживании. Причем у них много чего за сквидом было, SVN, базы, фронтэнд к почте.
Ну желтизной намеренно попахивает, соглашусь что звучит неочень как-то, но не придумал лучше. А сквид лег, или хакнул их запись в ЖЭКе и им отключили электричество — результат-то один: отказ в обслуживании. Причем у них много чего за сквидом было, SVN, базы, фронтэнд к почте.
Service Available меняется там на NO изза рейта соединений, -r 1000 создает 1000 соединений в секунду, сервер не справляется и ставить в очередь, но секунд за 5 разгребает ее. Пробное соединение, которое определяет наличие сервиса за эти 5 секунд не получает видать ответа и считает что сервиса нет.
О, так это ядро поймало, что кто-то (торрент? ) находу уменьшил window намного, т.е. клиент в начале соединения объявил, что он может принимать одним куском (грубо говоря) 1Кб например, принял 20 байт и сказал что у него осталось места на 100 байт, заместо 1Кб минус 20 байт.
Интересно как сервер может это пофиксить: считать что тот ему врет и продолжать посылать куски большего размера? В любом случае slowhttptest не ведет себя так; он в самом начале говорит что он может принимать мелкие кусками данные, принимает первый кусок, и говорит стоп, места нет.
я так понимаю ipfw посылает или RST или FIN немедленно, если условие соблюдено. логика ставить соединение в очередь там врядли есть. Но спасибо за ipfw, я про него не знал. tcpdatalen и tcpwin тоже полезны. ipwf это только BSD?
покажи:)
П.С. Мучался с svn ом на BSD, 21 век, а он https не поддерживал.
На этом сайте огромный pool одновременных соединений. Пришлось 6 экземпляров slowhttptest a запустить:
src/slowhttptest -X -w 10 -y 500 -k 3 -u delta-z.ru/images/banner.png -c 1000 -r 200
Видать машина мощная. Формула так такова: max_clients = worker_processes * worker_connections, где worker_processes обычно по числу ядер процессора.
Интересно как сервер может это пофиксить: считать что тот ему врет и продолжать посылать куски большего размера? В любом случае slowhttptest не ведет себя так; он в самом начале говорит что он может принимать мелкие кусками данные, принимает первый кусок, и говорит стоп, места нет.