我刚开始使用托管 VPS(运行 Ubuntu)。我让它运行最简单的 Go 服务器,该服务器监听端口 8080 并在路径 /hello 上返回“hello world”。然后我开始用浏览器发送请求,我对响应时间感到有点困惑。
对 myip:8080/hello 的简单请求可能需要长达 170 毫秒的时间,这对我来说似乎很长。以下是 Fiddler 报告:
== TIMING INFO ============
ClientConnected: 15:28:21.356
ClientBeginRequest: 15:28:21.358
GotRequestHeaders: 15:28:21.358
ClientDoneRequest: 15:28:21.358
Determine Gateway: 0ms
DNS Lookup: 0ms
TCP/IP Connect: 0ms
HTTPS Handshake: 0ms
ServerConnected: 15:28:21.360
FiddlerBeginRequest: 15:28:21.360
ServerGotRequest: 15:28:21.360
ServerBeginResponse: 15:28:21.523
GotResponseHeaders: 15:28:21.523
ServerDoneResponse: 15:28:21.523
ClientBeginResponse: 15:28:21.523
ClientDoneResponse: 15:28:21.523
Overall Elapsed: 0:00:00.165
即使对某些不存在的路径(如 myip:8080/hello2)的请求也需要大约相同的时间,当然会返回 404。
另一方面,如果我向另一个端口(Go 服务器不监听的端口)发出请求,例如 myip:8081/hello,则响应(403)是即时的,大约 7 毫秒。
我的问题是:在剩余的时间里究竟发生了什么?为什么 Go 服务器要花这么多时间来说“hello world”甚至返回 404?如果这个问题看起来微不足道,我很抱歉,但我不知道还能问谁,谷歌也没有提供太多帮助。