2012-05-12 34 views
1

我注意到我在Heroku上的網站主頁的css/js下載,多花費了大約一秒半的時間。我很好奇,如果你們中的一些人有相同的經歷,或者我應該期待更快的迴應。如何加快Heroku上的rails-3.2.3資產管道

http://gitwatcher.com/assets/application-61efaf20532302f93b6c79d976861884.css

GET application-61efaf...6c79d976861884.css 200 OK gitwatcher.com 19.4 KB 75.101.163.44:80 
476ms 

http://gitwatcher.com/assets/application-66c036d6d06705744603507b085afdf4.js

GET application-66c036...603507b085afdf4.js 200 OK gitwatcher.com 62.7 KB 75.101.163.44:80 
1.24s 

也是DNS性反應似乎相當低,約1.08s。

請您分享一下您的經驗或建議嗎?

+1

如何使用CDN? – apneadiving

+0

您是否檢查過以確保您正在預編譯您的資產?請參閱http://stackoverflow.com/questions/7278029/rails-3-1-asset-precompilation –

+0

@Kevin Bedell只是實際上js:config.assets.precompile + =%w(jquery.dataTables.min.js DT_bootstrap.js ) –

回答

0

我也跟着 「Using a CDN Asset Host with Rails 3.1」 的建議,但事情會更壞現在:

CSS供應慢〜3.5倍,那麼前:

GET https://gitwatcher-assets.s3.amazonaws.com/assets/application-82e153501de8c4032d1565a3e8adffc1.css 

200 OK 
    , 
gitwatcher-assets.s3.amazonaws.com 

166.2 KB 

178.236.4.193:443 


1.62s 

而JS需要1.7S VS 1.25:

https://gitwatcher-assets.s3.amazonaws.com/assets/application-66c036d6d06705744603507b085afdf4.js 

200 OK 

gitwatcher-assets.s3.amazonaws.com 

198.6 KB 

178.236.4.193:443 


1.7s 

更糟糕的是,現在所有的png圖像都是從S3下載的,每張1.5s的媒體(當然或多或少都是並行的),總共花費4秒他的主頁(壞),與之前差不多,但現在DNS開銷較低(〜1/3)。比我猜想通過S3服務的靜態資產比直接由heroku服務的速度要慢....!?!

我會離開它,直到我有更多的分析,但我想知道是否有人能夠以這種方式分享他的靜態資產服務體驗和性能數據。

這裏的所有措施都是通過FireBug客戶端(firefox:93.34.152.23)進行的,並且存儲桶位於愛爾蘭。

+1

我學會了不使用歐盟存儲桶,但通過CloudFront分配美國的一個內容。 – kain

+0

謝謝我會試試... –

3

使用asset_sync gem在部署時將資源推送到S3。理想情況下,您不希望Heroku中的流程服務於資產,讓他們處理Ruby - 在S3和/或Cloudfront或類似服務器上擁有所有靜態資產。

+0

謝謝,直到現在我會嘗試......,儘快possibe看到我的反饋... –

+0

請看我的帖子(作爲新答案) –