例如,十几个应用程序必须使用XenServer等开源技术托pipe在单个Dell服务器上。 一些应用程序是资源密集型的,而另一些则不是。
虚拟机的架构应该是什么?服务器有32GB的RAM? 为每个应用程序创build一个单独的VM是一个很好的架构决策?
如果有人能够提供关于这种优化的详细信息,那将是非常好的。
技术栈是PHP,MySQL几乎无处不在。
如果你几乎到处都有相同的技术堆栈,那么每个应用程序有一个虚拟机听起来会带来太多的开销。 你不仅可以运行额外的内核,还可以运行MySQL,Apache / nginx和PHP。 我会build议,而是有独立的虚拟机的MySQL服务器。 如果你的应用程序数据库很大,你可以把大部分内存专用于它。
对于apache / nginx&PHP,我会为不同的版本/configuration的PHP分开虚拟机,例如,如果你有一些需要PHP 5.3甚至PHP4的遗留应用程序,你可以为它们分配一个虚拟机。 如果所有的应用程序都可以运行在相同的PHP版本和configuration上,那么我只需要使用apache / nginx虚拟主机来虚拟化它们。 如果您设置了多个虚拟机(例如,针对不同的PHPconfiguration或版本),维护服务器将会更容易。
请记住,如果你设置了多个apache / web虚拟机,你将需要一个单独的公共IP在每个不同的虚拟机从世界之外访问它。 为了克服这个问题(如果你想单独的虚拟机路由),你将不得不在虚拟机或单独的虚拟机上设置一个httpd代理。 这通常是nginx ,那么你只能在这个虚拟机上需要一个公共IP,然后你将代理所有的请求到内部networking上的其他虚拟机。