gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 14:54:32 24 4
gpt4 key购买 nike

我正在编写一个很快 > 1000 请求/秒的高性能 ASP.NET Json API。我所有的逻辑和处理都是在一个 IHttpHandler 中完成的。我通过秒表类测量,处理程序在大约 0,1 - 0,5 毫秒内完成请求。

但似乎 IIS 和/或其他 HTTPHandlers(模块?)正在夺走很多性能。我可以以某种方式测量吗?当配置为最佳性能时,请求在 IIS 中会产生多少开销?

删除所有这些 HTTPHandler 会有所帮助,还是有其他技巧可以加快速度?除了 Session 之外,我不需要太多的 ASP.NET 功能集(如果它可以显着提高性能,甚至可以解决这个问题)。

最佳答案

测量 Web 服务器的性能并非易事。有几点需要考虑:

  • 找到实际的瓶颈。这可以是内存、磁盘访问、缓存、数据库访问、网络延迟等。使用内存分析器或其他 performance profiler找出答案。
  • 使用WireShark找出请求在您的机器上的时间与您的代码运行的时间之间的差异。
  • 尝试其他配置。给 ASP.NET 更多内存。升级测试系统。即,从每秒 600 个请求的 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 台服务器上具有出色的性能,并且每小时可以处理超过 100 万的访问者。他们设法做到了。我相信他们在上面写了一些博客文章,但我不记得它们在哪里。

    关于asp.net - 高性能 ASP.NET 站点(> 1000 请求/秒),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9796163/

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