加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.Net IIS7获取每个请求的CPU使用率

发布时间:2020-12-16 07:03:07 所属栏目:asp.Net 来源:网络整理
导读:我有一个在生产服务器上运行的asp.net应用程序. 服务器上的CPU使用率非常高,为80-90%. 但是,除非cpu达到100%的峰值,否则每个请求似乎都不会花费太长时间. 我需要获取一些分析数据,以确定高CPU使用率是由于少量的高CPU请求,还是,如果它只是一般的高负载. 我
我有一个在生产服务器上运行的asp.net应用程序.

服务器上的CPU使用率非常高,为80-90%.

但是,除非cpu达到100%的峰值,否则每个请求似乎都不会花费太长时间.

我需要获取一些分析数据,以确定高CPU使用率是由于少量的高CPU请求,还是,如果它只是一般的高负载.

我可以在机器上添加更多核心,也可以在应用程序中添加web,但我需要证据才能证明任何成本以及未来的性能证明.

有没有办法记录每个页面请求的CPU使用情况?

解决方法

实际上,您无法使用计数器直接确定各个请求的CPU利用率. ASP.NET请求由工作进程处理,其负载分布在所有可用的CPU核心上.您可以测量每个核心或每个进程的CPU利用率,但不能按照请求进行测量.

您可以使用IIS7高级日志记录间接隔离CPU饥饿请求.您可以从here下载它.阅读this blog以了解如何启用自定义日志记录.您需要在日志定义中添加“CPU利用率”字段.新的IIS日志文件将显示每个请求行的CPU利用率.然而,这不是请求处理的实际CPU利用率,而是请求处理期间的CPU利用率.您仍然可以使用此信息来确定可能会占用大量CPU的可疑请求.

通过负载测试进一步单独测试这些请求,看看它们是否在合理负载下产生过多的CPU使用率. Microsoft负载测试工具包含在VSTS 2010 Ultimate Edition或VSTS 2008 Test Edition或Team Suite中.或者,您可以使用WCAT – 免费的Microsoft命令行HTTP负载生成器.此外,我们开发了一个名为StresStimulus的免费Fiddler负载测试扩展,可以使用各种负载模式和图形性能指标重放Fiddler会话.

在生产中小心运行负载测试.您可以在理想的负载下运行每个请求几秒钟.如果您无法找到未经优化的页面,请使用此因子来证明硬件升级的合理性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读