当在同一主机上部署相同容器(在这种情况下容器具有apache服务器和php应用程序)5次或更多次(即部署了5个或更多容器)时,我们是否在负载处理方面获得了效率还是VM?
效率意味着这种架构中的应用程序是否能够更快地提供更多请求或服务请求?
据我所知,每个请求都会启动一个新的apache-php线程,如果我们有5个容器处理请求,那么它是否会效率低下,因为现在apache启动的线程会被更频繁地切换出来? / p>
答案 0 :(得分:1)
扩展应用程序需要了解应用程序达到其限制的原因。为此,您需要在应用程序和主机完全加载时从应用程序和主机收集指标。如果不测试和收集指标,您只能猜测自己的能力。
如果应用程序完全利用一个或多个cpu核心,但不是全部,那么它不是多线程的,或者遇到阻止所有核心被使用的锁定。在此方案中向主机添加更多容器可能有助于扩展。
通常,完成水平扩展是因为单个主机正在使用所有某些资源,如磁盘io,网络带宽,内存或cpu。如果您发现应用程序在负载较重时正在使用所有这些资源中的一个或多个,那么您需要更多主机,而不是在同一主机上运行的更多容器。
这一切都假设您没有配置泊坞窗以限制容器上的资源。如果您使用一个容器达到容量并且配置了资源限制,那么获得进一步性能的最简单方法是删除或减少这些限制。