2015-06-12 2 views
3

Я тестирую некоторые BigTable запросов на кластере 3-узла с помощью клиента Go, как:Google Cloud BigTable время установки соединения

r, err = tbl.ReadRow(ctx, "key1") 

Я получаю результаты обратно в течение нескольких мс:

query 1: 129.748451ms 
query 2: 3.256158ms 
query 3: 2.474257ms 
query 4: 2.814601ms 
query 5: 2.850737ms 

Как вы можете видеть, при первом запросе существует значительная задержка установления соединения. Может ли кто-нибудь предоставить отзыв, будет ли это приемлемым значением? Запросы берутся из виртуальной машины GCE в той же зоне (europe-west1-c), что и кластер BigTable.

Кроме того, существует ли какая-либо поддержка для объединения соединений BigTable при работе в App Engine?

ответ

3

Bigtable Connections в Go инициализируется асинхронно с того момента, когда bigtable.NewClient() вызывается.

Соединения - дорогие объекты, имеющие значительное время инициализации.

Первый вызов ReadRow() будет блокироваться при ожидании завершения этого соединения. Если вы должны были ждать некоторое количество времени между вызовом NewClient() и первым ReadRow(), вы не должны видеть более высокую задержку в первом чтении.

Смежные вопросы