2011-02-24 36 views
0

我在測試服務器上運行Magento電子商務安裝(運行於PHP/MySQL上)。我有一個相當大的(從我讀過的)query_cache_size的272,629,760字節,它的工作很好。如何保存並重新加載MySQL查詢緩存以保持網站以最快速度運行

一旦大部分查詢加載到查詢緩存中,網站就會快速運行,與最快速的生產站點(Google.com或Amazon.com除外)一樣快。但我遇到的問題是,爲了將所有這些查詢加載到查詢緩存中,我必須手動點擊網站上100個鏈接。每次單擊鏈接時,都會將查詢發送到數據庫並保存在緩存中。但是,如果我重新啓動服務器,那麼我必須重新做一遍。一定會有更好的辦法!

理想情況下,我認爲應該有一種方法在重新啓動之前「備份」查詢緩存並在重新啓動時加載它。這可能嗎?

否則,我只需要設計一個自動點擊我所有鏈接的網絡爬蟲。

+0

謝謝Jonathan和philwinkle的意見/建議。我需要一些時間來完成一些實驗,然後我會發布更新。再次感謝你!我根本找不到Google搜索中的任何內容。 – 2011-03-01 08:41:28

回答

1

除了MySQL的查詢緩存,你還應該使用APC(Alternative PHP Cache),以及可能的一些Magento內置的整頁緩存機制。

這可以減輕您對MySQL的一些往返次數,減少您對準備好的MySQL緩存的需求。您可以手動「填充」Magento數據庫的緩存,但這隱藏了真正的問題,這是爲了避免進入MySQL - 特別是在Magento內部。

對於它的價值 - 你是我見過的第一個將Magento的速度與谷歌和雅虎的速度進行比較的人。 :)

0

這個問題可能是更適合於serverfault,但它很有趣,所以這裏去:)

Magento的大多采用InnoDB表,所以考慮到這一點,當你閱讀thisthis

我也會根據@ philwinkle的建議推薦APC,這對我的表現產生了巨大的影響。同上使用CDN卸載服務小文件的負載(img/js/css)

相關問題