ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Статика и кеширование



On 19.06.2011 16:07, ssbury wrote:

Всем доброго дня.
Возникло пару вопросов по поводу
кеширования статики. Есть локейшен
который имеет вид:
         location ~*
^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|html|flv)$
{
                 root /srv/Web.domain.ru/;
                 expires 14d;
         }

если я установлю на него кеширование,
изменив локейшен следующим образом:
         location ~*
^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|html|flv)$
{
                 root /srv/Web/www.womenworld.com.ua/;

                 proxy_pass http://127.0.0.1:80;
                 proxy_redirect off;
                 proxy_cache media;
                 proxy_cache_key $my_cache_key;

                 proxy_cache_valid  200 302 304 30d;
                 proxy_cache_valid  301 1h;
                 proxy_cache_valid  any 1m;
                 proxy_cache_use_stale error timeout invalid_header
http_500 http_502 http_503 http_504 http_404;

                 expires 30d;
         }

Он будет работать быстрее за счет того
что ему не надо рыться в каталогах
всего сайта, или я ошибаюсь?

это зависит от количества файлов в одном подкаталоге
внутри /srv/Web/www.womenworld.com.ua/ - если их там
тысячи, десятки и сотни тысяч, то возможно кеширование
статики в локальный каталог proxy_cache на том же винту
и даст некоторое повышение производительности.

но для оптимизации поиска файлов в файловой системе
можно использовать и директиву open_file_cache.

кроме того, у файловой системы ext3
есть feature dir_index, которая позволяет
ускорить поиск файла по имени внутри каталога.

обычно только часто используемую статику
кешируют на более быстрый SCSI или NAND диск,
на frontend`e? при этом на backend`е стоит тоже nginx,
который эту статику отдает первому nginx`у
с более медленного сервера/хранилища с SATA-винтами.

в любом случае, точный ответ - будет ли быстрее,
или нет, и если будет быстрее, то насколько -
может дать только эксперимент на том сервере.

И второе, Сейчас это все стоит на fs ext3. В
будущем это исправим за счет
дополнительного раздела с боле "легкой"
fs. Достаточно будет потом на этот новый
раздел указать, типа:

     proxy_cache_path /var/lib/nginx/tmp/proxy_media levels=1:2
keys_zone=media:100m max_size=1024m inactive=5d;
     proxy_temp_path /var/lib/nginx/tmp/proxy_tmp 1 2;

или необходимо определить какие-то
дополнительные пути для корректного
кеширования на разных fs сайта и кеша.

лучше добавить дополнительный винт,
и сделать "зеркало" раздела со статикой
средствами mdraid или средствами nginx
на эти два винта, и раздавать статику
клиентам одновременно с двух винтов.

Сам сайт понятно останется на ext3.

вроде бы ext4 по всем параметрам лучше.
и уже достаточно давно достигла уровня stable.
кроме того, для такой задачи (раздача статики)
еще лучше может подойти файловая система XFS.

--
Best regards,
 Gena


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.