Re: fastcgi_cache в nginx

Ладоха Антон ladokha на gup.ru
Пт Мар 19 23:02:18 MSK 2010


nginx version: nginx/0.7.65
built by gcc 4.2.1 20070719  [FreeBSD]
configure 
arguments: --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/etc/nginx.conf 
 --pid-path=/usr/local/nginx/nginx.pid --with-pcre=../pcre-7.0 --with-zlib=../zlib-1.2.3 
 --with-http_stub_status_module


    sendfile        on;
    tcp_nodelay    on;
    server_names_hash_max_size 1024;
    server_names_hash_bucket_size 512;
    client_header_timeout  3m;
    client_body_timeout    3m;
    client_max_body_size   40m;
    send_timeout           3m;
    proxy_intercept_errors on;
    proxy_next_upstream off;
    proxy_read_timeout 4s;
    proxy_send_timeout 4s;
    client_header_buffer_size    1k;
    large_client_header_buffers  4 4k;
    output_buffers   1 32k;
    postpone_output  1460;
    tcp_nopush       on;
    send_lowat       12000;
    charset         windows-1251;
    keepalive_timeout  0;
        gzip off;
        gzip_min_length 1100;
        gzip_types text/plain text/html application/x-javascript ;



  server
  {
    listen       x.x.x.x:80;
    server_name xxxxxxxx ;
    ssi on;
    error_page   502 503 504  /err504.shtml;
    location ~* 
\.(swf|zip|rar|arj|gz|cab|exe|dll|ico|jpg|jpeg|gif|bmp|png|mp3|avi|mov|mpg|mpeg|txt|amr|mmf|wml|wbmp|mid|midi|3gp|js|css|htm|html|shtml?)$
    {
      charset off;
      proxy_set_header   X-Real-IP        $remote_addr;
      proxy_set_header        Host            $host;
      if (!-f $request_filename)
      {
        break;
        proxy_pass http://y.y.y.y:80;
      }
      root   zzzzz;
    }
    location /
    {
      proxy_set_header   X-Real-IP        $remote_addr;
      proxy_set_header        Host            $host;
      proxy_pass http://y.y.y.y:80;
    }
  }





----- Original Message ----- 
From: "Maxim Dounin" <mdounin at mdounin.ru>
To: <nginx-ru at nginx.org>
Sent: Friday, March 19, 2010 9:51 PM
Subject: Re: fastcgi_cache в nginx


> Hello!
>
> On Fri, Mar 19, 2010 at 08:12:33PM +0200, Alex Vasilenko wrote:
>
>> Имеется кастомный nginx 0.7.65, fedora 12 и 80гб закэшированных данных, в
>> среднем 30кб на файлик.
>> Кастомность заключается в том что sleep для cache loader увеличен с 200мс 
>> до
>> 2сек + добавлены патчи (
>> http://nginx.org/pipermail/nginx-devel/2010-January/000101.html и
>> http://nginx.org/pipermail/nginx-devel/2010-January/000102.html)
>> Конфиг кэширования:
>>
>> fastcgi_cache_path /backup/nginx-cache/ levels=1:2 keys_zone=one:1024M
>> inactive=28d max_size=250G;
>>
>> В среднем 1к файликов на директорию,  fs - ext3, noatime, data=ordered.
>> Отдельный SATA диск под все это безобразие.
>>
>> Проблемы появляются в 2х случаях:
>>
>>    1. рестарт nginx;
>>    2. увеличение нагрузки.
>>
>> В 1 случае стартует nginx cache loader, который обходит весь кэш за 
>> сутки.
>> CPU iowait в это время неприлично скачет. Можно ли безболезненно 
>> отключить
>> cache loader?
>
> Без loader'а nginx как минимум не сможет следить за размером кеша.
>
>> 2й случай гораздо интереснее. При постоянном рандомном обращении в 30
>> запросов в секунду, load avg на сервере с 0.2 увеличивается до 7, само 
>> время
>
> Если мне не изменяет мой cклероз, на линуксе load avg включает
> процессы ждущие диска.  Вероятнее всего вы просто упёрлись в
> диски.  Решение - тюнить дисковую подсистему, добавлять дисков, ну
> или просто перелезать на SSD.
>
> В случае большого количества worker'ов это также может быть lock
> contention (симптом - воркеры жрут 100% CPU, видно в top'е,
> наблюдалось если мне не изменяет память на 30 или около того).
> Лечить уменьшением количества воркеров до разумного.
>
>> ответа скачет до 10сек. Пробовали перевести на SATA RAID 1, load avg стал
>> прыгать до 35(!).
>
> Не все raid'ы одинаково полезны.
>
> Maxim Dounin
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
> 


__________ хМТНПЛЮЖХЪ НР ESET NOD32 Antivirus, БЕПЯХЪ АЮГШ ДЮММШУ ЯХЦМЮРСП БХПСЯНБ 4075 (20090514) __________

яННАЫЕМХЕ ОПНБЕПЕМН ОПНЦПЮЛЛНИ ESET NOD32 Antivirus.

http://www.esetnod32.ru






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