CouchDB desempenho lento no Docker com rede "host" vs. "ponte

3

Notei que os processos dockerd e docker-proxy estavam usando mais CPU do que o esperado, 15% e 24% respectivamente, então decidi usar a rede "host" para evitar a sobrecarga. No entanto, os resultados que obtive foram muito piores. Como explicar isso?

O mesmo não acontece com um contêiner nginx (o desempenho aumenta de 43k req / seg para 48k req / seg com a rede "host").

Cenário # 1 - rede "ponte"

Iniciar o contêiner do 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

Cenário # 2 - rede "host"

Iniciar o contêiner do 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

Ambiente

  • Hardware: i7-6700K, 16 GB, SSD
  • SO: Fedora 25 (kernel 4.10.13)
  • Banco de dados: CouchDB 1.6.1
por Giovanni Tirloni 04.05.2017 / 15:53

0 respostas