Phi*_*hil 32 networking ping latency
我有 2 台服务器,每台服务器位于两个不同的位置。我需要在一个上托管一个应用程序,在另一个上托管数据库服务器。
从应用程序服务器,如果我 ping 数据库服务器,平均我得到大约 30 毫秒。
我的问题是:
When I query the database from the app;
Run Code Online (Sandbox Code Playgroud)
会不会需要
30 ms + database_server_query_run_time
或者;
是否需要
30 ms + database_server_query_run_time+ 30ms
我想明白这一点。
mul*_*laz 26
通常需要更多的时间然后这两个选项。
Ping 仅测量从客户端到服务器再返回的时间(rtt - 往返时间)
通常数据库使用 TCP,所以你首先需要发送一个 SYN 数据包来启动 TCP 握手(为了简化我们假设 15ms* + cpu 时间,然后你收到和 SYN/ACK(15ms + cpu 时间),发回一个 ACK 和一个请求(至少 15ms + cpu 时间),然后是 DB 处理查询的时间,然后是取回数据的时间(15ms + cpu),还有一点要确认,并关闭连接。
这当然不包括对数据库的身份验证(用户名/密码),也没有加密(ssl 握手/DH 或任何需要的东西)。
*往返时间的一半,假设那里和回来的路线是对称的(一半时间到那里,一半时间回来...... ping回复的cpu处理时间很短)