Скачкообразный рост потребляемой памяти при включении slice

Zaynullin nginx-forum на forum.nginx.org
Чт Июл 28 16:30:11 UTC 2016


Здравствуйте.
После включения slice наблюдается скачкообразный рост потребляемой памяти
поочередно на нескольких воркерах.
Общий объем данных на бэкэнде 1 Tb, средний размер файла примерно 4-5 Gb.
При достижении размера cache директории в 6 Gb, объем потребляемой памяти
увеличивается примерно на 15 Gb.
В дампе памяти воркера по адресу 00007f982bb4d000 видим множество заголовков
запросов и ответов между предположительно самими данными. 
При размере slice 5m рост потребления памяти практически не заметен.
В какую сторону копать?

Конфигурация nginx:

  proxy_cache_path  /cache/site levels=2:2 keys_zone=site_cache:500m
inactive=3d;

  server {
    slice             1m;
    proxy_cache       site_cache;
    proxy_cache_key   "$request_uri|$slice_range";
    proxy_cache_valid 200 206 1d;
    proxy_set_header  Range              $slice_range;
    proxy_http_version 1.1;

    # ...
  }

nginx version: nginx/1.11.2

# top
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
10412 www-data  20   0 4320028 2.115g 166348 S  5.3  4.5   1:44.68 nginx:
worker process

