0

ハイパースレッディングを備えたクアッドコアを備えた開発ボックスの 3 つのコンテナーで実行されるアプリケーションを開発しています。つまり、システムと Docker によって使用される 8 つのコアがあります。

コンテナーの CPU 割り当ては、docker-compose によって次のように行われます。

  • redis: cpu_shares: 1024
  • mysql: cpu_shares: 1024
  • アプリ: cpu_shares: 4096

redis へのリクエストがタイムアウトして困っています。負荷は最小限ですが、少なくとも開発環境では、redis の使用率はバーストであり、休憩時間が長くなります。

したがって、docker が十分な CPU シェアを redis コンテナーに割り当てていないと思います。docker がより多くの CPU シェアを redis に割り当てることができるように、redis に一定の人為的な負荷をかけることはすでに考えていました。

コンテナーの特定の CPU シェアを確保する別の方法はありますか?

4

1 に答える 1

0

Docker for Mac を使用すると、コンテナーはすべて HyperKit VM で実行されます。VM には、Mac の合計のサブセットである CPU とメモリの割り当てがあります。

環境設定で割り当てを変更できます。デフォルトでは、Docker VM には 2 つの CPU と 2GB の RAM があります。

于 2016-10-05T08:55:53.073 に答える