Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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
Azure 如何配置;“自动缩放”;要处理由于外部进程而等待时间较长的Web实例?_Azure_Azure Web App Service - Fatal编程技术网

Azure 如何配置;“自动缩放”;要处理由于外部进程而等待时间较长的Web实例?

Azure 如何配置;“自动缩放”;要处理由于外部进程而等待时间较长的Web实例?,azure,azure-web-app-service,Azure,Azure Web App Service,我正在使用MVC3、ASP.NET4.5、C#、Razor、EF6.1、SQLAzure 我一直在使用JMeter进行一些负载测试,我发现了一些令人惊讶的结果 我对30个并发用户进行了测试,测试时间超过10秒。测试计划相当简单: 登录 导航到第页 询问 向后导航 注销 我使用的是“小型”“标准”实例 我注意到web实例可能正在等待外部进程,例如数据库查询,因此web CPU可能很低,但这仍然是一个瓶颈。在等待数据库的结果集时,CPU可能以40%的速度空闲。因此,这也可能是无法触发额外实例的原因。

我正在使用MVC3、ASP.NET4.5、C#、Razor、EF6.1、SQLAzure

我一直在使用JMeter进行一些负载测试,我发现了一些令人惊讶的结果

我对30个并发用户进行了测试,测试时间超过10秒。测试计划相当简单:

  • 登录
  • 导航到第页
  • 询问
  • 向后导航
  • 注销
  • 我使用的是“小型”“标准”实例


    我注意到web实例可能正在等待外部进程,例如数据库查询,因此web CPU可能很低,但这仍然是一个瓶颈。在等待数据库的结果集时,CPU可能以40%的速度空闲。因此,这也可能是无法触发额外实例的原因。事实上,这是一个真正的问题。如何基于更长的等待时间触发额外实例?目前唯一的解决办法是永久性地在那里安装2个实例,或者根据时间表主动设置它。

    使用异步调用,您就不必担心扩展问题。等待的线程将处于休眠状态,释放资源以处理其他用户


    如果在那之后您仍然看到响应时间延长,那么可能是外部进程阻塞了,需要放大

    非常感谢这一点。另一种观点。我仍然在这个应用程序中使用MVC3,并将很快升级。在MVC4或MVC5中,异步是否得到了极大的改进?我想“异步”也会显著提高“并发性”。我想说,我们目前的目标是大约100个并发用户,响应时间<2秒。我认为如果一个进程花费的时间超过X毫秒,就不能配置“自动缩放”向上缩放。如果不是,那么可能应该是?1)我不知道。2) 异步的美妙之处在于,它允许在线程通常被阻塞时使用线程(例如,线程正在等待数据库操作的结果,该线程可以在等待时被其他代码重用),从而有效地提高了并发性。3) 不确定长响应时间是否是自动缩放的最佳指标。如果CPU和内存使用率较低,则向外扩展不太可能增加并发性,因为调用很可能在外部事件中被阻止。但是,如果您愿意,您可以在此提出建议: