Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
C# Azure Web应用程序。免费比基本和标准快吗?_C#_Asp.net Mvc_Wcf_Azure - Fatal编程技术网

C# Azure Web应用程序。免费比基本和标准快吗?

C# Azure Web应用程序。免费比基本和标准快吗?,c#,asp.net-mvc,wcf,azure,C#,Asp.net Mvc,Wcf,Azure,我有一个C#MVC应用程序,在Azure上运行WCF服务。首先,它当然是在免费版本上托管的,但由于我有一个运行平稳的版本,我想尝试看看它是如何在基本版还是标准版上运行的,据我所知,这应该是专用服务器 令我惊讶的是,一旦代码从免费更改为标准或基本,它的运行速度就会明显减慢。我选择了最小的实例,但仍然希望它们的性能比自由选项更好 从性能日志中,我可以看到运行速度特别慢的代码是从Task.Run异步启动的。最初它是老式的Thread.Start(),但考虑到这是否会在一些低优先级的线程中产生它,因此将

我有一个C#MVC应用程序,在Azure上运行WCF服务。首先,它当然是在免费版本上托管的,但由于我有一个运行平稳的版本,我想尝试看看它是如何在基本版还是标准版上运行的,据我所知,这应该是专用服务器

令我惊讶的是,一旦代码从免费更改为标准或基本,它的运行速度就会明显减慢。我选择了最小的实例,但仍然希望它们的性能比自由选项更好

从性能日志中,我可以看到运行速度特别慢的代码是从Task.Run异步启动的。最初它是老式的Thread.Start(),但考虑到这是否会在一些低优先级的线程中产生它,因此将其更改为Task.Run-没有任何更改-因此可能与它无关-但是它可能会,所以现在您知道了

运行速度非常慢的代码基本上可以在一些XML文档上运行,通过XDocument、XElement等。它可以循环运行,有一些LINQ等,但没有什么特别之处。但是它在基本版和标准版上还是比免费版慢5-10倍?对于完全相同的请求,免费版本使用大约1000ms,而基本和标准版本使用8000-10000ms

在每次测试中,我都尝试了5-10次,但响应时间没有任何减少。我想我是否需要等几个小时,基本/标准才能完全发挥作用,或者类似的东西,但每次我切换回来,免费版本只是从一开始就跑赢了它


有什么建议吗?出于某种奇怪的原因,免费版是否比基本版或标准版更强大?或者,一旦我开始使用基本版或标准版运行,我是否需要进行不同的配置?

免费版和基本版/标准版的显著区别在于,免费版使用的共享内核数量未知,而Basic/Standard有一个定义的CPU核数(1-4个,取决于您支付的费用)。与此相关的是,Free是一个共享实例,而Basic/Standard是一个私有实例

基于此,我的最佳猜测是,由于您所在的免费服务器将容纳多个不同的用户和应用程序,因此它们可能有非常严格的规范。他们的CPU可能是8核Xeon,甚至可能有多个CPU。最有可能的是,Azure没有强制执行任何上限,而是依赖配额(免费层为60 CPU分钟/天)和服务器的总体需求来限制CPU使用。换句话说,如果你的站点是目前唯一一个碰巧在做任何事情的站点(当然不太可能,但为了举例说明),那么你可能正在潜在地利用盒子上的所有8+内核,而当你转到基本/标准时,你很难被限制在1-4个。处理XML实际上非常占用CPU,因此这似乎符合我的假设


这很可能是一次侥幸。也许您的派驻服务当前位于一个相对较新配置的服务器上,该服务器尚未填满租户。也许你只是碰巧和做得不多的房客分享。谁知道呢?但是,如果服务器真的处于实际负载下,我想你会发现免费层的响应时间甚至比基本/标准层都要差。

我猜微软是想给人留下好印象,所以免费层对少量用户/资源来说相当快。这家伙说他在20个免费用户的同时遇到了一个很大的障碍:感谢这个链接,我实际上一直在寻找不同选项的直接比较。这可能是一个非常合理的解释。我尝试将标准扩展到中型和大型,然后提供与免费选项相同的性能。结合您的回答和我最初问题下面评论中的链接,我尝试了共享选项,它实际上提供了我所见过的最佳性能。当然,正如您所建议的,我的时间可能会有所不同,这取决于运行在共享服务器上的其他站点加载了多少共享服务器(包括免费服务器和共享服务器)。