2012-02-06 35 views
0

正如我們所知,內存比磁盤快。將小文件存儲在memcache中使性能更好?

所以我不知道我是否可以將經常請求的文件(如js/css/icons)存儲到memcache中,並編寫一個腳本(如php),以便從memcache到瀏覽器,而不是服務器軟件從磁盤讀取的正常方式。

我知道這將使額外的花費執行php。但是與磁盤I/O的速度慢相比,哪個更好。

+1

根據您的系統配置,您的操作系統很可能被預先配置在內存中保留這種頻繁請求的文件,所以使用磁盤I/O實用程序來檢查第一:) – Daan 2012-02-06 07:58:20

回答

2

會有絕對在做這個沒有意義的。

首先,您的操作系統的文件系統緩存已經足夠好,並且會緩存真正被頻繁訪問的文件

接下來,方法將真正使您的網站更慢,更多的帶寬食。當你要自己提供這些文件時,你的web服務器通常只會發送一個HTTP頭文件而不是文件體。

而且,你會吃了一些PHP的工人這是真正的高負荷服務器珍貴和有限的資源。

最後,不成熟的優化是萬惡之源。

如果你希望你的文件送達真快,將其移動到某種CDN的。

+1

指甲。頭。 +1。 – cmbuckley 2012-02-06 08:20:19

+2

這是我一段時間聽到的最愚蠢的事情。你的觀點都是有效的......但你平坦的斷言是完全錯誤的。幾乎任何問題的答案都是「取決於」。這個問題的簡短答案是「Memcached」(或PHP緩存,或任何數量的其他選擇)至少值得考慮。「恕我直言...... – paulsm4 2012-02-06 18:15:28

+0

感謝您的關注。我已經認爲memcache,並發現它無用這個案例。 – 2012-02-06 18:28:37

1

使用與經常訪問的文件(PHP源,包括,圖像文件,等等等等)的memcached完全可以提高性能。

兩個注意事項:

  • 你有足夠的流量,這是值得的?

  • 執行文件,你打算永遠緩存改變(或經常變化)?

但總的來說:當然。去吧!

這裏有一些很好的鏈接:

相關問題