2014-12-23 97 views
1

將內存中的圖像(例如)保存在內存中,而不是使用靜態資源提供服務是否值得我去做?Express JS:提供內存不足與服務靜態文件

頻繁請求的靜態資產會保留在內存中嗎?

任何人都可以給我一個性能影響的感覺?

+1

我已經完成了快速基準測試,結果如下:對於685KB的映像,從高速緩存提供服務器時的平均服務器響應時間爲1-2毫秒,SSD服務器的服務器響應時間爲10-15毫秒。那大約。爲1000張圖像提供650MB內存。考慮到SSD和內存存儲之間的價格差異,這是不值得的。花費在CDN上的時間和金錢會更好。 – Gajus

回答

2

除非您以每秒數千人的速度服務用戶,否則我懷疑它會產生如此大的影響,因爲無論如何,瓶頸必定會造成網絡延遲和傳輸時間。

無論如何,您應該利用客戶端緩存來確保每次都不需要從服務器請求映像。

默認情況下,經常請求的圖像不會保存在內存中,據我所知,您需要編寫自己的應用程序級代碼來執行此操作。

我可以給你的最好的建議是嘗試兩種,看看你的工作。您的條件和環境對您而言是獨一無二的,沒有任何基準測試可以準確地表示是否值得使用額外的內存。

+0

服務器CPU時間如何?可能忽略不計的差異? –