App Engine DB リクエストの許容可能な応答時間はどのように判断しますか?
-
25-09-2019 - |
質問
によると Hacker News での Google App Engine のディスカッション,
DB(読み取り)リクエストは、データストアで100mを超えます。これは非常識であり、アプリケーションの約90%にとって使用できません。
DB 読み取りリクエストに対する許容可能な応答時間はどのように判断すればよいでしょうか?
App Engine を使用してきましたが、DB の応答性に問題はありませんでした。しかし、その一方で、その点で何を調べればよいのかさえわかりません:)
解決
ポスターは間違っています。データストアのget操作がはるかに高速です - について現在、各15-20ms。彼らははるかに関与していると、より多くのデータを返すため、データストアは、のクエリの操作は、遅くなることができますが、一般的なクエリの30-100msからどこかで彼らはまだ完了しました。他のポスターは十分にそれが「許容」だかどうかを取り上げています。
他のヒント
あなたが許容できるとはどういう意味ですか?あなたは、アプリケーションのどのような種類を書いていますか?異なるドメイン/アプリケーション/人のための許容可能な手段の異なるもの。まず、あなたが要求に応答するにアプリをしたいどのように迅速に決定する必要があります。ちょうど引数のために、1秒を選んでみましょう。さて、どのように多くのDBリクエストあなたはその要求を満たすために作成する必要がありますか?レッツ5.レッツはまた、我々はまた、実行する他の処理の400ms以内の価値を持っていると言うことだと言います。 OK、その5回はそれぞれの100msの読み込みだ、プラス他のものの400msのこと。 900msは、1秒の我々の目標未満である、合計します。パーフェクト! 100msのは、許容可能な読み出し速度です。実際には、120msのは、まだかろうじて、許容可能である。
それでは、一般化してみましょう。
numberOfReads * readTime + otherStuffTime = TotalTime
あなたの番号を入力し、あなたがあなたの特定の状況に許容可能な時間であるかを見ることができます。
は、それは定義上許容可能な応答時間です。唯一の問題は、ユーザーが待つために満足しているどのくらいの時間である。
「DB 読み取りリクエストに対する許容可能な応答時間」は、アプリケーションとユーザーに完全に依存します。
最終的な結果として、サイトがあなたとユーザーを満足させるのに十分な速度で動作するのであれば、Google が AppEngine で提供するサービスの応答時間の遅さは許容されます。
さて、この特定の問題を詳しく見てみると、GET について話しているように思えます。 ここ は GET レイテンシの数値であり、平均レイテンシは 100 ミリ秒よりも 50 ミリ秒に近いように見えます。それが良いとは言いませんが、100ms というのは正確ではないと思います。