Welcome! Log In Create A New Profile

Advanced

nginx cache manager process потребляет CPU в ngx_resolver_lookup_name

September 19, 2017 11:38PM
Дано: nginx 1.13.5 под CentOS 7.3

В perf top:

Children, Self Command, Shared Object, Symbol
- 27,63% 0,00% nginx [unknown] [.] 0000000000000000
- 0
24,87% ngx_resolver_lookup_name.isra.1
- 2,76% __libc_writev

Для ngx_resolver_lookup_name.isra.1 смотрю "Zoom into nginx thread" -- вижу в списке вызывавшихся функций sys_unlink, ngx_http_file_cache_manager и т.д. Из этого делаю вывод, что функция потребляет процессор внутри процесса nginx cache manager.

Смотрю в nginx/src/core/ngx_resolver.c -- вижу, что ngx_resolver_lookup_name делает только поиск по красно-чёрному дереву.

Вопрос: чем хотя бы примерно может быть вызвано такое большое потребление процессора этой функцией?

Сервер проксирует ~150 проектов, у каждого свой кэш. Суммарно ~200k файлов на SSD. Около 300 upstream server's.

Эффект проявляется только на production под большой нагрузкой, поэтому сбор диагностики несколько затруднён. Непонятно, как применить callgrind или debug log только к cache manager, не трогая воркеры.
Subject Author Posted

nginx cache manager process потребляет CPU в ngx_resolver_lookup_name

Ilya Evseev September 19, 2017 11:38PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 93
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready