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
|