当前位置: 首页 > 知识库问答 >
问题:

什么会导致Azure应用服务计划上的高KUDU使用率(以及最终的502错误)?

端木高邈
2023-03-14

我们在Azure应用服务P2v2实例上有许多API应用程序和WebApps。我们一直在经历大量平台不稳定性:应用服务变得不健康,我们在各种应用程序(每次不同的应用程序)上出现了502个错误,这归因于应用服务上非常高的CPU和内存使用率。我们尝试一直扩展到P3v2,但无论问题是什么,似乎最终都会消耗所有可用资源。

只要我们能够在应用程序中找到罪魁祸首,它就不再是应用程序本身,而是与之相关的Kudu服务。

示例错误消息是在多个场合检测到的高物理内存使用率。应用程序[sitename]'pe-services-Color'的kudu进程是高内存使用率的最常见原因。kudu进程高内存使用率的最常见原因是Web作业。其中命名为Kudu服务的实际应用程序更改非常频繁。

是什么导致Kudu服务消耗如此多的CPU/内存,我们可以做些什么来稳定这个应用程序服务?

仅仅是因为我们在一个计划上运行了太多的应用程序吗?这似乎不太可能,因为所有这些应用程序之前都在单个经典云服务实例上运行,但如果是这样,单个计划上的应用程序和插槽的限制是什么?

(我看到了这个问题,但答案没有帮助)

Azure支持更新,这些显然是对中小型非共享应用程序服务的限制:

工作人员大小最大站点数

小5中10大20

  • “站点”包括应用程序服务/api应用程序及其插槽

它们似乎低得离谱,使得更大的应用程序服务单元非常不经济。有人能确认这些数字吗?

(顺便说一句,我们发现全面关闭始终开启解决了这个问题——它只是在空站点上引起了问题——我们还没有机会看到所有站点都被填满时性能是否良好。)

共有1个答案

陈翰林
2023-03-14

高CPU和内存利用率主要是由您的程序/代码本身造成的。如果有很多CPU密集型任务,并且您应用了大量并行编程,从而产生了大量新线程,这可能有助于提高cpu和内存利用率。因此,请查看您的代码并查看此类实例。当并行线程数量增加的cpu利用率很高并且它开始频繁扩展时,这会增加您的成本,有时还会导致线程丢失和意外结果。由于Azure资源成本很高,您需要相应地计划您的性能。您可以使用边栏选项中的应用服务计划的指标选项对此进行监控。

 类似资料:
  • 我使用此命令使用powershell创建了一个新的Web应用程序。 现在,我希望将web应用的应用服务计划从免费更改为共享/标准等。 读过文章 https://azure.microsoft.com/en-us/documentation/articles/azure-web-sites-web-hosting-plans-in-depth-overview/ 无法创建空的应用程序服务计划。那么,

  • 我们正在考虑将多个网站迁移到Microsoft Azure。我们相信应用服务标准的tier S1服务将满足我们的大部分需求。 应用服务计划详情 不幸的是,它最多提供50Gb的存储空间。是否可以将存储添加到总体服务计划中?(例如,存储将可用于应用程序服务上的所有应用程序)。 我知道您可以单独为每个应用程序添加blob存储,但我们更愿意在整个服务计划中增加可用存储。

  • 我正在尝试更改其中一个Azure应用服务的Azure应用服务计划,以下是我得到的。它无法搜索我刚刚创建的应用服务计划。 Azure应用服务的当前应用服务计划和我想要更改为存在于同一位置和同一资源组中的计划。这两个计划的唯一区别是定价层。现有计划恰好在“标准:2小”中,我刚刚创建的计划在“标准:1小”中。对于这两个计划,我都选择定价层为“标准1”,因此不确定这是如何在定价层名称中添加数字1和2的。

  • 问题内容: 我有一个具有高 缓冲区I / O 的客户端SQL Server 。 我检查了长时间运行的查询,添加了新索引,并且服务器上没有锁。是磁盘问题吗? 问题答案: 首先尝试检查您的磁盘延迟时间是否在阈值内。 您可以检查此链接以配置Perfmon:SQL Server磁盘性能指标-第1部分- 最重要的磁盘性能指标 该链接还提供了一些工具,可以对您的IO进行压力测试并获得报告。 如何使用SQLIO

  • 有两个Azure Web应用位于同一资源组中,但有两个不同的应用服务计划。 资源组web app group中的web-app-1具有应用服务计划web-app-1-plan 资源组web-app-group中的web-app-2具有应用服务计划web-app-2-plan 我在资源组web-app-group中创建了一个名为“web-app-3-plan”的新应用服务计划,该计划是在两个web应

  • 我有一个14gb内存的应用程序服务计划,它应该足以满足我的应用程序的需要。有两个应用程序服务在其上运行,每一个都是相同的-这些服务的私有内存消耗量徘徊在1gb左右,但在高使用率期间可能达到4gb。一个应用程序的使用模式比另一个应用程序更重。 最近,在高使用率期间,我注意到大量使用的服务可能会变得无响应,而在应用程序服务计划中,内存使用率保持在100%。 高流量服务正在使用4gb的专用内存,并开始大