Help us understand the problem. What is going on with this article?

コンテナでホストに近い速度を出す

More than 5 years have passed since last update.

結論

  • ネットワーク : --net=hostを使う
  • DISK : -vを使いその中で読み書きする

以下メモ

ネットワーク

ポートを100個くらい開けないといけないコンテナはどうすればいいのかと
思っていたところ、--net=hostオプションがあることに気がついた。

起動
sudo docker run --privileged -it -d \
 --net=host tukiyo3/centos7-lampp
curl localhost

あとはポートが衝突しないように意識しながら使う。
1ホスト2コンテナぐらいなら管理できるでしょう。

参考

速度向上も期待できる。
mysqlのようなパフォーマンスを気にしないといけないものを動かす場合用。

ネットワークパフォーマンスは--net=hostを使うことで改善できる。

DISK

docker内のDISKランダムシークはホストの5倍は遅い

差分管理する箇所へのI/Oの性能劣化は見られます

差分管理の場所はそりゃ遅いだろう・・・。

その場合、-vでホストのDISKをマウント(Guest Shared)すればさほど変わらないパフォーマンスを得られる。

AUFSでファイルシステムををスタックできる限界値に到達したかららしい。限界値は 42 らしい。

cpu

dockerはデフォルトでホストのCPU割当てを全て割り当てる。
そのためKVMやOpenVzのようなCPU割り当てをチューニングする必要がなく簡単である。
逆に割当てを制限することは出来る。気が向いたら書く。

UnixBench

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away