2016-04-26 137 views
0

我有一個php,Mysql,Apache網站。在本地測試時,哪種性能的頁面加載速度在20ms到40ms的範圍內速度非常快。共享主機上的TTFB非常高

但是,當我在共享主機服務器上託管此設置並將所有配置和設置配置爲儘可能靠近本地主機時,我看到的網站相對較慢。

由於共享主機服務器位於同一城市,並且對ipaddress的普通ping驗證結果爲3ms,網絡延遲僅爲3ms。

該網站需要在150毫秒到4秒之間的任何地方加載。 90%的時間在400毫秒左右。很少需要2秒和4秒來加載頁面。

檢查時間線。我看到非常高的TTFB。最少150毫秒,有時甚至1.6秒。我還注意到,每當發生這種情況時,所有資源(如font.woff文件etccf)的ttfb也非常高。

這裏有什麼可能的原因。這聽起來像共享託管服務器上的糟糕表現,我應該去一個基於雲的服務器?

回答

0

原因很簡單。 Localhost的延遲很低,因爲它只是「本地」的。

您不會在共享託管服務器上獲得同樣的性能,因爲您沒有爲每個用戶提供相同類型的延遲。例如,如果您的客戶從亞洲訪問,而您的託管發生在美國,您肯定會得到高延遲。但恰恰相反,如果您在亞洲託管亞洲客戶,並在美國託管美國客戶,您將獲得更好的響應時間。

另一種可能性是通過CDN提供靜態資產。 CDN將對您的資產進行地理複製,並從最接近的複製資產中管理爲客戶提供服務。

另一個原因可能是您的數據訪問模式。如果您的網絡服務器正在訪問不在您的應用程序附近的數據庫服務(我的意思是同一個本地網絡),並且必須通過公共DNS路由,這肯定會造成非常高的延遲並且是一個糟糕的體系結構一般模式。

基於雲計算的服務器提供了兩種主要的好處這方面:

  1. 你得到一個非常低延時本地網絡中,你可以產卵機在網絡上的10Gbps連接會(內部等待時間大幅改善!)。

  2. 你得到地域複製(注意!不是開箱即用,你需要設計你的架構,可擴展,然後使用您的雲服務提供商所提供的CDN和地域複製服務)