• Data obtained from ping: is it round trip or one way?


    I have 2 servers, each in two separate locations. I need to host an application on one, and the database server on the other.

    From the app server, if I ping the database server, on average I get about 30ms.

    My question is:

      When I query the database from the app;

      Is it going to take 30 ms + database_server_query_run_time

      Or;

      Is it going to take 30 ms + database_server_query_run_time + 30ms

    I would like to understand this please.

    ------------------------------------------------------------------------------------------

    It will usually take more then those two options.

    Ping measures just the time from client, to server, and back again (rtt - round trip time)

    Usually databases use TCP, so you first need to send a SYN packet to start the TCP handshake (to simplify let's say 15ms* + cpu time, then you recieve and SYN/ACK (15ms+cpu time), send back an ACK and a request (atleast 15ms + cpu time), then the time for the DB to process the query, and then the time (15ms + cpu) to get the data back, and a bit more to ack, and close the connection.

    This is ofcourse not counting the authentication (username/password) to the database, and no encryption (ssl handshakes/DH or whatever is needed).

    *half of a round trip time, assuming the route there and back is symmetrical (half the time to get there, and half to get back... cpu processing time for ping reply is very short)

     
  • 相关阅读:
    poj2104 Kth-Number
    bzoj2120 数颜色
    hdu5145 NPY and girls
    bzoj2734 集合选数
    bzoj3732 NetWork
    bzoj2152 聪聪可可
    hdu2036(多边形面积)
    超大次幂思路
    hdu 2030 统计汉字个数
    Hibernate 配置文件与映射文件 总结
  • 原文地址:https://www.cnblogs.com/oxspirt/p/6543666.html
Copyright © 2020-2023  润新知