# pmap 10412
10412:   nginx: worker process
0000000000400000   1160K r-x-- nginx
0000000000721000      4K r---- nginx
0000000000722000    120K rw--- nginx
0000000000740000    132K rw---   [ anon ]
000000000205a000    132K rw---   [ anon ]
000000000207b000      4K r----   [ anon ]
0000000040131000    128K rw---   [ anon ]
000000004152e000    128K rw---   [ anon ]
0000000041e09000    128K rw---   [ anon ]
00007f982bb4d000 2606804K rw---   [ anon ]
00007f98cad02000   1676K rw---   [ anon ]
00007f98caf07000   1156K rw---   [ anon ]
00007f98cb028000 102400K rw-s- zero (deleted)
00007f98d1428000 102400K rw-s- zero (deleted)
00007f98d7828000   8400K rw---   [ anon ]
00007f98d80b5000   1156K rw---   [ anon ]
00007f98d81d6000   5120K rw-s- zero (deleted)
00007f98d86d6000  20480K rw-s- zero (deleted)
00007f98d9ad6000 512000K rw-s- zero (deleted)
00007f98f8ed6000 102400K rw-s- zero (deleted)
00007f98ff2d6000 102400K rw-s- zero (deleted)
00007f99056d6000 102400K rw-s- zero (deleted)
00007f990bad6000 102400K rw-s- zero (deleted)
00007f9911ed6000 102400K rw-s- zero (deleted)
00007f99182d6000 102400K rw-s- zero (deleted)
00007f991e6d6000  20480K rw-s- zero (deleted)
00007f991fad6000 102400K rw-s- zero (deleted)
00007f9925ed6000  20480K rw-s- zero (deleted)
00007f99272d6000 102400K rw-s- zero (deleted)
00007f992d6d6000 102400K rw-s- zero (deleted)
00007f9933ad6000 102400K rw-s- zero (deleted)
00007f9939ed6000 102400K rw-s- zero (deleted)
00007f99402d6000  20480K rw-s- zero (deleted)
00007f99416d6000 102400K rw-s- zero (deleted)
00007f9947ad6000  10240K rw-s- zero (deleted)
00007f99484d6000  20480K rw-s- zero (deleted)
00007f99498d6000 102400K rw-s- zero (deleted)
00007f994fcd6000  20480K rw-s- zero (deleted)
00007f99510d6000   4096K rw---   [ anon ]
00007f99514d6000     92K r-x-- libresolv-2.19.so
00007f99514ed000   2048K ----- libresolv-2.19.so
00007f99516ed000      4K r---- libresolv-2.19.so
00007f99516ee000      4K rw--- libresolv-2.19.so
00007f99516ef000      8K rw---   [ anon ]
00007f99516f1000     20K r-x-- libnss_dns-2.19.so
00007f99516f6000   2044K ----- libnss_dns-2.19.so
00007f99518f5000      4K r---- libnss_dns-2.19.so
00007f99518f6000      4K rw--- libnss_dns-2.19.so
00007f99518f7000   2048K rw---   [ anon ]
00007f9951b71000   1024K rw---   [ anon ]
00007f9951c71000     44K r-x-- libnss_files-2.19.so
00007f9951c7c000   2044K ----- libnss_files-2.19.so
00007f9951e7b000      4K r---- libnss_files-2.19.so
00007f9951e7c000      4K rw--- libnss_files-2.19.so
00007f9951e7d000     44K r-x-- libnss_nis-2.19.so
00007f9951e88000   2044K ----- libnss_nis-2.19.so
00007f9952087000      4K r---- libnss_nis-2.19.so
00007f9952088000      4K rw--- libnss_nis-2.19.so
00007f9952089000     92K r-x-- libnsl-2.19.so
00007f99520a0000   2044K ----- libnsl-2.19.so
00007f995229f000      4K r---- libnsl-2.19.so
00007f99522a0000      4K rw--- libnsl-2.19.so
00007f99522a1000      8K rw---   [ anon ]
00007f99522a3000     36K r-x-- libnss_compat-2.19.so
00007f99522ac000   2044K ----- libnss_compat-2.19.so
00007f99524ab000      4K r---- libnss_compat-2.19.so
00007f99524ac000      4K rw--- libnss_compat-2.19.so
00007f99524ad000     88K r-x-- libgcc_s.so.1
00007f99524c3000   2044K ----- libgcc_s.so.1
00007f99526c2000      4K rw--- libgcc_s.so.1
00007f99526c3000   1772K r-x-- libc-2.19.so
00007f995287e000   2044K ----- libc-2.19.so
00007f9952a7d000     16K r---- libc-2.19.so
00007f9952a81000      8K rw--- libc-2.19.so
00007f9952a83000     20K rw---   [ anon ]
00007f9952a88000    180K r-x-- libGeoIP.so.1.6.0
00007f9952ab5000   2044K ----- libGeoIP.so.1.6.0
00007f9952cb4000      4K r---- libGeoIP.so.1.6.0
00007f9952cb5000      8K rw--- libGeoIP.so.1.6.0
00007f9952cb7000     96K r-x-- libz.so.1.2.8
00007f9952ccf000   2044K ----- libz.so.1.2.8
00007f9952ece000      4K r---- libz.so.1.2.8
00007f9952ecf000      4K rw--- libz.so.1.2.8
00007f9952ed0000   2220K r-x-- libcrypto.so.1.0.0
00007f99530fb000   2048K ----- libcrypto.so.1.0.0
00007f99532fb000    112K r---- libcrypto.so.1.0.0
00007f9953317000     52K rw--- libcrypto.so.1.0.0
00007f9953324000     16K rw---   [ anon ]
00007f9953328000    376K r-x-- libssl.so.1.0.0
00007f9953386000   2044K ----- libssl.so.1.0.0
00007f9953585000     16K r---- libssl.so.1.0.0
00007f9953589000     28K rw--- libssl.so.1.0.0
00007f9953590000    244K r-x-- libpcre.so.3.13.1
00007f99535cd000   2044K ----- libpcre.so.3.13.1
00007f99537cc000      4K r---- libpcre.so.3.13.1
00007f99537cd000      4K rw--- libpcre.so.3.13.1
00007f99537ce000    432K r-x-- libluajit-5.1.so.2.0.2
00007f995383a000   2048K ----- libluajit-5.1.so.2.0.2
00007f9953a3a000      8K r---- libluajit-5.1.so.2.0.2
00007f9953a3c000      4K rw--- libluajit-5.1.so.2.0.2
00007f9953a3d000   1044K r-x-- libm-2.19.so
00007f9953b42000   2044K ----- libm-2.19.so
00007f9953d41000      4K r---- libm-2.19.so
00007f9953d42000      4K rw--- libm-2.19.so
00007f9953d43000     36K r-x-- libcrypt-2.19.so
00007f9953d4c000   2048K ----- libcrypt-2.19.so
00007f9953f4c000      4K r---- libcrypt-2.19.so
00007f9953f4d000      4K rw--- libcrypt-2.19.so
00007f9953f4e000    184K rw---   [ anon ]
00007f9953f7c000    100K r-x-- libpthread-2.19.so
00007f9953f95000   2044K ----- libpthread-2.19.so
00007f9954194000      4K r---- libpthread-2.19.so
00007f9954195000      4K rw--- libpthread-2.19.so
00007f9954196000     16K rw---   [ anon ]
00007f995419a000     12K r-x-- libdl-2.19.so
00007f995419d000   2044K ----- libdl-2.19.so
00007f995439c000      4K r---- libdl-2.19.so
00007f995439d000      4K rw--- libdl-2.19.so
00007f995439e000    140K r-x-- ld-2.19.so
00007f99544ad000   1052K rw---   [ anon ]
00007f99545bb000      8K rw-s- [aio] (deleted)
00007f99545bd000      4K rw-s- zero (deleted)
00007f99545be000      8K rw---   [ anon ]
00007f99545c0000      4K r---- ld-2.19.so
00007f99545c1000      4K rw--- ld-2.19.so
00007f99545c2000      4K rw---   [ anon ]
00007fff972bf000    132K rw---   [ stack ]
00007fff973e1000      8K r----   [ anon ]
00007fff973e3000      8K r-x--   [ anon ]
ffffffffff600000      4K r-x--   [ anon ]
 total          4860256K

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,268615,268615#msg-268615



Подробная информация о списке рассылки nginx-ru