2013-02-27 76 views
1

我有一個簡單的PHP頁面,要求從MySQL數據庫中獲取地址列表。數據庫表有1257個條目。我還包括一個動態加載的側面菜單瀏覽到其他網站。 總之我有5個MySQL請求優化php的加載時間頁面

  1. 的地址
  2. 分頁
  3. 檢查whee用戶已經獲准瀏覽
  4. 得到所有組的側面菜單
  5. 獲取側的所有子項菜單

該網站大約需要5秒加載。

爲了改善網站加載時間並發現Google開發者工具的頁面加速度,它告訴我所有的改進都喜歡啓用deflate,更改橫幅尺寸等,但它仍然接近相同的加載時間。我想知道這是否常見,或者是否有任何可以改善加載時間的方法。

編輯:我也索引列和啓用MySQL緩存。我也用的子項表的外鍵這是從菜單組表

EDIT2:我發現這個問題是,我使用本地主機連接到我的分貝,但因爲使用它試圖Windows 7的IM解決方案通過ipv6連接現在我將所有本地主機更改爲127.0.0.1,它只需要大約126ms來加載我的頁面

+0

我認爲1257非常小的查詢將只需要幾毫秒。可能是您正在加載圖像並引用某些其他網站的資源可能需要時間。或者您可能使用的服務器很差 – 2013-02-27 10:54:44

+0

我在本地計算機上使用了xampp它有8GB RAM,SSD和3GHz Quadcore CPU。 所以,因爲服務器是基本本地主機我應該有加載的東西問題查詢需要約0.02秒每個如果我在phpmyadmin中執行它們,那正是我爲什麼如此困惑。 – Chaos 2013-02-27 10:57:42

+1

我建議你在腳本中的各個點上記錄時間(使用microtime(true)來獲得時間),然後將它們放在腳本的末尾以嘗試查找代碼的哪一部分花費時間。你可以在這些領域進行更多的時間檢查,以便更好地確定它。還可以在phpmyadmin中單獨嘗試你的SQL查詢,或者用EXPLAIN等同檢查索引是否真的被使用。 – Kickstart 2013-02-28 09:31:17

回答

0

您是否已完成索引使用where條件的列。如果不是pl索引列並檢查它

+0

sry完全forgott提及,是colums索引 – Chaos 2013-02-27 10:34:27

+0

1)如果頁面有更多的圖像使小精靈2)添加頁面的所有js文件的底部3)檢查apache keepalive是ON – kapil 2013-02-27 10:38:38

+0

只有1張圖像(橫幅),保持活動狀態,js文件位於底部 – Chaos 2013-02-27 10:46:55

1

首先,瞭解瀏覽器的控制檯需要長時間載入的頁面。如果延遲的原因在服務器端,例如該html文件本身正在生成很長一段時間,然後檢查以下內容:

嘗試記錄緩慢的mysql查詢,並確保您沒有。 http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

如果你真的有一些昂貴的計算正在進行(這可能不是你的情況),試着緩存它。

不要忘記PHP代碼加速器的優點,如APC和mysql優化(查詢緩存等)。

...許多其他方式來加快速度,但得到應用程序本身的配置文件,看看發生了什麼。