【发布时间】:2019-12-26 06:43:26
【问题描述】:
【问题讨论】:
标签: performance azure exception azure-web-app-service azure-webapps
【问题讨论】:
标签: performance azure exception azure-web-app-service azure-webapps
正如 Sajeetharan 正确提到的那样,异常可能会导致大量问题,我喜欢良好的报价。对于表现出的症状 - 页面加载缓慢,有时超时。
此类问题通常是由应用级别问题引起的,例如:
只是为了隔离与资源/基础设施相关的问题 - 您可以确保“始终开启”功能已启用,并且您可以扩展应用服务计划。
一般 - 解决此类性能问题可以分为三个不同的任务,按此非常丰富的文档中提到的顺序(为了清楚起见,在此处突出显示其中的一些)方便):
应用服务在每个步骤中为您提供各种选项:
1A - 跟踪服务运行状况 - 每次出现服务中断或性能下降时,Azure 都会公布。
1B - 监控您的应用 - 此选项可让您了解您的应用是否有任何问题。
1C - *监控 Web 端点状态 - 端点监控从地理分布的位置配置 Web 测试,以测试 Web URL 的响应时间和正常运行时间。
1D - 使用扩展程序监控应用程序性能 - 您还可以使用站点扩展程序监控应用程序性能。
2A - 启用 Web 服务器诊断 - 您可以启用日志,例如 - 详细错误日志、失败请求跟踪和 Web 服务器日志
2B - 启用应用程序诊断 - 从应用服务收集应用程序性能数据
2C - 您可以启用 Application Insights Profiler 以开始捕获详细的性能跟踪。
2D - 远程分析在进程的 CPU 使用率很高并且您的进程运行速度低于预期或 HTTP 请求的延迟高于正常值时很有用。
2E- 利用 Kudu 控制台 - Kudu 是一个诊断控制台,如果您的应用程序首次抛出异常,您可以使用 Kudu 和 SysInternals 工具 Procdump 创建内存转储。这些内存转储是该过程的快照,通常可以帮助您解决应用中更复杂的问题。
3.纵向扩展/横向扩展和回收 - 根据应用需求,您可以纵向扩展资源并根据需要回收/重新启动。
对于冗长的回复深表歉意,只是分享了几个缩小问题范围的选项。希望以上信息对您有所帮助!告诉我们进展如何,我们非常乐意帮助您进一步调查/纠正问题。
【讨论】:
这不仅特定于 Azure,而且如果您将应用程序部署在任何地方(在云中或本地)也很常见。异常可能会导致大量问题,尤其是在性能方面。
有句话
No matter how high the performance of your program is, as long as you did not handle the "exceptions", it's broke.
您需要缓存数据、处理异常、处置资源等,以避免出现性能问题和网站崩溃。例如,在 javascript 应用程序中 回调通常会分配内存、累积工作,但会涉及大量额外的样板文件,并且会使线程安全变得很痛苦。
【讨论】: