Go web中多次POST后出现问题

 for i := 0; i < 1000; i++ {
    var tr *http2.Transport`
        if serverCer {
            tr = &http2.Transport{
                TLSClientConfig: &tls.Config{
                    RootCAs:      pool,
                    Certificates: []tls.Certificate{cliCrt},
                },
            }
        } else {
            tr = &http2.Transport{
                TLSClientConfig: &tls.Config{
                    RootCAs:            pool,
                    Certificates:       []tls.Certificate{cliCrt},
                    InsecureSkipVerify: true,
                },
            }
        }
        go client(url, &data, tr)
    }


func client(url string, data *[]byte, tr *http2.Transport) {
    httpClient := http.Client{Transport: tr}
    for i := 0; i < 10; i++ {
        fmt.Println("I:", i)
        fmt.Println("len:", len(*data))
        reader := bytes.NewReader(*data)
        if reader == nil {
            fmt.Println("reader is nil")
        }
        req, err := http.NewRequest("POST", url, reader)
        if err != nil {
            fmt.Println("NewRequest error:", err)
            panic(err)
        }
        req.Close = true
        resp, err := httpClient.Do(req)
        if err != nil {
            fmt.Println("Do error:", err)
            panic(err)
        }
        resp.Body.Close()
        time.Sleep(2 * time.Microsecond)
    }

谁能解释一下,为什么程序跑了大半后会在“resp, err := httpClient.Do(req)”一句报“Post https://localhost:6600/: unexpected EOF”的错误?在此谢谢了!

对应的连接是否已经断开。捕获错误,然后重新建立连接再发送数据等试试

http://www.01happy.com/golang-go-sql-drive-mysql-connection-pooling/

post的文件大吗?

循环开了1000个goroutine ,每个routine里还10次循环post。
这是DDOS攻击还是压力测试啊?
感觉是服务器不堪重负,有的新请求处理不了了