当在同一主机或虚拟机上部署相同的容器(在本例中,容器具有apache服务器和php应用程序)5次或更多次(即,部署5个或更多容器)时,我们是否在负载处理方面获得效率?
这里的效率意味着这样的架构中的应用程序是否能够服务于更多的请求或更快地服务于请求?
据我所知,每个请求都会启动一个新的apache-php线程,如果我们有5个容器来处理这些请求,那么效率会不会很低,因为现在apache启动的线程将更频繁地在上下文中切换?
发布于 2018-06-02 09:42:20
扩展应用程序需要了解应用程序达到极限的原因。为此,您需要在应用程序完全加载时从应用程序和主机收集指标。在没有测试和收集指标的情况下,您只能猜测为什么您的容量不足。
如果应用程序完全利用了一个或多个cpu核心,但不是全部,那么它要么不是多线程的,要么遇到了阻止所有核心被使用的锁。在此场景中,向主机添加更多容器可能有助于扩展。
通常,进行水平缩放是因为单个主机正在使用所有某些资源,如磁盘io、网络带宽、内存或cpu。如果您发现应用程序在负载较重时正在使用所有这些资源,那么您需要更多主机,而不是运行在同一主机上的更多容器。
这一切都假设您没有配置docker来限制容器上的资源。如果您在一个容器中达到了您的容量,并且配置了资源限制,那么获得更高性能的最简单方法就是删除或减少这些限制。
https://stackoverflow.com/questions/50651980
复制相似问题