Такая же проблема есть, когда диски проседают при наплыве клиентов, nginx начинает жрать до 100% памяти, подтверждаю, раздается статика.
пн, 31 авг. 2020 г., 19:02 Илья Шипицин <chipits...@gmail.com>: > > > пн, 31 авг. 2020 г. в 20:11, Alexey Galygin <m...@me.com>: > >> на тестовом запуске мы словили примерно 200 запросов к статике в секунду >> в среднем (иногда больше, иногда меньше) >> в общем-то это не так уж и много (картинки, стили, документы >> >> может быть такое, что если дисковая система стала медленнее (а судя по >> косвенным замерам, которые я провёл, она медленнее в разы) >> то прежняя конфигурация nginx просто не успевает раздавать статику? >> >> скорость сети больше чем скорость дисков >> запросов от клиентов приходит масса >> ком нарастает >> > > а отключите буферизацию ? > > proxy_buffering off; > proxy_request_buffering off; > > у вас статика раздается непосредственно с этого сервера или проксируете на > другие ? > > > >> процессы висят в статусе “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> wrote: >> >> Посмотрите, не увеличивается ли у вас число воркеров. >> >> Ещё поможет вывод nginx -V >> >> И поможет конфиг >> >> On Mon, Aug 31, 2020, 1:51 PM Alexey Galygin <m...@me.com> wrote: >> >>> привет всем >>> >>> случилось странное, переехали на сервера по параметрам в разы большие, >>> чем сейчас (с нескромными 256 Гб RAM+ 100 Гб swap (из всех параметров >>> влияния на штатные параметры sysctl осталось отключение ipv6 и swapness >>> выставленный >>> в 10%)) >>> >>> через 5 минут после старта nginx ест всю память и весь swap! (см. >>> 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 >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> >> _______________________________________________ >> nginx-ru mailing list >> 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 > > _______________________________________________ > nginx-ru mailing list > 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