简单服务器负载测试响应时间

时间:2017-01-26 11:44:47

标签: go concurrency load-testing goroutine

我想使用Golang创建一个应用程序来加载测试我运行的服务器应用程序。发送请求有一些先前的活动,否则我会使用像ab这样的东西。我在X的goroutines中调用类似下面的东西。

func sendRequest() *time.Duration {

    xmlBody := "SomeXmlHere"
    start := time.Now()
    resp, err := http.Post("www.example.com", "text/xml", strings.NewReader(xmlBody))
    requestTime := time.Since(start)
    defer resp.Body.Close()
    response, _ := ioutil.ReadAll(resp.Body)

    return &requestTime
}

当请求启动时,运行时将在请求正在进行时切换到另一个goroutine。所以我的问题是,如果另一个goroutine长时间运行并且阻止对time.Since()的呼叫,响应时间是否会被扭曲?有没有办法绕过这个问题来获得准确的响应时间?

0 个答案:

没有答案