为什么IIS比ASP.NET Development Server慢?
我有一个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位的略微相关读数:
资料来源:What are the pros and cons of running IIS as 32bit vs 64bit on a 64bit OS? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – MVC应用程序中的Aspx母版页
- asp.net-mvc-4 – 在MVC 4中创建下拉列表的最佳方法是什么?
- asp.net-mvc – 修改后ASP.NET包缓存不清除
- 由for V.S. for each想到的
- asp.net – 在使用母版页时,如何为标记分配特定的名称?
- asp.net-mvc – 使用KendoUI Grid的KendoUI编辑器模板问题
- ASP.net MVC验证突出显示和不正确的字段Jquery上的图标
- asp.net-mvc – 在控制器的OnException中确定结果类型
- asp.net-core-mvc – 使用asp.net核心的google身份验证器
- asp.net-mvc-4 – 没有为此对象定义的无参数构造函数.在剑道
- ASP.NET 站点地图的使用
- asp.net-mvc-3 – 将Mocked HttpPostedFileBase作
- asp.net – 如何手动停止kestrel服务器
- asp.net-mvc-2 – 向下维护页面?
- asp.net – 如何在构建期间从Visual Studio调用a
- asp.net-web-api – 可以从Request对象获取当前的
- asp.net – 为网站设置expire标头需要多长时间?
- asp.net – 带有UpdatePanel Viewstate问题的JQu
- asp.net-core – 如何在.NET Core 2.0中使用Prin
- 找出ASP.NET请求是否来自本地计算机