Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 有没有办法模拟2个CPU内核?_Asp.net Mvc_Azure - Fatal编程技术网

Asp.net mvc 有没有办法模拟2个CPU内核?

Asp.net mvc 有没有办法模拟2个CPU内核?,asp.net-mvc,azure,Asp.net Mvc,Azure,我的应用程序是ASP.NET MVC 我在本地机器(8核)上使用了大量并行处理,运行非常平稳 但当我转到Azure中实例(2个内核)时,在测试过程中,我会遇到奇怪的减速,有时程序会停止工作 有没有办法模拟1个、2个或其他数量的内核以匹配生产环境中的情况?我想您可以尝试为开发服务器设置进程关联性。为此,(假设Windows 7)打开任务管理器,右键单击服务器进程并选择Set Affinity…,然后选择要在其上运行的核心 刚刚设法找到了一种绕过@Dai上面的答案的方法,但这意味着您必须自己启动开发

我的应用程序是ASP.NET MVC

我在本地机器(8核)上使用了大量并行处理,运行非常平稳

但当我转到Azure中实例(2个内核)时,在测试过程中,我会遇到奇怪的减速,有时程序会停止工作


有没有办法模拟1个、2个或其他数量的内核以匹配生产环境中的情况?

我想您可以尝试为开发服务器设置进程关联性。为此,(假设Windows 7)打开任务管理器,右键单击服务器进程并选择
Set Affinity…
,然后选择要在其上运行的核心

刚刚设法找到了一种绕过@Dai上面的答案的方法,但这意味着您必须自己启动开发服务器。此
.bat
文件使用两个内核运行notepad.exe(您可以通过在任务管理器中检查其关联性来验证):


0x03
指定核心1和核心2。help命令有点混乱,但它似乎将这些命令组合在一起以获得结果(如1+2=3,除非我误解了它)。因此,如果您需要更改为一组不同的内核,请记住这一点。

@JohnH的方法似乎是最好的,但每次w3wp.exe在您的计算机上运行时,您都必须这样做。另一种方法是将操作限制为2个线程(如果使用超线程,则限制为4个线程)。我们需要更多关于您如何并行处理信息的信息


一个可parralelisable问题在8核机器上的运行速度应该是2核Azure VM的4倍,但如果出现“程序停止工作”的情况,则意味着您有一个bug。

我不确定这是否会完全有助于解决该问题,但您可以为每个核心设置。通过这种方式,您可以限制运行的线程。

您可以发布代码,展示如何使用并行处理。请确保您正在Windows Azure Emulator中进行测试,而不仅仅是普通的ol调试。azure环境中的运行方式不同,这可能是导致错误的原因。如下所述,除非您有一些非常复杂的多线程正在进行,否则最糟糕的情况应该是机器的处理速度较慢/吞吐量较低。我尝试使用Azure Emulator,但无论我指定哪种目标机器,它都使用我本地PC的8核。
start /affinity 0x03 notepad.exe