Re: Вопрос по производительности.

BieZax nginx-forum at nginx.us
Mon Jun 22 12:25:33 UTC 2015


Валентин Бартенев Wrote:
-------------------------------------------------------
> On Thursday 18 June 2015 12:05:45 BieZax wrote:
> > Валентин Бартенев Wrote:
> > -------------------------------------------------------
> > > On Thursday 18 June 2015 05:35:25 BieZax wrote:
> > > > Валентин Бартенев Wrote:
> > > > -------------------------------------------------------
> > > > > On Wednesday 17 June 2015 10:59:59 BieZax wrote:
> > > > > > Поэксперементировал  еще  немного, но  пока    не получается
> > > понять,
> > > > >  где
> > > > > > затык.  Конфиг   nginx:
> > > > > [..]
> > > > > > 
> > > > > > Сократил  размер файла  до 1  Кб 
> > > > > > LA ~5  при  16  ядрах
> > > > > > IO   в порядке,   загрузка сети  около 130 мегабит/c
> > > > > > 
> > > > > 
> > > > > А на клиенте?  Упираться вполне может клиент, таким образом вы
> > > будете
> > > > > тестировать
> > > > > не производительность nginx, а производительность клиента.
> > > > > 
> > > > > --
> > > > > Валентин Бартенев
> > > > > _______________________________________________
> > > > > nginx-ru mailing list
> > > > > nginx-ru at nginx.org
> > > > > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> > > > 
> > > > Без   внутреннего   перенаправления пролетает  30000rps, с 
> > > перенаправлением
> > > >  ~13 тыс.  Логично предположить ,что   клиент  тут не при 
> делах. 
> > > Из
> > > > интересного:    кол-во  подключений  всегда  около  30к, может
> во 
> > > > фряхе(9.3) какой-то лимит  по соединениям, о котором я не знаю? 
> На
> > > линуксе 
> > > >   проблема не  повторяется.
> > > > 
> > > 
> > > Из этого нельзя такого предположить.  Это может просто говорить о
> том,
> > > что
> > > клиент находится в зависимости от задержек при обработке ответов и
> не
> > > пытается
> > > нагружать сервер максимальным количеством запросов.
> > > 
> > > Так, для сравнения, у меня только 4 ядра и далеко не серверных, на
> 1кб
> > > файле:
> > > 
> > > Running 5m test @ http://127.0.0.1:8888/1k.html
> > >   4 threads and 10000 connections
> > >   Thread Stats   Avg      Stdev     Max   +/- Stdev
> > >     Latency   782.79ms    1.07s    4.95s    81.36%
> > >     Req/Sec    86.61k    19.39k  223.51k    80.68%
> > >   103239033 requests in 5.00m, 121.34GB read
> > > Requests/sec: 344017.77
> > > Transfer/sec:    414.02MB
> > > 
> > > Как видите, с вашими 30000rps на 16 ядрах едва ли вы можете
> упираться
> > > в nginx.
> > > 
> > > Это либо сеть, либо клиент, либо что-то еще в системе.
> > > 
> > > --
> > > Валентин Бартенев
> > > _______________________________________________
> > > nginx-ru mailing list
> > > nginx-ru at nginx.org
> > > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> > 
> > То, что  нжинкс не причем, это  понятно, т.к.  на линуксе  с тем  же
> > конфигом все  замечательно работает.
> >  Потестил  еще wrk, вот результат :(
> > 
> > Без перенаправления
> > Running 5m test @ http://192.168.1.1/index.html
> >   16 threads and 30000 connections
> >   Thread Stats   Avg      Stdev     Max   +/- Stdev
> >     Latency   739.14ms  334.20ms   2.00s    81.32%
> >     Req/Sec     1.79k   365.07    16.54k    79.40%
> >   8476672 requests in 5.00m, 16.70GB read
> >   Socket errors: connect 1771, read 2975, write 636, timeout 423212
> > Requests/sec:  28246.05
> > Transfer/sec:     56.98MB
> > 
> > С  перенаправлением:
> > Running 5m test @ http://192.168.1.1/index.html
> >   16 threads and 30000 connections
> >   Thread Stats   Avg      Stdev     Max   +/- Stdev
> >     Latency   146.66ms  238.77ms   2.00s    90.72%
> >     Req/Sec   598.93    169.07     3.39k    71.40%
> >   2845012 requests in 5.00m, 3.39GB read
> >   Socket errors: connect 1197, read 1546, write 6297, timeout
> 1435215
> >   Non-2xx or 3xx responses: 2845012
> > Requests/sec:   9480.29
> > Transfer/sec:     11.56MB
> > 
> 
> 
> Обратите внимание на количество ошибок, о которых сообщает wrk в ваших
> результатах.
> 
> Явно что-то не так с настройками.  А во втором случае еще и "Non-2xx
> or 3xx responses".
> 
> --
> Валентин Бартенев
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

Потестировал  с линукса на  фрю   и  с фри на  линукс (железо идентичное), 
с  еренаправлением внутри:

Фря-линукс :
 wrk  -d 1m  -t 16 -c 30000 http://192.168.1.2/index.html
Running 1m test @ http://192.168.1.2/index.html
  16 threads and 30000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   310.94ms  416.12ms   2.00s    84.95%
    Req/Sec     1.80k     1.12k   10.38k    67.54%
  1713774 requests in 1.00m, 2.07GB read
  Socket errors: connect 0, read 755, write 30669, timeout 191934
  Non-2xx or 3xx responses: 37920
Requests/sec:  28519.58
Transfer/sec:     35.28MB
При этом нагрузка на сервер весьма  ощутимая  по  процу.

с линукса на фрю:
./wrk  -d 1m  -t 16 -c 30000 http://192.168.1.1/index.html
Running 1m test @ http://192.168.1.1/index.html
  16 threads and 30000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   167.12ms  314.70ms   2.00s    88.50%
    Req/Sec     1.18k   517.39    11.84k    81.42%
  1097293 requests in 1.00m, 2.10GB read
  Socket errors: connect 1188, read 5508, write 3308, timeout 338681
  Non-2xx or 3xx responses: 103609
Requests/sec:  18257.50
Transfer/sec:     35.74MB
Затык не понятно где. 

Non-2xx or 3xx responses: 103609 -  bad  gw  при   запрросе  через
127.0.0.1.
Бэклог  пустой.


Есть идеи  почему  фря так сильно  проигрывает при прочих равных ?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,259544,259785#msg-259785



Подробная информация о списке рассылки nginx-ru