如何加快網站的顯示速度

如何加快網站的顯示速度

我們在專用伺服器上有一個網站。以下是伺服器設定:

  • 正版英特爾、英特爾 (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

Varnish 可能是適合您的解決方案。但是,您也可以繼續處理其他一些事情。

嘗試使用以下任一方法:

  1. APC
  2. 記憶體快取

這些解決方案將加快 Apache 進程的支援存取速度並消除頁面的資料庫存取開銷。

然而,我仍然建議您發布一個關於您在實施清漆時遇到的問題的問題,這些問題可能會得到解決,因為清漆通常對大多數人來說都很有效。

答案2

電子商務應用程式的供應商可以給出最好的答案。

從表面上看,它似乎需要 HTTP 回應上的某種快取控制標頭 - “Expires”標頭或“Etag”。但是,您不一定希望在各處添加這些內容,否則您可能會破壞用戶確實需要新視圖而不是訪問快取的某些內容。

實際上,電子商務應用程式沒有立即調整這些標頭(知道快取何時「過時」是應用程式最了解的事情),這是一種犯罪行為。我會尋找一個不同的。

此外,從單一請求所需的時間來看,該應用程式似乎並未適合您對其施加的類別和產品的數量。他們可能會執行一些涉及「表格掃描」(大量磁碟 I/O)的 SQL 查詢,或一些涉及資料庫記憶體中非常大的工作集的複雜查詢(例如,對 300,000 條記錄進行排序)。 MySQL 資料庫中的索引有時可以幫助解決這些問題,但如果應用程式的安裝過程添加了這些索引,效果會更好,因為首先需要知道應用程式可能會發出哪些查詢,然後才能針對這些查詢最佳化資料庫。另一個跡象表明您使用的電子商務應用程式不適合這項工作。

相關內容