以上所有可能都是正确的。影响我工作的ASP.NET站点性能的最大因素是与它有关的所有内容都是陈旧的。.NET框架版本,服务器,数据库基础结构以及代码本身都严重老化。
我怀疑许多ASP.NET网站都倾向于是公司网站。这些人不会得到太多的爱,因为它们往往只会起作用。人们直到需要时才重写它们,这通常需要很长时间。
我知道与我一起使用ASP.NET的网站仅通过迁移到框架的最新版本就获得了巨大的提速,该框架具有更有效的JITing和合理的缓存默认设置。
我看到的另一件事是,许多ASP.NET网站都不知道如何正确缩放。他们没有适当的负载平衡设置,因为在社区中设计其站点以使其与Web Garden一起正常使用并不普遍,也没有充分记录在案。如果您从一开始就没有为网络花园设计站点,则无法使用IIS具有的内置横向扩展机制。Windows NLB的软件负载平衡不是很常见,并且管理起来很复杂。(这可以回溯到这样一个事实,ASP.NET往往是公司软件,并且往往由运行站点的公司而不是由知道如何正确配置此东西的IT专业人员来管理。)
使用F5进行硬件负载平衡非常昂贵,但似乎是在公司网络内扩展ASP.NET站点的最常见和最简单的机制。我认为开源人群中的期望是,您从一开始就使用免费的开源工具建立负载平衡,这些工具会根据使用情况自动进行扩展。从我所见,这在ASP.NET世界中并不常见。