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

为什么IIS比ASP.NET Development Server慢?

发布时间:2020-12-16 03:34:30 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASPX网页,可以执行一些复杂的操作和数据库调用.当我通过运行ASP.NET Development Server(Cassini)查看网页时,大约需要200ms. 然后,在没有任何代码更改和配置更改的情况下,我将网站部署到我的本地计算机IIS 7并再次查看同一网页.它需要2.0秒,慢10倍.
我有一个ASPX网页,可以执行一些复杂的操作和数据库调用.当我通过运行ASP.NET Development Server(Cassini)查看网页时,大约需要200ms.

然后,在没有任何代码更改和配置更改的情况下,我将网站部署到我的本地计算机IIS 7并再次查看同一网页.它需要2.0秒,慢10倍.

我认为IIS应该比卡西尼快(或者至少快).

为了进一步调查,我创建了一个新页面test1.aspx,它只包含一个空的for循环,在Page_Load中运行了9000万次.在卡西尼号,它需要大约200毫秒.在IIS中,它需要300毫秒(慢50%).

可能是什么原因导致IIS比卡西尼慢?或者,也许是一个更好的问题,我怎样才能使IIS运行至少与卡西尼一样快?

解决方法

快速简短的回答:

配置Web应用程序使用的应用程序池以启用32位应用程序:

详细演练:

我使用了一些performance profiling tools(有些是free)来比较性能并找出瓶颈.免费的EQATEC Profiler足以让我比较运行Cassini和IIS生成的两个报告,并找出导致问题的方法.但是,该方法包含太多行,我无法确定导致问题的确切行.

然后Redgate ANTS就派上用场了.通过使用行级详细信息对方法进行分析,我发现RegEx的运行速度非常慢.

进一步搜索引导我得到答案:RegEx.Match is much slower in IIS compared to Development Server (Cassini).我在IIS 7中使用Windows 7 64位.将“启用32位应用程序”设置为True可以解决问题.

此外,有关将IIS运行为32位或64位的略微相关读数:

64-bit servers are much more effective when used for databases like
SQL Server,or other data management servers (let’s say,an enterprise
email server like Exchange),than for processing servers,such as IIS
or the worker processes it manages.

It will require 64-bit pointers for every lookup,which will make
everything a little slower.

资料来源:What are the pros and cons of running IIS as 32bit vs 64bit on a 64bit OS?

(编辑:李大同)

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

    推荐文章
      热点阅读