Go 服务器响应时间

Go 服务器响应时间

我刚开始使用托管 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?如果这个问题看起来微不足道,我很抱歉,但我不知道还能问谁,谷歌也没有提供太多帮助。

相关内容