我有一个物理服务器运行Nginx,MySQL和服务我的PHP网站。 服务器具有16 GB RAM的多核处理器。 这台服务器可以处理一定数量的networkingstream量。
现在,如果我运行多个运行Nginx(App Server)和MySQL(DB Server)的单独实例的Docker容器,并在应用程序和数据库容器之间进行负载平衡,而不是单个服务器,它是否能够处理相同数量的作为一个单一的服务器处理stream量,还是会减less(性能明智)?
如果我使用像EC2或Digital Ocean Leaflet这样的虚拟服务器,使用相同的硬件configuration而不是物理服务器,性能如何?
由于所有进程都在本地主机上运行(您可以在容器外的主机上运行ps aux并查看它们)。 应该有很少的开销。 网络桥接和IP Tables条目将数据包转发到虚拟主机将增加一些CPU开销,但我无法想象这太繁重了。
如果问题是几个nginx + 1的mysql与每个nginx + mysql的几个容器,可能性能明智最好不使用容器,主要是因为MySQL和多少内存可以有单个实例与多个单独的实例。 你可以在不同的容器中使用nginx,但是在一个容器中使用一个中央的mysql来存放所有的站点。