2011-03-24 35 views
1

我知道這兩個技巧加速頁面加載時間最長的部分:技巧,以加快頁面加載時間在PHP

@ini_set('zlib.output_compression', 1); 

其打開壓縮

ob_implicit_flush(true); 

其中隱含刷新輸出緩衝區,即一旦輸出任何內容,它立即發送到用戶的瀏覽器。這個有點棘手,因爲它只是產生一個錯覺,即頁面加載速度很快,而實際上它需要相同的時間,數據只是顯示得更快。

還有什麼其他的PHP技巧,讓你的網頁加載(或似乎加載)更快?

+0

的底部確保您的主機服務器是一個快速的機器,大量的的記憶,在一個非常好的,良好的對話連接。 – Orbling 2011-03-24 00:46:10

回答

2

最好的方法是確保您的腳本不會創建/銷燬不必要的變量,並儘可能提高效率。之後,您可以查看緩存服務,以便服務器不必重新分析頁面的特定部分。

如果所有這些都不能讓它達到您需要的速度,您甚至可以「編譯」php代碼。 Facebook這樣做是爲了支持更快的加載時間。他們創建了一個名爲「HipHop for PHP」的東西,你可以在以下網址閱讀:https://developers.facebook.com/blog/post/358/

還有其他的PHP編譯器可以用來提供幫助。

如果所有這些都失敗了,那麼我建議你用其他語言重新編碼網站,或者找出爲什麼它花費這麼長時間(更具體地說,是什麼導致它花費這麼長時間)並且改變那部分網站。

+0

在PHP中創建/銷燬變量本質上是一個零成本事件。執行'$ useless_var = 1'需要很少的時間,你必須做一個Facebook大小的操作才能看到任何區別。現在,實例化一個複雜的對象,或者做一個無用的數據庫連接...這就是你可以獲得一些收益的地方。 – 2011-03-24 00:52:31

+0

我顯然不是在說「$ useless_var = 1」。創建存儲PHP對象的變量(這些變量本身效率很低),或者存儲一百萬個數組的變量,這正是我所說的。不是簡單的變量。 – Chris 2011-03-24 00:54:19

+0

我不知道,我有快速的服務器和每頁加載1-5ms,但一個,甚至加載100-300ms!此頁面使用10個文件加載,但事實並非如此,因爲其他頁面使用5,並且它仍然運行得很快。奇怪的是 - 這是我網站上使用SQL的唯一頁面。任何人都可以向我解釋,我可能做錯了什麼? – Soaku 2017-04-26 16:50:12

5

定義一個真正的瓶頸總是會更好,然後嘗試避免它。

遵循任何可以讓事情更快而不理解您是否有問題的技巧的方法是總是錯誤的方式

+0

腳本中沒有「瓶頸」。加速一些有用的東西是不對的? – Cyclone 2011-03-24 00:44:31

+0

@Cyclone:您的腳本是否滿足加載速度,資源使用等要求? – zerkms 2011-03-24 00:47:31

+0

它加載速度很快,我正在尋找更快加載的方法。它在邏輯上得到了優化,但沒有理由不能更快一點。我發佈的這兩個例子加快了速度,當然還有其他一些技巧? – Cyclone 2011-03-24 00:49:42

0

加速PHP頁面加載的最佳技巧之一是使用盡可能少的PHP,即使用PHP緩存/加速器(如Zend或APC),或者儘可能使用緩存。不需要再次分析的PHP速度更快,而根本不運行的PHP仍然更快。

對於數據庫也是如此(可能更是如此)。儘量少用查詢。如果您可以將兩個查詢合併爲一個,則可以節省一次往返行程。

1

有一些可以加快您的網站(代碼custmoization)

1)如果你通過數組循環,例如,COUNT()這一點,事前,該值存儲在一個變量,並使用該爲你的測試。這樣,您可以避免在每次循環迭代時不必要地觸發測試函數。

2)使用建立在功能上,而不是自定義函數

3)把JavaScript函數和文件在文件

4)使用緩存

相關問題