发现使用net / http包的响应时间在OSX和Linux之间是不同的。基本上,OSX比Linux慢。当我调用内部域访问时,效果尤其显着。 OSX慢10倍以上...它可能来自随时随地进行编译,但不确定。有人知道为什么会发生这种差异吗?


OSX:10.11
Linux:centos-7.0-64,它在mac的VM上运行


main.go

package main

import (
    "log"
    "net/http"
    "time"
)

func main() {
    url := "http://yahoo.co.jp"

    start := time.Now()
    resp, _ := http.Get(url)
    log.Println(time.Since(start))
    defer resp.Body.Close()

}


结果(可用性)
-OSX:233.662409ms
-Linux:147.108599ms

最佳答案

内部VIP访问速度降低了10倍,所以我没有说。我尝试与其他客户端(例如curl和ruby)一起使用,发现OSX的time_namelookup速度非常慢。因此,这不是语言,而是DNS缓存(如Mac上的函数问题)。我会寻找细节。谢谢提供信息!

Go版本:1.5.1 darwin / amd64

关于linux - OSX和Linux之间的net/http打包速度不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33795828/

10-15 08:34