我开发了一个应用程序,该应用程序在我的开发盒上的三个容器中运行,带有一个带有超线程的四核,这意味着系统和 docker 需要使用 8 个内核。
您对容器的 CPU 分配由 docker-compose 完成,如下所示:
- redis:cpu_shares:1024
- mysql: cpu_shares: 1024
- 应用程序:cpu_shares:4096
我对 redis 请求超时感到困扰。负载是最小的,但是 redis 的利用率是爆发式的,中断时间更长,至少在开发环境中是这样。
因此,我假设 docker 没有为 redis 容器分配足够的 CPU 份额。我想已经准备好在 redis 上施加一个持续的人工负载,让 docker 为其分配更多的 CPU 份额。
是否有其他方法可以确保容器的特定 CPU 份额?