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