Gan*_*Gan 5 asp.net iis performance cassini
我有一个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运行至少与卡西尼一样快?
Gan*_*Gan 10
配置Web应用程序使用的应用程序池以启用32位应用程序:

我使用了一些性能分析工具(有些是免费的)来比较性能并找出瓶颈.免费的EQATEC Profiler足以让我比较运行Cassini和IIS生成的两个报告,并找出导致问题的方法.但是,该方法包含太多行,我无法确定导致问题的确切行.
然后Redgate ANTS就派上用场了.通过使用行级详细信息对方法进行分析,我发现RegEx的运行速度非常慢.
进一步搜索引出了我的答案:与开发服务器(Cassini)相比,IIS中的RegEx.Match要慢得多.我在IIS 7中使用Windows 7 64位.将"启用32位应用程序"设置为True可以解决问题.
此外,有关将IIS运行为32位或64位的略微相关读数:
64位服务器在用于SQL Server或其他数据管理服务器(比如企业电子邮件服务器,如Exchange)等数据库时,比处理服务器(如IIS 或其管理的工作进程)更有效.
每次查找都需要64位指针,这会使一切变慢.
来源:在64位操作系统上运行IIS为32位对64位的优缺点是什么?
| 归档时间: |
|
| 查看次数: |
7159 次 |
| 最近记录: |