<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>