决定虚拟服务器所需的CPU核心数是一件非常复杂的事情,但考虑到以下因素,我相信管理员可以做出最适合自己的决定。确定虚拟服务器所需的CPU内核数量看似简单,但实际上需要考虑许多复杂的因素。首先,虚拟环境中的CPU使用率通常很低。其次,内存大小和速度通常会比CPU产生更大的影响。最后,虚拟服务器通常是I/O密集型的。事实上,服务器并不要求单个CPU的核心数太多,所以从表面上看,CPU核心数越少越好。但问题在于服务器设计的其他因素,这些因素都会对成本产生影响,从而最终决定配置。内存DRAM(动态内存)非常昂贵,而最新的、更高密度的DIMM(双列直插式内存模块)比主流DIMM更贵,因此便宜但数量充足的常规DIMM可能是更好的选择。好的选择。但现在Optane或NAND的NVDIMM已成为扩展TB内存的最佳方式。使用NVDIMM或更便宜的DRAM需要增加DIMM插槽的数量,这可以使系统内存带宽增加一倍并带来其他性能提升,从而允许管理员在服务器上加载更多实例。向服务器添加快速NVMeSSD可以显着提高实例的I/O性能。这曾经是一个非常昂贵的解决方案,但现在NVMe进入消费市场后,价格大幅下降。NVMe大大降低了操作系统的I/O开销,可以节省大量的CPU和内存时间周期。同样,RDMA(RemoteDirectDataAccess)广泛应用于HCI(HyperConvergedInfrastructure),未来几年将成为以太网标准特性,降低系统开销和Delay。总而言之,内存和I/O方面的性能改进允许管理员运行更多CPU耗尽的虚拟服务器实例。因此,需要增加单个CPU的核心数来保证服务器的正常运行。实例配置在本文中,有必要讲一下究竟什么是实例。当然,我们不能为一个实例设置一个固定的大小。实例可能包含各种应用程序的各种配置。可以是一个虚拟核心对应一个物理核心,也可以是多个虚拟核心对应一个物理核心,甚至可以是一个虚拟核心对应整个CPU。内存和I/O分配也是自变量。实例的趋势是更大的DRAM和更多的I/O以及更低的虚拟核心比率——也就是说,每个实例有更多的CPU。如果管理员希望在未来五年内使用此类实例,那么具有更多CPU内核的服务器引擎将大有帮助。容器和微服务是相对较新的虚拟化方法,旨在取代基于管理程序的实例。由于共享内存段,运行容器的服务器通常比运行管理程序的服务器需要更少的DRAM,因此容器的数量通常是实例数量的三到五倍。但是实例数量的增加意味着需要更多的CPU内核。如果我们迁移到微服务软件架构,将存储和网络服务功能转化为小型容器化模型,将应用程序分离为微服务元素,那么单台服务器上可以运行的容器数量将不断增加,而且是急剧增加的。.微服务意味着CPU更频繁的状态切换。需要更好的性能和并发,所以单CPU需要更多的核心才能满足要求。服务器架构创新所有这些都忽略了服务器架构中最先进的技术。关于HMC(HybridMemoryCube)的讨论已经进行了三年,它可以形成一个更紧密耦合的CPU和DRAM段模型。这种方法可以大大提高DRAM的速度,例如电气接口和架构调用以及DRAM的许多并行通道。现在很多主流厂商都在推广类似HMC的平台,其早期版本将DRAM的容量限制在不超过32GB。这足以在三层与DRAM之间形成一个足够大的中间层缓存,有效提升内存性能以支持更多的CPU核心。由此得出的结论是,多个CPU核心是有意义的。添加内核的成本注意事项通常,更少、更强大的服务器比多个更小的服务器更具成本效益。它们的运行成本更低,并且能够支持25Gb以太网和50GbRDMA连接。底层基础设施的电力成本被摊销,运营费用——电力、冷却、维护等——都变得更便宜。所有这些讨论都包含一些关于如何选择组件的好建议。例如,每个核心的成本随着数量的增加而下降,但最好的三四个CPU可能是全新的,成本要高出50%到100%。这同样适用于RAM和SSD。如果您没有使用尖端技术,那么似乎更多的CPU内核和更高配置的服务器比更小的服务器更具吸引力,但爆米花大小的Web服务器除外。展望未来服务器架构发展的未来路径比以前更加模糊,是否转向以内存为中心的架构——比如Gen-Z——还在争论中。即便如此,2018年我们依然可以看到32核CPU,如果HMC内存容量扩大到TB级别,CPU核心数还会继续增加。一些供应商暗示了在架构中同时使用DRAM和NAND的可能性。通过使用多核虚拟服务器和HCI架构,特定工作负载所需的服务器存储将大大减少。注意事项:需要注意网络设计和流量。即使采用最新的速度和技术,我们仍然在与LAN和WAN的限制作斗争。加密和压缩正在迅速成为局域网的必备功能,这将带来更多的CPU负载,这将需要更多的CPU内核。
