Дано: 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, не трогая воркеры. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,276455,276455#msg-276455 _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru