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

高性能ASP.NET站点(> 1000请求/秒)

发布时间:2020-12-15 23:24:41 所属栏目:asp.Net 来源:网络整理
导读:我正在写一个高性能ASP.NET Json API,很快 1000请求/秒.我的所有逻辑和处理都在IHttpHandler中完成.我通过Stopwatch Class测量,处理程序以0.1 – 0.5毫秒为单位完成一个请求. 但是似乎IIS和/或其他HTTPHandler(模块?)正在消除很多性能.我能衡量一下吗?配置
我正在写一个高性能ASP.NET Json API,很快> 1000请求/秒.我的所有逻辑和处理都在IHttpHandler中完成.我通过Stopwatch Class测量,处理程序以0.1 – 0.5毫秒为单位完成一个请求.

但是似乎IIS和/或其他HTTPHandler(模块?)正在消除很多性能.我能衡量一下吗?配置为最佳性能时,请求在IIS中产生多少开销?

会删除所有这些HTTPHandler的帮助,还是有其他的技巧来加速?除了Session之外,我不需要大量的ASP.NET Featureset(甚至可以解决这个问题,如果它提供了显着的性能提升).

解决方法

测量Web服务器的性能不是微不足道的任务.需要考虑的几件事情

找出实际的瓶颈.这可以是内存,磁盘访问,缓存,数据库访问,网络延迟等.使用内存分析器或其他performance profiler来查找.
>使用WireShark找到您的机器上的请求多长时间和代码运行时间之间的差异.
>尝试其他配置.给ASP.NET更多的内存.升级测试系统即,从8GB / 2.5GHz,600请求/秒到16GB / 3.0GHz可以产生6500个请求/秒.绩效增长往往不是线性的.见this document from Microsoft.
>考虑添加额外的机器.这可以产生高达50甚至更高的性能升级,具体取决于您如何配置它.再次查看MS的文件.
>检查these hints by Jon Skeet.评论线索也揭示了一些不明显的潜在瓶颈.

注1:知道你的工具. ASP.NET在自己的线程中运行每个请求.线程交换比进程交换更快,但仍然需要时间.如果其他处理程序需要时间,因为它们位于请求链中,则禁用它们是有益的.

注意2:stackoverflow的最初的一个目标是在ASP.NET中创建一个在最多2台服务器上具有出色性能的站点,并且可以处理>每小时1Mln个访客.他们设法做到这一点.我相信他们写了一些博客,但我不记得他们在哪里.

(编辑:李大同)

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

    推荐文章
      热点阅读