> On 9 Oct 2019, at 12:22, Илья Шипицин <chipits...@gmail.com> wrote:
> 
> на 2018-м nginx.conf был доклад, как профилировать в районе Lua (и не только)
> 
> https://openresty.org/slides/nginx-conf-2018/ 
> <https://openresty.org/slides/nginx-conf-2018/>
+ видео:
https://www.youtube.com/watch?v=NR8U1qYHGqk 
<https://www.youtube.com/watch?v=NR8U1qYHGqk>


> 
> ср, 9 окт. 2019 г. в 14:13, yanda.a <nginx-fo...@forum.nginx.org 
> <mailto:nginx-fo...@forum.nginx.org>>:
> Добрый день!
> Есть nginx с модулем lua. Мы используем content_by, в котором происходит
> подключение к tarantool и выполнение одной функции в нем. Библиотека для
> работы с tarantool умеет nginx cosockets, также используется keepalive
> (соединения попадают в пул). Все это работает достаточно быстро, но
> периодически бывают всплески по времени работы кода. Например, подключение к
> tarantool порой достигает 200мс, при том, что соединение находится в пуле.
> Для более точного измерения времени используем posix.clock_gettime() вместо
> ngx.now(), так как он более точный и не кеширует время. Да, есть
> дополнительные два системных вызова, но маловероятно, что они способны
> блокировать nginx на такое длительное время. Само время замеряем до и после
> tarantool:connect().
> 
> Первым делом грешили на сам tarantool, но сняв дамп трафика с обоих стороны
> поняли, что по факту само соединение происходит быстро, попросту сам nginx
> пытается подключиться с "запозданием". Вероятно что-то блокирует его.
> 
> Так как основной причиной блокировок может быть файловый I/O, решили
> воспользоваться bcc-tools для подтверждения этого. В частности,
> воспользовались funcslower. На данный момент пытаемся искать медленное
> выполнение следующих функций:
> /usr/sbin/nginx:ngx_write_file
> /usr/sbin/nginx:ngx_read_file
> /usr/sbin/nginx:ngx_copy_file
> c:open
> c:write
> c:read
> 
> Но, к сожалению, в моменты всплеска времени подключения у нас нет медленной
> работы одной из этих функций.
> 
> Подскажите, какие еще функции могут блокировать event loop? И каким образом
> можно диагностировать эту ситуацию?


_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить