各リクエストが Cloud Datastore への読み取り + 書き込みになる Cloud Run にデプロイされた API があります。かなりの量のリクエストが最初のタイマーです (Datastore から読み取ると null が返されます)。そのため、その前にキャッシュを追加してもあまり役に立たない場合があります。
過去 1 か月間で、Datastore を呼び出してデータを取得するまでの平均経過時間 ( data = client.get(key, eventual=True)
) は 48 ミリ秒でした。ペイロードは小さいです (dict のリストで、平均で 10 の要素があり、各 dict には 2 つの float があります)。
レイテンシーが高いと言うべきかどうかはわかりませんが、私の API には、必要なすべてを実行して返すために 100 ミリ秒の予算があります。データの取得だけでその時間の 50% 程度かかる場合は、最適化する方法を探しています。
質問:
- 一般に、GCP 内からキーによってフェッチされるかなり小さなペイロードの場合、50 ミリ秒はどのように聞こえるでしょうか?
- GCP 内の Memorystore には(レイテンシに関して)どのようなことが期待できますか?