Golang net/http keep alive doesn't work

I wrote two test units. keep alive did work in the test unit below.

func BenchmarkNetHTTPClientBase2(b *testing.B) {
    client := http.Client{Transport: http.DefaultTransport}

    for i := 0; i < b.N; i++ {
        pingReq, _ := http.NewRequestWithContext(context.Background(), "GET", "http://127.0.0.1:7777/ping", nil)
        pingRes, err := client.Do(pingReq)
        if err != nil {
            b.Error(err)
        } else {
            _, err = ioutil.ReadAll(pingRes.Body)
            if err != nil {
                b.Error(err)
            }
            pingRes.Body.Close()
        }
    }
}

But when I make some changes, add RunParallel, keep alive doesn’ t work.

func BenchmarkNetHTTPClientBase1(b *testing.B) {
    client := http.Client{Transport: http.DefaultTransport}

    b.RunParallel(func(pb *testing.PB) {
        for pb.Next() {
            pingReq, _ := http.NewRequestWithContext(context.Background(), "GET", "http://127.0.0.1:7777/ping", nil)
            pingRes, err := client.Do(pingReq)
            if err != nil {
                b.Error(err)
            } else {
                _, err = ioutil.ReadAll(pingRes.Body)
                if err != nil {
                    b.Error(err)
                }
                pingRes.Body.Close()
            }
        }
    })
}

Any ideas? Thank you.