簡體   English   中英

如何提高 GCP 數據存儲區查詢性能?

[英]How do I improve my GCP datastore query performance?

我在 Google 數據存儲中有數據。 我正在開發的東西向我的 node.js 后端發出兩個 http 請求。 他們都需要比我想要的更長的時間。 我只專注於嘗試改善其中一個的響應時間(最重的請求)。 我修改了后端的 node.js 代碼來計算 GCP 數據存儲查詢的持續時間。 我已經編譯了 40 次數據庫調用的數據。 如果你願意,我可以編譯更多。 我將所有數據放入 excel 電子表格中,但我還創建了其中包含的信息的圖像,以包含在此 stackoverflow 帖子中。 它在下面進一步包含。

根據 chrome 調試器,來自數據庫的有效負載大小僅為: 1.5 KB

數據存儲調用每 3 分鍾進行一次。

這是進行數據存儲調用的 function:

async function listReviews(brand, sku, res) {

  const kind = 'ScoredReviewFragment'

  const query = datastore.createQuery(brand, kind)

  if (brand != 'demo')
    query.filter('sku', sku)

  const [reviews] = await datastore.runQuery(query)

  res.setHeader('Access-Control-Allow-Origin', '*')
  res.json(reviews)
}

就個人而言,我希望數據存儲調用所需的最高總時間低於 100 毫秒。 就平均數據庫調用時間而言,我希望它是 50 毫秒或更低。 谷歌數據存儲可以做到這一點嗎? 我希望太多了嗎?

在 google chrome 調試器內部,我查看了這兩個查詢。 > 98% 或幾乎 90%,取決於您如何衡量,從瀏覽器的角度來看,等待服務器響應所花費的時間。 下載時間幾乎沒有。 請參閱包含的懸停工具提示,了解有關特定數據庫調用的 chrome 調試器信息。

GCP Datastore 調用的 Chrome 調試器工具提示

我在 excel 電子表格中編譯的數據顯示如下:

excel電子表格數據

如果需要更多信息來調試此問題,請告訴我,我很樂意提供。 幫助我理解:如何提高 GCP 數據存儲區查詢響應時間? 還是有更好的方法來正確調試數據存儲查詢?

您可以使用此處列出的最佳實踐作為快速參考,因為僅鍵1查詢可能是訪問查詢結果和減少延遲的最快方式。 但是,您可以根據需要將其他一些不錯的選項應用於您的系統。 您仍然可以使用 'projection query' 2或將偏移量替換為 'cursor' 3 ,您可以在以下文檔4中找到更詳細的查詢類型。

其他可以幫助您提高應用程序效率的最佳實踐5 ,例如使用批處理操作執行多個 Cloud Datastore 調用6

確保為您的數據庫位置使用正確的區域。 要正確定位延遲,您需要跟蹤請求並測量服務器內部的延遲。

此外,如果這是關鍵任務,還有其他數據庫可以提供更好的延遲,例如 MemoryStore 和 BigTable。 這些是具有不同性質的不同產品。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM