HackerNewsでのGoogleAppEngineのこの議論によると、
DB(読み取り)リクエストは、データストアで100ミリ秒以上かかります。これは非常識であり、アプリケーションの約90%には使用できません。
DB読み取り要求の許容可能な応答時間をどのように決定しますか?
DBの応答性の問題に気付かずにAppEngineを使用しています。しかし、その一方で、私はその点で何を探すべきかさえわからないでしょう:)
HackerNewsでのGoogleAppEngineのこの議論によると、
DB(読み取り)リクエストは、データストアで100ミリ秒以上かかります。これは非常識であり、アプリケーションの約90%には使用できません。
DB読み取り要求の許容可能な応答時間をどのように決定しますか?
DBの応答性の問題に気付かずにAppEngineを使用しています。しかし、その一方で、私はその点で何を探すべきかさえわからないでしょう:)
Guido van RossumのAppStatsの比較的新しいコンポーネント(1.3.1以降の標準SDKの一部)のおかげで、各RPC呼び出し(データストアまたはその他)にかかる時間を正確に測定できます。詳細については、こちらをご覧ください。ほとんどの適切に設計されたアプリでは100ミリ秒で十分です。ページを提供するために2つまたは3つのクエリを実行する必要がある場合は、多くの処理とレンダリングが含まれていても、0.5秒未満で提供できます...あまりにもぼろぼろ。memcache
さらに、これらのレイテンシーなどの多くを削減するために使用できます。
許容できるとはどういう意味ですか?どんなアプリケーションを書いていますか?許容できるとは、ドメイン/アプリケーション/人によって異なることを意味します。まず、アプリがリクエストに応答する速度を決定する必要があります。議論のために、1秒を選びましょう。さて、その要求を満たすためにいくつのDB要求を行う必要がありますか?5としましょう。400ms相当の他の処理もあるとしましょう。これで、5回の読み取りにそれぞれ100ミリ秒、さらに400ミリ秒の読み取りが行われます。合計900msで、目標の1秒未満です。完全!100msは許容可能な読み取り速度です。実際、120msはまだ許容範囲内ですが、ほんのわずかです。
それでは、一般化してみましょう。
numberOfReads * readTime + otherStuffTime = TotalTime
あなたの数を記入してください、そしてあなたはあなたの特定の状況のために許容できる時間を見ることができます。
ポスターが間違っています。データストアの取得操作ははるかに高速です。現在、それぞれ約15〜20ミリ秒です。データストアのクエリ操作は、はるかに複雑でより多くのデータを返すため、遅くなる可能性がありますが、通常のクエリでは30〜100ミリ秒で完了します。他のポスターは、それが「許容できる」かどうかについて十分に取り上げています。
問題に気付いていない場合は、定義上、許容可能な応答時間です。唯一の問題は、ユーザーがどれだけ長く待つことができるかということです。
「DB読み取り要求の許容可能な応答時間」は、アプリケーションとユーザーに完全に依存します。
最終的な結果として、サイトがあなたとあなたのユーザーを満足させるのに十分な速さで実行される場合、GoogleがAppEngineで提供するサービスの応答時間が遅いことは許容できます。
さて、この特定の問題を詳しく見てみると、GETについて話しているように思えます。 これがGETレイテンシーの数値であり、平均レイテンシーは50msより100msに近いように見えます。それが良いとは言えませんが、100msと言うのは正確ではないと思います。