Назад | Перейти на главную страницу

Низкая производительность CouchDB в Docker с «хостовой» сетью по сравнению с «мостом»

Я заметил, что процессы dockerd и docker-proxy используют больше ЦП, чем ожидалось, на 15% и 24% соответственно, поэтому я решил использовать «хост-сеть», чтобы избежать накладных расходов. Однако результаты, которые я получил, были намного хуже. Как это объяснить?

То же самое не происходит с контейнером nginx (производительность увеличивается с 43 000 запросов в секунду до 48 000 запросов в секунду в "хост-сети").

Сценарий №1 - «мостовая» сеть

Запустите контейнер 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

Сценарий №2 - «хостовая» сеть

Запустите контейнер 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

Окружающая среда