2017-08-23 11 views
2

我做了一個實驗,在Google雲平臺上安裝了相同的應用程序,使用相同的數據庫,並在兩個不同的位置使用相同的存儲桶(圖像):us-central和europe-west。但是,加載時間是非常不同的。我在西班牙,而令人驚訝的是,美國中心的人快得多。爲什麼歐洲西部比我們慢得多 - 在Google雲端平臺的AppEngine上居中?

應用信息:

  • 地區:美國中央VS歐洲西北部
  • PHP 5.5

SQL(兩者相同):

  • MySQL的第一代主人
  • MySQL 5.6
  • 層:D1
  • 激活策略:按需
  • 首選地點:遵循應用

存儲(谷歌桶):

  • 默認存儲類:多區域
  • 位置:歐盟(歐洲西部)和美國(美國中部)

周加載時間(經過一番刷新緩存目的):

在歐洲西部的一個速度如此之慢這是不實際的。爲什麼這個區別?或者我在這裏配置錯了什麼?在配置上還有什麼我應該留意的,讓歐洲西部跑得像我們一樣快 - 中部?

+1

這聽起來非常像一個問題,您應該詢問Google支持,而不是Stack Overflow。 –

回答

1

好的,所以與Google支持部門交流時,我發現確實存在負載差異,但這不是由於服務器速度較慢所致。

不同之處在於調用CloudStorageTools API,即CloudStorageTools.getImageServingUrl()。從歐洲訪問API比每次通話的美國服務器慢100ms〜200ms。由於我平均打了15個電話,這導致每頁加載時間明顯不同。

在我的情況下,解決方案是在圖像創建時緩存對CloudStorageTools.getImageServingUrl()的調用並將結果保存到數據庫中。然後在顯示圖像時,只需從數據庫加載Url,並避免每次調用API。

谷歌支持確認了歐洲和美國之間CloudStorageTools API訪問時間差異的預期行爲,儘管沒有記錄。