<HTML><BODY>Добрый день!<br><br>Имеется сервер freebsd 9.2 amd64, 16gb ram, gmirror 2.7Tb x 2, nginx 1.4.2<br><br>За Nginx стоит php-fpm на котором работает сайт, средне нагруженный(1-10 запрос/сек). Кроме того, nginx через проксирование другого хоста отдает статику, которая таким образом, представляет собой динамически накопляемый кеш. Т.е. приходит запрос, nginx смотрит наличие статики в кеше, если нет получает ее с другого хоста, отдает ответ.<br><br>В данный момент в таком кеше порядка 700к файлов, все они размером примерно от 10кб до 100кб, общий размер данных в кеше 10gb.<br>Проблема в том, что периодически, раз в 10-20 секунд nginx подгружает диск записью на 2-5 секунды, изза этого случается лаг и например ответ от веб сервера можно ждать несколько секунд. Отчет gstat:<br><br> L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name<br>    0     55      8    120   2689     47    903   4952   91.4| ada0<br>   12     36      4     68   2652     32    659   5418   96.4| ada1<br>   12     51     12    188   2676     39    855   5410  108.2| mirror/gm<br><br>Если отключить в nginx работу со статикой через такое проксирование и отдавать ее мимо nginx, то такое поведение пропадает - диск никто периодически не насилует.<br> Вот конфиг:<br><br>user  web;<br>worker_processes  8;<br><br>events {<br>    worker_connections  1024;<br>}<br><br>http {<br>    include       mime.types;<br>    default_type  application/octet-stream;<br>    sendfile        on;<br>    tcp_nopush     on;<br>    keepalive_timeout  65;<br>    gzip  on;<br>    gzip_disable "msie6";<br><br>    proxy_cache_path  /var/www/cache/static levels=2:2 keys_zone=cachearea:3000m max_size=1000000m inactive=1y;<br>    proxy_temp_path /var/www/cache/tmp;<br>    include /usr/local/etc/nginx/conf.d/*.conf;<br>}<br><br>server {<br>    listen 80;<br><br>    server_name www.domain.com;<br>    root /var/www/domain/public;<br><br>    access_log /var/log/domain-access_log;<br>    error_log /var/log/domain-error_log warn;<br><br>    sendfile off;<br>    aio on;<br><br>    client_max_body_size       100m;<br>    client_body_buffer_size    128k;<br><br>    location / {<br>        index index.html index.php;<br>        try_files $uri $uri/ /index.php$is_args$args;<br>    }<br><br>    location ~* /static/(?<chosturi>.*)$ {<br>        expires max;<br><br>        resolver 8.8.8.8;<br>        proxy_pass http://proxydomain.com/$chosturi?$query_string;<br>        proxy_cache cachearea;<br>        proxy_cache_key $chosturi;<br>        proxy_cache_valid 404 301 302 500 502 503 1h;<br>        proxy_cache_valid 200 204 10y;<br>    }<br><br>    location ~ /index\.php$ {<br>        include fastcgi_params;<br>        fastcgi_pass   127.0.0.1:9000;<br>        fastcgi_index  index.php;<br>        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;<br>    }<br>}<br><br>Собственно вопрос в том как избавится от таких периодических нагрузок на диск.<br>Спасибо.<br><br>-- <br>Петр<br></BODY></HTML>