我正在運行一個php/mysql驅動的網站,訪問量很大,我正在考慮在共享內存中緩存結果集的可能性,以減少數據庫負載。
但是,現在MySQL的查詢緩存已啓用,它似乎做得非常好,因爲如果禁用查詢緩存,則CPU的使用將立即跳轉到100%。
鑑於這種情況,我不知道在PHP中共享內存中本地緩存結果集(甚至是生成的HTML代碼)是否會帶來顯着的性能提升。MySQL查詢緩存vs應用程序層中的緩存結果集
有沒有人在這方面有過任何經驗? PS:請避免建議像memcached這樣的重炮解決方案。現在我正在尋找簡單的解決方案,不需要太多時間來實施,部署和維護。
編輯:
我看到我對memcached的評論偏離實際點,這是在應用層的緩存數據庫查詢是否會導致明顯的服務表現影響,考慮到這些查詢的結果都已經是答案緩存在數據庫級別。
您的數據使用情況如何?大部分讀取和寫入很少,還是有很多寫入活動? – 2010-05-25 17:41:50
CPU使用率達到100%是可疑的。大多數數據庫最終都會綁定IO,而不是綁定CPU。 – 2010-05-25 18:05:44
有很多寫操作,但我設法安排表格,以便大多數查詢表格的修改次數減少。這就是爲什麼MySQL的查詢緩存工作得很好。 – GetFree 2010-05-25 18:07:41