VMWare虚拟机环境中的多线程

use*_*779 2 vmware multithreading virtual-machine

我们通过在单独的虚拟机中运行单线程应用程序来扩展它-每个实例都配置为在整体工作负载的特定分区上工作。尽管我们不会消除当前对vm的依赖,但一直有一种想法是,可以通过在应用的某些部分添加线程来获得更好的性能。

为虚拟机环境设计的应用程序的架构线程与为非虚拟机环境设计的应用程序的架构线程是否不同?我主要关心的是,对于设计到应用程序中的每个线程,每台计算机可能启动的实际线程数是计算机上运行的vm实例数的函数,并且实际上可能导致性能下降。

提前致谢。

编辑:上面的vm是指VMWare提供的虚拟机。

Gra*_*ray 5

我认为您对“性能下降”的担忧是有根据的。如果您在一台机器上运行多个VM并向VM添加多个线程,则很可能只会增加上下文切换-不会从VM中获取更多工作。

当然,这很大程度上取决于您正在运行的作业。如果它们是IO绑定的,那么添加线程可能会为您提供更好的并行化。但是,如果它们受CPU /计算的限制,那么您很可能不会获胜,并且很可能会看到性能下降。