2009-11-21 62 views
2

我在共享主機上運行一個數據庫支持的網站,偶爾會在鏈接共享網站上提及後收集。基於磁盤的數據庫緩存:缺點?

由於第一對流量激增到數據庫的負載有多大,我實現了基於文件的緩存。

當查詢運行時,我只是序列化resultset對象並將其保存到文件中。我在緩存目錄中有一個子目錄結構,可以讓數千個文件保存在同一個目錄中。下一次,我必須運行相同的查詢,我只是將對象從文件中取出。

到目前爲止它一直工作得很好。但我擔心我忽略了一些事情,並且如果交通流量比以前更高,可能會出現問題。或者,也許有一個更簡單的方法來做到這一點?

請給我戳一些洞?謝謝!

回答

2

理想情況下。在內存中緩存以刪除磁盤訪問。看看像memcached

+0

可悲的是,我不能運行該主機上的memcached。我意識到這將是更可取的。 – 2009-11-21 12:03:04

+2

您將遇到的問題是您可能會通過緩存到文件來減少實際的數據庫負載,但是您並未最小化磁盤訪問,這是一個對性能很重要的領域。 – AdaTheDev 2009-11-21 12:28:14

0

由於你在共享主機,你應該做一些限制(谷歌「節流您的web服務器(10月00)」的想法)。

一個相關的有趣的閱讀(其中也提到了巨石陣::油門)是 建設一個大型的電子商務網站使用Apache和mod_perl的 http://perl.apache.org/docs/tutorials/apps/scale_etoys/etoys.html

+0

我並不真正在意帶寬使用情況,因爲這個網站全是文本。我只是希望它保持響應。 – 2009-11-21 12:04:16