Осада неизвестных ответов - PullRequest
9 голосов
/ 24 июля 2011

Я пытаюсь проверить мой сервер на устойчивость к высокой нагрузке с помощью утилиты siege:

siege http://my.server.ru/ -d1 -r10 -c100

Siege выдает много сообщений, подобных этому:

HTTP/1.1 200   0.46 secs:   10298 bytes ==> /

, но иногда возникают ошибкисообщения, подобные этому:

Error: socket: unable to connect sock.c:220: Connection timed out

или это:

warning: socket: -598608128 select timed out: Connection timed out

Отчет об осаде после тестирования:

Transactions:                949 hits
Availability:                94.90 %
...
Successful transactions:         949
Failed transactions:              51
Longest transaction:            9.87
Shortest transaction:           0.37

В логах nginx на моем сервере только 950сообщения с кодом 200 и ответ, что все в порядке.

"GET / HTTP/1.1" 200 10311 "-" "JoeDog/1.00 [en] (X11; I; Siege 2.68)"

Может кто-нибудь сказать мне, что это значит

Error: socket: unable to connect sock.c:220: Connection timed out
warning: socket: -598608128 select timed out: Connection timed out

и почему в моих журналах nginx я вижу только ответы с кодом 200?

1 Ответ

5 голосов
/ 08 марта 2012

Это, вероятно, означает, что ваш канал заполнен и не может обрабатывать больше соединений. Вы не можете заставить nginx или nginx принимать больше соединений, если ваш канал заполнен. Попробуйте протестировать против localhost. Затем вы будете тестировать стек, а не стек и канал. Он будет меньше напоминать реальную нагрузку, но даст вам представление о том, что вы можете сделать с большей трубой.

...