ページを変更するたびに、Rails アプリケーションの application.css & .js & fonts ファイルが常に再ダウンロードされることに気付きました。これにより、サーバーにかなりの負荷がかかり、読み込み時間が遅くなります。
キャッシングを最適化する方法、できれば私が従うことができるベストプラクティスについて、ここで誰でも私に勧めることができますか?率直に言って、私は展開の最適化の経験があまりないからです。
ps: http://guides.rubyonrails.org/caching_with_rails.htmlのいくつかのヒントを既に読んで実行しましたが、アセットはまだ再ダウンロードされます..
編集:私のnginx構成
upstream example_com {
server unix:/tmp/example_com.todo.sock fail_timeout=0;
}
server {
listen 80;
server_name example.com;
root /var/www/example.com/current/public;
try_files $uri/index.html $uri @example_com;
location @example_com {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://example_com;
}
location ~ ^/assets/ {
expires 1y;
add_header Cache-Control public;
add_header ETag "";
break;
}
client_max_body_size 4G;
keepalive_timeout 5;
error_page 500 502 503 504 /500.html;
access_log /var/www/example_com/shared/log/access.log main;
error_log /var/www/example_com/shared/log/error.log info;
}
キャッシュ ヘッダー、firebug から取得:
Response Headers From Cache
Cache-Control max-age=31536000, public
Content-Encoding gzip
Content-Type application/x-javascript
Date Wed, 04 Jul 2012 09:45:51 GMT
Expires Thu, 04 Jul 2013 09:45:51 GMT
Last-Modified Wed, 04 Jul 2012 05:52:38 GMT
Server nginx/1.2.1
Vary Accept-Encoding