サーバーが2つあり、それぞれ2つの別々の場所にあります。一方でアプリケーションをホストし、もう一方でデータベースサーバーをホストする必要があります。
アプリサーバーからデータベースサーバーにpingを実行すると、平均で約30ミリ秒かかります。
私の質問は:
When I query the database from the app;
かかりますか
30 ms + database_server_query_run_time
または;
かかりますか
30 ms + database_server_query_run_time
+ 30ms
これを理解したいのですが。
通常、これらの2つのオプションよりも多くのオプションが必要です。
Pingは、クライアントからサーバーまでの時間と、その時間を測定します(rtt-往復時間)
通常、データベースはTCPを使用するため、最初にSYNパケットを送信してTCPハンドシェイクを開始する必要があります(簡単にするために、15ms * + cpu時間としましょう)、SYN/ACK(15ms + cpu時間)、ACKと要求(少なくとも15ミリ秒+ CPU時間)、次にDBがクエリを処理する時間、次にデータを取得する時間(15ミリ秒+ CPU)、そしてもう少し確認する、接続を閉じます。
これはもちろん、データベースへの認証(ユーザー名/パスワード)をカウントせず、暗号化(sslハンドシェイク/ DHまたは必要なもの)をカウントしません。
*往復時間の半分、経路が対称的であると想定(経路の半分と経路の半分... ping応答のCPU処理時間は非常に短い)
Ping時間は往復です。あなたがそれについて考えるなら、それはどのように一方向の時間を測定できますか?したがって、30ミリ秒とクエリ時間を要します。