на тестовом запуске мы словили примерно 200 запросов к статике в секунду в среднем (иногда больше, иногда меньше) в общем-то это не так уж и много (картинки, стили, документы
может быть такое, что если дисковая система стала медленнее (а судя по косвенным замерам, которые я провёл, она медленнее в разы) то прежняя конфигурация nginx просто не успевает раздавать статику? скорость сети больше чем скорость дисков запросов от клиентов приходит масса ком нарастает процессы висят в статусе “D", медленно считывают и копят это в память если отключить sendfile, включить aio, добавить ограничений, это поможет? или уменьшить worker_connections 4096? или уменьшить open_file_cache? или это всё фантазия и медленный диск не мог стать причиной пожирания всей памяти? > On 31 Aug 2020, at 14:38, Alexey Galygin <m...@me.com> wrote: > > стандартная сборка из docker hub nginx:1.18.0 > > > worker_processes auto; > > events { > worker_connections 4096; > multi_accept on; > use epoll; > } > worker_rlimit_nofile 10240; > > http { > client_max_body_size 2000m; > sendfile on; > tcp_nopush on; > tcp_nodelay on; > server_tokens off; > keepalive_timeout 60; > reset_timedout_connection on; > if_modified_since before; > > proxy_buffer_size 128k; > proxy_buffers 24 32k; > proxy_busy_buffers_size 256k; > proxy_temp_file_write_size 4m; > > client_header_buffer_size 8k; > large_client_header_buffers 8 128k; > client_body_buffer_size 256K; > > server_names_hash_max_size 4096; > server_names_hash_bucket_size 128; > map_hash_max_size 8500; > proxy_headers_hash_bucket_size 128; > > gzip on; > 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; > gzip_http_version 1.1; > gzip_min_length 900; > gzip_comp_level 7; > gzip_proxied any; > gzip_buffers 32 8k; > gzip_disable msie6; > > proxy_cache_path /var/lib/nginx/cache levels=1:2 > keys_zone=C1:20m inactive=24h max_size=20000m; > proxy_cache_use_stale updating error timeout invalid_header > http_500 http_502 http_503 http_504; > proxy_cache_background_update on; > proxy_temp_path /var/run/nginx/proxy; > proxy_cache_lock on; > proxy_cache_lock_timeout 25s; > proxy_cache_methods GET HEAD; > proxy_cache_valid 404 1m; > > open_file_cache max=1024 inactive=30s; > open_file_cache_valid 60s; > open_file_cache_min_uses 2; > open_file_cache_errors on; > open_log_file_cache max=100 inactive=30s valid=1m > min_uses=2; > } > > > к слову, на новом стенде cache выел всего 300 Мб из 10-20 Гб разрешённых (а > на рабочем старом стенде вообще пишется в RAM /var/run — и всё там ок) > нюанс в том, что эта конфигурация отлично работает на старом сервере рядом, > где только Ubuntu более старая > >> On 31 Aug 2020, at 14:19, Илья Шипицин <chipits...@gmail.com >> <mailto:chipits...@gmail.com>> wrote: >> >> Посмотрите, не увеличивается ли у вас число воркеров. >> >> Ещё поможет вывод nginx -V >> >> И поможет конфиг >> >> On Mon, Aug 31, 2020, 1:51 PM Alexey Galygin <m...@me.com >> <mailto:m...@me.com>> wrote: >> привет всем >> >> случилось странное, переехали на сервера по параметрам в разы большие, чем >> сейчас (с нескромными 256 Гб RAM+ 100 Гб swap (из всех параметров влияния на >> штатные параметры sysctl осталось отключение ipv6 и swapness выставленный в >> 10%)) >> >> через 5 минут после старта nginx ест всю память и весь swap! (см. >> https://prnt.sc/u8nia0 <https://prnt.sc/u8nia0>) >> в итоге сервер умирает, никогда такого не видели, это же кэширующий прокси, >> а не БД!… >> >> пускаем на Ubuntu 20.04 Server LTS (5.4.0-42-generic #46-Ubuntu SMP Fri Jul >> 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux) >> нагруженный nginx 1.18 (пробовали из официальных репок ставить на хост >> nginx/stable 1.18.0-1~focal amd64 и в контейнер из официального докера >> nginx:1.18.0) >> >> из особенностей используются ngx_http_js_module.so — для исторического >> escape/unescape URI и ngx_http_image_filter_module.so — для подрезки >> изображений >> >> исключили уже всё — и zfs, который переформатировали в ext4 с отключенным >> atime >> и из docker вынесли nginx в хост >> >> и внутренние системы исключили… >> >> меняли конфиги, отключали sendfile, кэши open-файлов, включали aio… >> >> упорно кончается вся память через 5 минут, все 256 Гб и своп >> >> идей практически не осталось, куда можно ещё копать? >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru@nginx.org <mailto:nginx-ru@nginx.org> >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> <http://mailman.nginx.org/mailman/listinfo/nginx-ru>_______________________________________________ >> nginx-ru mailing list >> nginx-ru@nginx.org <mailto:nginx-ru@nginx.org> >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru