Upstream timed out

Vladimir Shiray vlad at kbb1.com
Fri Sep 7 17:17:29 MSD 2007


С ним все по другому. Сразу же посыпались таймауты.
Хотя он и не дожидается таймаута nginx (120с), а срабатывает его 
собственный (30с).

siege -d 2 -c 5 -t 180S -H "If-Modified-Since: Sat, 20 Nov 2004 20:16:24 
GMT" http://dev.kbb1.com/icons/blank.gif

Lifting the server siege...      done.
Transactions:                      36 hits
Availability:                  65.45 %
Elapsed time:                 180.24 secs
Data transferred:               0.00 MB
Response time:                  3.73 secs
Transaction rate:               0.20 trans/sec
Throughput:                     0.00 MB/sec
Concurrency:                    0.75
Successful transactions:          36
Failed transactions:              19
Longest transaction:           15.48
Shortest transaction:           0.44

Если убрать параметр "-H" из теста, то все проходит без проблем.
При этом кол-во транзакций получается значительно больше.

siege -d 2 -c 5 -t 180S  http://dev.kbb1.com/icons/blank.gif

Lifting the server siege...      done.
Transactions:                     588 hits
Availability:                 100.00 %
Elapsed time:                 180.51 secs
Data transferred:               0.08 MB
Response time:                  0.50 secs
Transaction rate:               3.26 trans/sec
Throughput:                     0.00 MB/sec
Concurrency:                    1.64
Successful transactions:         588
Failed transactions:               0
Longest transaction:            3.59
Shortest transaction:           0.41


Alexey Karagodov wrote:
> помучай его siege-ем например, нгинх, апач и т.д., чего получится
>
> 07.09.07, Vladimir Shiray<vlad at kbb1.com> написал(а):
>   
>> Igor Sysoev wrote:
>>     
>>> On Fri, Sep 07, 2007 at 01:36:43PM +0300, Vladimir Shiray wrote:
>>>
>>>
>>>       
>>>> Igor Sysoev wrote:
>>>>
>>>>         
>>>>> On Thu, Sep 06, 2007 at 11:12:25AM +0300, Vladimir Shiray wrote:
>>>>>
>>>>>
>>>>>
>>>>>           
>>>>>> в error.log постоянно попадают ошибки, типа:
>>>>>>    "upstream timed out (110: Connection timed out) while reading
>>>>>>    upstream"
>>>>>>
>>>>>> После очистки лога и перезапуска nginx, на 150000 подключений
>>>>>> получил 426 таких сообщений.
>>>>>>
>>>>>> Сам сервер запущен внутри OpenVZ окружения (CentOS 4.5 32bit). Перед
>>>>>> последними
>>>>>> проверками, окружение было остановлено и запущено снова.
>>>>>> В /proc/user_beancounters и в логах ядра (2.6.18-ovz028stab039.1-smp)
>>>>>> все "чисто".
>>>>>>
>>>>>> У сервера есть три upstream, один докальный в "соседнем" VPS и два
>>>>>> удаленных
>>>>>> (rtt: 150ms и 60ms). Ошибки присутствуют для каждого из них.
>>>>>>
>>>>>> ------
>>>>>>
>>>>>> nginx-0.5.29  (c двумя патчами: patch-0.6.2.2, patch-0.6.5.1)
>>>>>>
>>>>>>
>>>>>>             
>>>>> Как уже посоветовали, можно логировать $upstream_response_time
>>>>>
>>>>> Эти ошибки на https'ных соединениях с бэкендами или на обычных ?
>>>>>
>>>>>
>>>>>
>>>>>           
>>>> Игорь, похоже ошибка появляется когда "backend" возвращает код "304".
>>>> Я проверил все последние локальные ошибки из error.log и в access.log
>>>> у всех из них стоит код 304.
>>>>
>>>> В моем предыдущем ответе на сообщение от "umask" есть также
>>>> соответствующие строки лога из Apache.
>>>>
>>>>         
>>> Вот этот запрос - /icons/blank.gif всегда заканичвается таймаутом или нет ?
>>>
>>>
>>>       
>> Нет. Большая часть запрососв проходит нормально.
>>
>> Нагрузка на локальный backend очень небольшая,
>> поэтому сложно получить частоту появления таких ошибок.
>>
>> Пробовал пускать ab  с удаленного сервера, но для такого простого теста
>> ошибка не проявляется. Внизу результаты. Тоже самое пускал и с
>> ключом "-k" - никакой существенной разницы.
>>
>> ab -n 100 -c 2 -H "If-Modified-Since: Sat, 20 Nov 2004 20:16:24 GMT"
>> http://dev.kbb1.com/icons/blank.gif
>>
>> Server Software:        nginx/0.5.29
>> Server Hostname:        dev.kbb1.com
>> Server Port:            80
>>
>> Document Path:          /icons/blank.gi
>> Document Length:        1029 bytes
>>
>> Concurrency Level:      2
>> Time taken for tests:   22.600107 seconds
>> Complete requests:      100
>> Failed requests:        0
>> Write errors:           0
>> Non-2xx responses:      100
>> Total transferred:      130000 bytes
>> HTML transferred:       102900 bytes
>> Requests per second:    4.42 [#/sec] (mean)
>> Time per request:       452.002 [ms] (mean)
>> Time per request:       226.001 [ms] (mean, across all concurrent requests)
>> Transfer rate:          5.58 [Kbytes/sec] received
>>
>> Connection Times (ms)
>>               min  mean[+/-sd] median   max
>> Connect:      196  224  11.0    226     240
>> Processing:   200  227  11.0    227     245
>> Waiting:      199  226  11.1    227     244
>> Total:        396  451  21.5    454     484
>>
>> Percentage of the requests served within a certain time (ms)
>>   50%    454
>>   66%    467
>>   75%    470
>>   80%    473
>>   90%    478
>>   95%    480
>>   98%    483
>>   99%    484
>>  100%    484 (longest request)
>>
>>     






More information about the nginx-ru mailing list