aboutsummaryrefslogtreecommitdiff
path: root/client_timing_test.go
diff options
context:
space:
mode:
authorGravatar Aliaksandr Valialkin <valyala@gmail.com> 2016-07-16 17:36:32 +0300
committerGravatar Aliaksandr Valialkin <valyala@gmail.com> 2016-07-16 17:36:32 +0300
commit881ac52b00ef21896de49a8aa185467c8a9ae49c (patch)
tree7970377debd77ab744bb8fa906d05d11b7bab155 /client_timing_test.go
parentRemoved incorrect statement from PipelineClient.Do docs (diff)
downloadfasthttp-881ac52b00ef21896de49a8aa185467c8a9ae49c.tar.gz
fasthttp-881ac52b00ef21896de49a8aa185467c8a9ae49c.tar.bz2
fasthttp-881ac52b00ef21896de49a8aa185467c8a9ae49c.zip
Added support for multiple concurrent connections to server in PipelineClient
Diffstat (limited to 'client_timing_test.go')
-rw-r--r--client_timing_test.go19
1 files changed, 7 insertions, 12 deletions
diff --git a/client_timing_test.go b/client_timing_test.go
index 3ff6f86..e2d5ccd 100644
--- a/client_timing_test.go
+++ b/client_timing_test.go
@@ -589,24 +589,19 @@ func benchmarkPipelineClient(b *testing.B, parallelism int) {
close(ch)
}()
- var clients []*PipelineClient
- for i := 0; i < runtime.GOMAXPROCS(-1); i++ {
- c := &PipelineClient{
- Dial: func(addr string) (net.Conn, error) { return ln.Dial() },
- ReadBufferSize: 1024 * 1024,
- WriteBufferSize: 1024 * 1024,
- MaxPendingRequests: parallelism,
- }
- clients = append(clients, c)
+ maxConns := runtime.GOMAXPROCS(-1)
+ c := &PipelineClient{
+ Dial: func(addr string) (net.Conn, error) { return ln.Dial() },
+ ReadBufferSize: 1024 * 1024,
+ WriteBufferSize: 1024 * 1024,
+ MaxConns: maxConns,
+ MaxPendingRequests: parallelism * maxConns,
}
- clientID := uint32(0)
requestURI := "/foo/bar?baz=123"
url := "http://unused.host" + requestURI
b.SetParallelism(parallelism)
b.RunParallel(func(pb *testing.PB) {
- n := atomic.AddUint32(&clientID, 1)
- c := clients[n%uint32(len(clients))]
var req Request
req.SetRequestURI(url)
var resp Response