最近我和一位朋友聊过,他告诉我一个想法,即在同一台机器(MS IIS Web 服务器)上安装多个虚拟机,然后在这些虚拟机上镜像网站,同时将原始入口页面保留在本地 IIS 上,这样可以提高网站的性能(以及提高机器的全部容量利用率)。我不确定这是否可行,如果可行,有人可以给我介绍一些关于这个问题的文章吗?
答案1
不管是否有可能(我确信是可能的 - 这就是虚拟机的用途),是什么让你认为增加运行额外虚拟机的开销(更不用说磁盘争用,因为虚拟机争夺访问同一文件的不同副本)会比仅仅一个主服务器更快?
人们通常使用多台真实的物理机器来实现你所说的负载平衡 - 每台机器都有自己的 CPU 和 RAM,以及磁盘和网络带宽。在虚拟机上执行此操作会违背其目的。
与裸机相比,虚拟机的性能通常会受到很小的影响。
虚拟机的优点是,它们允许您将多台物理机器合并为一台更大的机器(节省金钱和电力),并且您可以在虚拟机之间获得良好的隔离度(有利于安全性并防止一个疯狂的进程破坏其他所有进程)。它们还适合在真正实施之前进行实验和尝试新的/更改的事物。在升级虚拟机之前能够对其进行快照也很有用。等等。虚拟机的用途和好处很多,但提高性能并不是其中之一。
答案2
如果您的服务器已正确调整(缓存、压缩等),则无需在主机上创建虚拟机。如上所述,创建虚拟机的开销实际上可能会降低您网站的性能。
如果您希望增加处理站点的线程数,可以考虑在 IIS 中设置一个 Web 园,以增加分配给应用程序池的工作进程数。将应用程序池的“最大工作进程数”设置为 1 以外的任何值都属于 Web 园。Web 园并不适用于所有应用程序,如果您正在处理用户会话(每个工作进程都维护自己的内存空间),则可能会造成麻烦。会话数据必须在外部位置维护。静态 HTML 站点在 Web 园中运行良好。