服务器的Golang高超时

时间:2016-03-09 17:01:43

标签: go

我们有一个响应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结果吗?

0 个答案:

没有答案