<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">сервер сейчас не под нагрузкой<div class="">в ночи проверю</div><div class=""><br class=""></div><div class="">сейчас 32 воркера<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 31 Aug 2020, at 16:07, Илья Шипицин <<a href="mailto:chipitsine@gmail.com" class="">chipitsine@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="auto" class="">Количество воркеров можно посмотреть<div dir="auto" class=""><br class=""></div><div dir="auto" class=""> ps auxw | grep nginx | grep worker | wc -l</div><div dir="auto" class=""><br class=""></div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">Это безопасно</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 31, 2020, 2:38 PM Alexey Galygin <<a href="mailto:mif@me.com" class="">mif@me.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div class="">стандартная сборка из docker hub nginx:1.18.0</div><div class=""><br class=""></div><div class="">docker exec nginx nginx -V</div><div class=""><br class=""></div><div class="">TLS SNI support enabled</div><div class="">configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fdebug-prefix-map=/data/builder/debuild/nginx-1.18.0/debian/debuild-base/nginx-1.18.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie’</div><div class=""><br class=""></div><div class="">тестировать можем только по ночам, днём пользователи работают</div><div class="">поэтому посмотреть рост воркеров сейчас не представляется возможным + требуется именно получить нагрузку (пока сервер не трогают там штиль и спокойствие)</div><div class=""><br class=""></div><div class="">хочу собрать идеи, что крутить ночью</div><div class=""><br class=""></div><div class="">возможно дело и не в количестве воркеров: по скриншоту видно, что всего 5-10 воркеров набрали всю память</div><div class=""><br class=""></div><div class="">конфиг большой, светить бы его прод версию не хотелось</div><div class=""><br class=""></div><div class="">могу точечно надёргать:</div><div class=""><br class=""></div><div class=""><div class="">worker_processes                auto;</div></div><div class=""><br class=""></div><div class=""><div class="">events {</div><div class="">        worker_connections      4096;</div><div class="">        multi_accept on;</div><div class="">        use epoll;</div><div class="">}</div><div class="">worker_rlimit_nofile    10240;</div></div><div class=""><br class=""></div><div class="">http {</div><div class=""><div class="">  client_max_body_size                2000m;</div><div class="">    sendfile                                    on;</div><div class="">    tcp_nopush                                  on;</div><div class="">    tcp_nodelay                                 on;</div><div class="">    server_tokens                               off;</div><div class="">    keepalive_timeout                   60;</div><div class="">        reset_timedout_connection       on;</div><div class="">        if_modified_since                       before;</div></div><div class=""><br class=""></div><div class=""><div class="">  proxy_buffer_size                   128k;</div><div class="">    proxy_buffers                               24 32k;</div><div class="">    proxy_busy_buffers_size             256k;</div><div class="">    proxy_temp_file_write_size  4m;</div></div><div class=""><br class=""></div><div class=""><div class=""> client_header_buffer_size   8k;</div><div class="">    large_client_header_buffers 8 128k;</div><div class="">        client_body_buffer_size         256K;</div></div><div class=""><br class=""></div><div class=""><div class="">  server_names_hash_max_size          4096;</div><div class="">    server_names_hash_bucket_size       128;</div><div class="">        map_hash_max_size                               8500;</div><div class="">        proxy_headers_hash_bucket_size  128;</div></div><div class=""><br class=""></div><div class=""><div class="">   gzip                                on;</div><div class="">    gzip_types                  text/plain text/css text/xml application/xml application/x-javascript application/javascript application/json application/rss+xml application/rss application/x-rss+xml;</div><div class="">    gzip_http_version   1.1;</div><div class="">        gzip_min_length         900;</div><div class="">    gzip_comp_level             7;</div><div class="">    gzip_proxied                any;</div><div class="">    gzip_buffers                32 8k;</div><div class="">        gzip_disable            msie6;</div></div><div class=""><br class=""></div><div class=""><div class="">  proxy_cache_path                    /var/lib/nginx/cache  levels=1:2  keys_zone=C1:20m inactive=24h max_size=20000m;</div><div class="">    proxy_cache_use_stale               updating error timeout invalid_header http_500 http_502 http_503 http_504;</div><div class="">    proxy_cache_background_update on;</div><div class="">    proxy_temp_path                             /var/run/nginx/proxy;</div><div class="">        proxy_cache_lock                        on;</div><div class="">        proxy_cache_lock_timeout        25s;</div><div class="">    proxy_cache_methods                 GET HEAD;</div><div class="">    proxy_cache_valid                   404     1m;</div></div><div class=""><br class=""></div><div class=""><div class="">  open_file_cache                         max=1024 inactive=30s;</div><div class="">        open_file_cache_valid           60s;</div><div class="">        open_file_cache_min_uses        2;</div><div class="">        open_file_cache_errors          on;</div><div class="">        open_log_file_cache                     max=100 inactive=30s valid=1m min_uses=2;</div></div><div class="">}</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">к слову, на новом стенде cache выел всего 300 Мб из 10-20 Гб разрешённых (а на рабочем старом стенде вообще пишется в RAM /var/run — и всё там ок)</div><div class="">нюанс в том, что эта конфигурация отлично работает на старом сервере рядом, где только Ubuntu более старая</div><div class=""><br class=""><blockquote type="cite" class=""><div class="">On 31 Aug 2020, at 14:19, Илья Шипицин <<a href="mailto:chipitsine@gmail.com" target="_blank" rel="noreferrer" class="">chipitsine@gmail.com</a>> wrote:</div><br class=""><div class=""><div dir="auto" class="">Посмотрите, не увеличивается ли у вас число воркеров.<div dir="auto" class=""><br class=""></div><div dir="auto" class="">Ещё поможет вывод nginx -V</div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">И поможет конфиг</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 31, 2020, 1:51 PM Alexey Galygin <<a href="mailto:mif@me.com" target="_blank" rel="noreferrer" class="">mif@me.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space" class=""><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">привет всем</span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class=""> </span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">случилось странное, переехали на сервера по параметрам в разы большие, чем сейчас (с нескромными 256 Гб </span><span lang="EN-US" class="">RAM</span><span lang="RU" class="">+ 100 Гб </span><span lang="EN-US" class="">swap</span><span lang="RU" class=""> (из всех параметров влияния на штатные параметры </span><span lang="EN-US" class="">sysctl </span><span lang="RU" class="">осталось отключение </span><span lang="EN-US" class="">ipv</span><span lang="RU" class="">6 и </span><span lang="EN-US" class="">swapness</span><span lang="RU" class=""> выставленный в 10%))</span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class=""> </span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">через 5 минут после старта </span><span lang="EN-US" class="">nginx </span><span lang="RU" class="">ест всю память и весь </span><span lang="EN-US" class="">swap</span><span lang="RU" class="">! (см. <a href="https://prnt.sc/u8nia0" rel="noreferrer noreferrer" target="_blank" class="">https://prnt.sc/u8nia0</a>)</span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">в итоге сервер умирает, никогда такого не видели, это же кэширующий прокси, а не БД!…</span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""> <u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">пускаем на </span><span lang="EN-US" class="">Ubuntu 20.04 Server LTS (</span>5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux<span lang="EN-US" class="">)</span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">нагруженный </span><span lang="EN-US" class="">nginx </span><span lang="RU" class="">1.18 (пробовали из официальных репок ставить на хост nginx/stable 1.18.0-1~focal amd64 и в контейнер из официального докера </span><span lang="EN-US" class="">nginx</span><span lang="RU" class="">:1.18.0)</span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class=""> </span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">из особенностей используются ngx_http_js_module.so — для исторического </span><span lang="EN-US" class="">escape</span><span lang="RU" class="">/</span><span lang="EN-US" class="">unescape URI </span><span lang="RU" class="">и ngx_http_image_filter_module.so — для подрезки изображений</span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="EN-US" class=""> </span><span lang="RU" class=""> </span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">исключили уже всё — и </span><span lang="EN-US" class="">zfs</span><span lang="RU" class="">, который переформатировали в </span><span lang="EN-US" class="">ext</span><span lang="RU" class="">4 с отключенным </span><span lang="EN-US" class="">atime</span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">и из </span><span lang="EN-US" class="">docker </span><span lang="RU" class="">вынесли </span><span lang="EN-US" class="">nginx </span><span lang="RU" class="">в хост</span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class=""> </span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">и внутренние системы исключили</span><span lang="EN-US" class="">…</span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="EN-US" class=""> </span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">меняли конфиги, отключали </span><span lang="EN-US" class="">sendfile</span><span lang="RU" class="">, кэши </span><span lang="EN-US" class="">open</span><span lang="RU" class="">-файлов, включали </span><span lang="EN-US" class="">aio</span><span lang="RU" class="">…</span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class=""> </span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">упорно кончается вся память через 5 минут, все 256 Гб и своп</span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class=""> </span><u class=""></u><u class=""></u></div><div style="margin:0cm;font-size:11pt;font-family:Calibri,sans-serif" class=""><span lang="RU" class="">идей практически не осталось, куда можно ещё копать?</span></div></div>_______________________________________________<br class="">
nginx-ru mailing list<br class="">
<a href="mailto:nginx-ru@nginx.org" rel="noreferrer noreferrer" target="_blank" class="">nginx-ru@nginx.org</a><br class="">
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer noreferrer noreferrer" target="_blank" class="">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div>
_______________________________________________<br class="">nginx-ru mailing list<br class=""><a href="mailto:nginx-ru@nginx.org" target="_blank" rel="noreferrer" class="">nginx-ru@nginx.org</a><br class=""><a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank" rel="noreferrer" class="">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></blockquote></div><br class=""></div>_______________________________________________<br class="">
nginx-ru mailing list<br class="">
<a href="mailto:nginx-ru@nginx.org" target="_blank" rel="noreferrer" class="">nginx-ru@nginx.org</a><br class="">
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer noreferrer" target="_blank" class="">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div>
_______________________________________________<br class="">nginx-ru mailing list<br class=""><a href="mailto:nginx-ru@nginx.org" class="">nginx-ru@nginx.org</a><br class="">http://mailman.nginx.org/mailman/listinfo/nginx-ru</div></blockquote></div><br class=""></div></body></html>