簡體   English   中英

GCLOUD SQL 性能提升

[英]GCLOUD SQL Performance improvement

我在谷歌雲 SQL 上進行了以下配置。 我的查詢速度不夠快。 它比我在本地機器上運行要慢得多。

我們正在使用InnoDB引擎。 我們有超過 50k~ 條記錄的用戶表。 如果我們做簡單的更新查詢來更新單行。

UPDATE User SET notificationToken="string token" WHERE id = "String ID";

這里 id 列是 varchar,我們分配了索引主鍵 + 唯一鍵。 上面的查詢需要 1 秒以上的時間來更新記錄。 如果我在本地機器上嘗試相同的查詢,它需要 0.0200 毫秒。 雲 sql 中的寫入操作似乎太慢了。

有關以下配置的任何指導或需要為 InnoDB 配置數據庫標志?

雲 SQL 配置:

機器的種類:

  • db-n1-標准-2
  • vCPU:2
  • Memory:7.5 GB

網絡吞吐量 (MB/s):500 of 2,000 存儲類型:SSD 存儲容量:10GB

磁盤吞吐量:

  • 讀取:4.8 最大值:240.0
  • 寫入:4.8 最大值:144.0

IOPS:

  • 讀取:300 最大:15,000
  • 寫入:300 最大:9,000

數據庫標志:

  • slow_query_log='開'
  • long_query_time = '1'
  • query_cache_size='223338299392'
  • query_cache_limit='223338299392'
  • 存儲程序緩存=524288
  • sql_mode='ERROR_FOR_DIVISION_BY_ZERO'
  • log_bin_trust_function_creators='on'
  • innodb_write_io_threads=20
  • innodb_read_io_threads='8'

通常,由於需要考慮很多事情,因此很難給出關於性能調整的建議。 (其中一些只有您自己知道)。 但是您可以考慮以下幾點:

  • 刪除索引

如果不使用索引是個好主意。 但是,如果刪除它們會使其他並行工作負載切換到順序掃描,那將是一個非常糟糕的主意。

刪除索引將影響對現有數據的查詢。 此外,索引的重新創建在未來也需要時間。

  • 增加 memory 或更改為更大的機器類型。

此選項可能有幫助,也可能沒有幫助 - 如果它增加不受限制的網絡和磁盤速度,它肯定會有所幫助。

要診斷查詢性能,建議啟用查詢日志記錄。 Cloud SQL 日志(與所有 Google Cloud 服務一樣)會發送到 Stackdriver Logging,並且可以通過 API 進行檢索。 要在 Cloud SQL 中啟用數據庫日志記錄,請按照以下步驟操作。 例如,要在其 Cloud SQL 實例上啟用慢查詢日志記錄(將 slow_query_log 標志設置為“開”)並啟用 Stackdriver 日志記錄(將 log_output 標志設置為“文件”)。

您還可以啟用性能模式數據庫標志。 可以通過 API 為更大的實例(db-n1-standard-8、db-n1-highmem-4 和更大)啟用 performance_schema 標志。

與其他數據庫標志一樣,performance_schema 標志可以在 settings.databaseFlags 數組(參考)中設置。 這是一個關於如何使用 curl 在現有實例上設置它的示例。

curl --header "Authorization: Bearer $(gcloud auth print-access-token)" \
  --header "Content-Type: application/json" \
    --data '{
      "settings": {
        "databaseFlags": [
          {
            "name": "performance_schema",
            "value": "on"
          }
        ]
      }
}' -X PATCH https://www.googleapis.com/sql/v1beta4/projects/[PROJECT_NAME]/instances/myinstance

暫無
暫無

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

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