- 我們的容器集羣位於@美國east1-C
- 我們用下面的Java庫:谷歌雲計算的BigQuery ,0.9.2-β
- 我們的數據有大約26M行和代表〜10G
- 我們所有的查詢返回少於100行,因爲我們總是在一個特定的列分組
問題
我們分析BigQuery中執行的最後100個查詢,這些都是在大約2-3秒(我們通過調用BQ --format = prettyjson顯示-j JOBID分析了該執行,結束時間 - 創建時間)。
儘管在我們的Java日誌中,大多數撥打bigquery.query的呼叫阻塞5-6秒(並且10秒不是不尋常的)。什麼能解釋在BigQuery集羣中完成的查詢和Java中可用的結果之間的系統差距?我知道5-6秒不是天文數字,但我很好奇當使用Java BigQuery雲庫時這是否是正常行爲。
我沒有深入到使用Wireshark分析出站呼叫的地步。我們所有的測試都在我們的集裝箱集羣(Kubernetes)中執行。
代碼
QueryRequest request = QueryRequest.newBuilder(sql)
.setMaxWaitTime(30000L)
.setUseLegacySql(false)
.setUseQueryCache(false)
.build();
QueryResponse response = bigquery.query(request);
謝謝