
我們在專用伺服器上有一個網站。以下是伺服器設定:
- 正版英特爾、英特爾 (R) 酷睿 (TM) i5-2400[電子郵件受保護]
- 版本 Plesk v10.3.0_build1012110629.18 os_Ubuntu 10.04
- 作業系統 Linux 2.6.38.2-xxxx-std-ipv6-64
- 記憶體總計 16Gb
本網站(http://www.bobcat.pro)是一個由18000個類別和300000種產品組成的電子商務網站。全部運行在 PHP5 / MySQL 上。
瀏覽時可以看到,頁面的顯示時間為 5 秒(或更長),太長了。我正在尋找一種與我們伺服器的安裝相容的減少顯示的方法。
我曾經使用過varnish,但是我在體驗上遇到了太多問題,無法重試。你有什麼建議嗎? apache 2 的 page_speed google 模組是個好的解決方案嗎?
答案1
答案2
電子商務應用程式的供應商可以給出最好的答案。
從表面上看,它似乎需要 HTTP 回應上的某種快取控制標頭 - “Expires”標頭或“Etag”。但是,您不一定希望在各處添加這些內容,否則您可能會破壞用戶確實需要新視圖而不是訪問快取的某些內容。
實際上,電子商務應用程式沒有立即調整這些標頭(知道快取何時「過時」是應用程式最了解的事情),這是一種犯罪行為。我會尋找一個不同的。
此外,從單一請求所需的時間來看,該應用程式似乎並未適合您對其施加的類別和產品的數量。他們可能會執行一些涉及「表格掃描」(大量磁碟 I/O)的 SQL 查詢,或一些涉及資料庫記憶體中非常大的工作集的複雜查詢(例如,對 300,000 條記錄進行排序)。 MySQL 資料庫中的索引有時可以幫助解決這些問題,但如果應用程式的安裝過程添加了這些索引,效果會更好,因為首先需要知道應用程式可能會發出哪些查詢,然後才能針對這些查詢最佳化資料庫。另一個跡象表明您使用的電子商務應用程式不適合這項工作。