我的程序每 3 秒向 Web 服务器发送一次请求。Web 服务器与程序运行在同一专用网络上的机器上(它们在同一个房间)。
是否可以保证它们会以 3 秒的间隔到达 Web 服务器?
如果不是,它会接近3s吗?例如,100 个请求中有 1 个在 0.5 秒内到达是否正常?
我的程序每 3 秒向 Web 服务器发送一次请求。Web 服务器与程序运行在同一专用网络上的机器上(它们在同一个房间)。
是否可以保证它们会以 3 秒的间隔到达 Web 服务器?
如果不是,它会接近3s吗?例如,100 个请求中有 1 个在 0.5 秒内到达是否正常?
唯一会导致延迟的是网络上的拥塞,尽管这些延迟会以毫秒为单位。拥塞可能会导致数据包丢失,并且重传会导致明显的延迟。
除非您在专用网络上执行其他数据密集型操作,否则您不太可能注意到任何延迟。
在客户端和服务器机器以及网络中,有很多事情发生延迟的机会。
实际延迟多少将在很大程度上取决于系统负载。如果负载很轻,那么延迟可能可以忽略不计。另一方面,如果某些资源(客户端 CPU、服务器 CPU、服务器存储、网络带宽、服务器 maxclients 等)饱和,则延迟可能会更大且变化更大。
您可能想要重新设计您的客户端应用程序,以便在最后一个请求完成后 3 秒发送一个请求,而不是每 3 秒发送一次请求。这将有助于避免将额外的负载堆积到已经超载的服务器上。
实际上,可能但不一定。您的 Web 服务器实际上是在服务器上运行的应用程序,因此它比以太网和/或 IP 网络层更复杂。服务器 CPU/内存利用率也可能是一个因素。
更好的架构是使用 Comet 或 XHR 长轮询。