1

Google Cloud Bigtable Python Clientでパフォーマンスの問題が発生しています。私はGCP Bigtableインスタンスへの書き込みと読み込みを行うフラスコAPIに取り組んでいます。 APIはPythonクライアントを使用してBigtableと通信し、GCP App Engineの柔軟な環境に配備されました。Google Cloud Bigtable Pythonクライアントのパフォーマンスに関する問題

トラフィック量が少ない場合、APIは正常に動作します。しかし、負荷テスト中にBigtableを読み書きするエンドポイントは、Bigtableと通信しない同様のエンドポイントと比較して、大幅にパフォーマンスが低下します。また、App Engineでヘルスチェックがオフになっていても、エンドポイントに送信されたリクエストの大部分が502 Bad Gatewayを受信します。

私はクライアントが現在Alphaにいることを知っています。私は、パフォーマンスの問題が知られている場合だろうか、誰も私が述べてGoogleからのドキュメントを見つけ

更新

同じ問題に遭遇した場合:

は、ネットワーク接続に問題がありますが。ネットワークの問題では、 スループットが低下し、読み取りと書き込みに通常 より長くかかることがあります。特に、クライアントがCloud Bigtableクラスタと同じゾーンで実行している でない場合は、問題が発生します。

私の場合、クライアントは異なる地域にあり、同じ地域に移動することでパフォーマンスが大幅に向上しました。しかし、パフォーマンスの問題は依然として存在しており、ドキュメントの推奨事項はBigtableと同じゾーンにクライアントを置くことです。

ゾーンを指定するのが簡単なコンテナエンジンやCompute Engineを使用することも考えましたが、私はApp Engineでオートスケール機能と管理サービスを利用したいと考えています。

答えて

0

Bigtableクライアントは、各リクエストを完了するのに3msから20msの間を取る。また、Pythonはシングルスレッドなので、その間に応答が返るまで待つだけだ。私たちが見つけた最も良い解決策は、どの書き込みでも、Pubsubにリクエストを公開してから、Dataflowを使用してBigtableに書き込むことでした。 Pythonでメッセージを公開するには1ミリ秒以下の時間がかかり、データフローはBigtableと全く同じ領域に設定することができ、並列処理が容易であるため、はるかに高速に書くことができるため、大幅に高速です。

瞬時に読み書きが必要な場合は解決しませんが、

関連する問題