我有一个HTTP服务器和一个客户机(我使用curl进行测试)。我遇到的问题是,即使是最简单的,"ping“请求也需要3-5秒才能完成。我已经在服务器上运行了tcpdump,似乎在建立TCP连接之后,客户机(curl)等待3-4秒发送HTTP请求:
09:06:55.079376 IP client > server:标志S,seq 1639466412,win 64240,选项mss 1358,nop,wscale 8,nop,nop,sackOK,长度0 09:06:55.079457 IP服务器> client:标志S,seq 2519785093,ack 1639466413,win 29200,选项mss 1460,nop,nop,sackOK,nop,wscale 7,长度0 09:06:55.087145 IP client > server:标志,ack 1,win 1029,length 0 09:06:59.722060 IP客户端>服务器:标志P,seq 1:83,ack 1,win 1029,长度82: HTTP: GET /ping HTTP/1.1
您可以看到tcpdump输出的3到4行之间的问题。
你知道什么会导致这个问题吗?这是在客户端,还是我也应该在服务器端检查?
更新如果我使用telnet连接到服务器端口并发送GET,服务器将立即回复。
发布于 2019-05-16 16:14:11
Flags [S] SynFlags [S.] - Syn AckFlags [.] -占位符,通常用于ACK。Flags [P.] - Push Acktime加到你的curl命令中吗?如下所示。作为对同一主机(终端)的测试:
terminal a $ python -m SimpleHTTPServer 8989
terminal b $ time -vvv localhost:8989结果如下所示:
real 0m0.018s
user 0m0.006s
sys 0m0.005s此时很难说这是客户端还是服务器端,这取决于您要查询的数据。您能共享这个查询/curl命令吗?
https://stackoverflow.com/questions/55947731
复制相似问题