Re: Статика и кеширование
Gena Makhomed
gmm на csdoc.com
Вс Июн 19 20:38:42 MSD 2011
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