Docker而不是多个VM

所以我们有32个RAM和8个物理核心服务器运行大约8个虚拟机。 其中六个运行邮件服务器(Zimbra),其中两个运行多个Web应用程序。 服务器的负载非常高,主要是因为每个虚拟机的负载很重。

我们最近遇到了Docker。 创build应用程序的容器似乎是一个很酷的主意。 您认为在8个Docker Containers中运行这些VM中的每个VM的应用程序是一个可行的想法。 目前,服务器的使用率很高,因为多个虚拟机具有严重的I / O问题。

或者可以在我们只运行web应用程序的情况下使用docker,而不是电子邮件或任何其他应用程序。 build议…

Docker肯定会减轻你的服务器的CPU负载,从这个方面消除pipe理程序的开销。

关于I / O,我的testing表明,由于AUFS(或者最近的设备映射器)的工作原理,Docker在I / O上有自己的开销。 在这方面,您仍然可以获得一些优于虚拟机pipe理程序的I / O开销的好处,但不会影响I / O上的裸机性能。 我的观察,根据我自己的需要,指出Docker在处理紧张的I / O服务时不是“裸机性能”。

你有没有想过添加更多的RAM。 64GB或更多? 对于每个虚拟机4GB的大型zimbra部署可能是不够的。 像所有的消息和协作系统一样,Zimbra是一个IO绑定应用程序。

使用zmdiaglog(/ opt / zimbra / libexec / zmdiaglog)数据来查看是否正确分配内存将有所帮助。 按照这里; http://wiki.zimbra.com/wiki/Performance_Tuning_Guidelines_for_Large_Deployments#Memory_Allocation