我们有一个响应POST请求的简单http服务器。通常它运行没有任何问题,但最近我们决定添加额外的组件进行请求分析。
目前如下:
input$x
通常,响应时间约为40-50毫秒。服务器使用率约为25%-30%。
添加分析工具后,响应时间会以某种方式增加,即使它是在单独的例行程序中。
func handleRequest(response http.ResponseWriter, request *http.Request) {
if request.Method != "POST" {
response.Write([]byte("Only POST"))
return
}
body, err := ioutil.ReadAll(request.Body)
request.Body.Close()
val := generateResponse(body)
response.Write(val)
}
由于额外的处理,服务器使用率略高,约为35%-40%。响应时间现在约为70-90毫秒。由于响应已经写好,不应该产生类似响应时间的go-routine结果吗?