我注意到dockerd和docker-proxy进程使用的CPU比预期的要多,分别是15%和24%,所以我决定使用“主机”networking来避免开销。 但是,我得到的结果更糟。 如何解释这个?
一个nginx容器也不会发生这种情况(性能从“主机”networking从43k / sec增加到48k / sec)。
启动CouchDB容器: docker run -d -p 5984:5984 couchdb
$ wrk -d 60 http://localhost:5984/mydb/mydoc Running 1m test @ http://localhost:5984/mydb/mydoc 2 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.51ms 197.54us 7.81ms 75.74% Req/Sec 3.32k 111.59 3.60k 71.58% 396492 requests in 1.00m, 698.02MB read Requests/sec: 6608.12 Transfer/sec: 11.63MB
启动CouchDB容器: docker run --net=host -d -p 5984:5984 couchdb
$ wrk -d 60 http://localhost:5984/mydb/mydoc Running 1m test @ http://localhost:5984/mydb/mydoc 2 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 42.98ms 1.17ms 54.99ms 96.96% Req/Sec 116.79 13.73 151.00 56.00% 13966 requests in 1.00m, 24.59MB read Requests/sec: 232.57 Transfer/sec: 419.29KB