为什么我们的软件在虚拟化条件下运行得这么慢?
|
我试图弄清楚为什么我们的软件在虚拟化条件下运行时会慢得多。我见过的大多数统计信息都说,在最坏的情况下,性能损失应该只有10%,但是在Windows虚拟服务器上,性能损失可能是100-400%。我一直在尝试剖析差异,但是剖析结果对我而言并没有多大意义。这是在没有虚拟化的Vista 32位设备上进行配置时看到的内容:
这是在具有虚拟化功能的Windows 2008 64位服务器上运行的服务器:
较慢的一个在ѭ0中花费了大量的时间,在较快的一个上显示为0.0s。知道那是什么吗?另外,当我将进程附加到机器上时,只有一个线程,即“ 1”,但是当我在服务器上进行连接时,只有两个线程,即“ 2”和“ 0”。据我所知,我们编写的代码仅使用一个线程。另外,值得的是,这是一个纯控制台编写的纯控制台的应用程序,完全没有UI。
有人能为我阐明这一切吗?甚至只是有关这些
ntdll
和kernel32
通话中正在做什么的信息?我也不确定与64/32位相关的差异有多少,与虚拟/非虚拟相关的差异有多少。不幸的是,我无法轻松访问其他配置来确定差异。
没有找到相关结果
已邀请:
2 个回复
念炯
替秀宝