gpt4 book ai didi

c# - Azure Web 应用程序。免费比基本版和标准版更快?

转载 作者:行者123 更新时间:2023-11-30 19:57:32 26 4
gpt4 key购买 nike

我有一个 C# MVC 应用程序,其中包含在 Azure 上运行的 WCF 服务。第一个当然是托管在免费版本上,但由于我的版本运行顺利,所以我想尝试看看它如何在基本版或标准版上运行,据我所知,这应该是专用服务器。

令我惊讶的是,从免费更改为标准或基本后,代码的运行速度明显变慢。我选择了最小的实例,但仍然期望它们的性能比免费选项更好?

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

运行速度非常慢的代码基本上通过 XDocument、XElement 等处理某些 XML 文档。它会循环,有一些 LINQ 等,但没有什么太花哨的。但基本版和标准版的速度仍然比免费版慢 5-10 倍吗?对于完全相同的请求,免费版本使用大约 1000 毫秒,而基本版和标准版使用 8000-10000 毫秒?

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

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

最佳答案

免费和基本/标准层之间的显着区别在于,免费使用未公开数量的共享内核,而基本/标准具有定义的 CPU 内核数量(根据您支付的金额为 1-4)。与此相关的是,Free 是共享实例,而 Basic/Standard 是私有(private)实例。

基于此,我的最佳猜测是,由于您所在的免费服务器将容纳多个不同的用户和应用程序,因此它们可能具有相当强大的规范。他们的 CPU 可能是 8 核 Xeon,甚至可能有多个 CPU。最有可能的是,Azure 不会强制执行任何上限,而是依靠配额(免费套餐为 60 CPU 分钟/天)和服务器的总体需求来限制 CPU 使用。换句话说,如果您的站点是唯一一个正在做任何事情的站点(当然不太可能,但为了举例),您可能会利用盒子上的所有 8 个以上核心,而当您移动时对于基本/标准,您的数量被硬性限制为 1-4。处理 XML 实际上需要大量 CPU 资源,因此这似乎符合我的假设。

这很可能是一个侥幸。也许您的驻地当前位于相对较新配置的服务器上,尚未填满租户。也许您只是碰巧与不做太多事情的租户合租。谁知道?但是,如果服务器实际上处于真实负载下,我想您会看到免费层的响应时间甚至比基本/标准更差。

关于c# - Azure Web 应用程序。免费比基本版和标准版更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29658460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com