簡體   English   中英

php codeigneiter中的雲sql(代理)非常慢

[英]cloud sql(proxy) very slow in php codeigneiter

我有一個 mysql 連接,使用來自 Googlle 雲平台的 clud sql,我在我的 php(codeigneiter) 應用程序中使用它,我通過雲 sql 代理連接。 此實例具有以下資源:4 個 vcpu 和 16 個 RAM。

我遇到的問題是進行查詢速度測試我注意到它很慢,我將它與具有相同資源和本地 mysql 的機器進行比較,並且速度更高。

mysql 代理 sql:11 秒

mysql local : 1.5 秒你可以看到,問題是 sql 代理。

這是我正在做的測試代碼

使用www.DeepL.com/Translator翻譯(免費版)

public function testSQL()
    {
        $time_start = microtime(true);
        for ($i=0; $i < 10000; $i++) {
            $sql = "SELECT * FROM test";
            $sqlResult = $this->db->query($sql)->result_array();        
        }
        $time_end = microtime(true);
        $time = $time_end - $time_start;
        echo $time;

    }

注意php的版本是7.2,mysql在instance和mysql local的版本是8

我認為數據被誤解了。 以下是我如何解釋您的時間安排和評論:

  • 1.5秒查詢時間。 (順便說一句,其中大部分是開銷,而不是實際的 SELECT)
  • 雲的網絡延遲為 6.5 秒。
  • 代理層 3.0 秒。

如果您確實有一個需要每秒執行數千個查詢的客戶端,我建議查看這些查詢——將它們組合、批處理、將它們放入存儲過程中,或者甚至找到不需要數千個的方法。

此外,如果您有多個客戶端,每個客戶端執行 10000 次查詢中的一些,您會發現本地和雲的“每秒查詢數”會顯着上升,無論是否使用代理。 (但我不建議嘗試超過幾十個客戶端;吞吐量最終會停止,並且延遲會受到嚴重影響。)

暫無
暫無

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

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