首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么IIS比ASP.NET开发服务器慢?

问为什么IIS比ASP.NET开发服务器慢?
EN

Stack Overflow用户
提问于 2012-10-18 12:02:58
回答 1查看 8K关注 0票数 5

我有一个执行复杂操作和数据库调用的ASPX网页。当我通过运行ASP.NET开发服务器(Cassini)查看网页时,大约需要200 it。

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

我认为IIS应该比卡西尼快(或者至少和卡西尼一样快)。

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

使IIS比Cassini慢的原因是什么?或者,也许还有一个更好的问题,我如何使IIS运行至少与Cassini一样快?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-18 12:02:58

快速而简短的回答:

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

​

​

详细演练:

我使用了一些性能分析工具 (有些是免费)来比较性能和找出瓶颈。免费的EQATEC剖面仪足够好,我可以比较运行Cassini和IIS生成的两个报告,并识别导致问题的方法。但是,该方法包含了太多的行,而我无法精确地指出导致问题的确切行。

然后红门蚁就派上用场了。通过使用行级细节分析方法,我发现RegEx运行得非常慢。

进一步的搜索将我引向这里的答案:与开发服务器相比,IIS中的RegEx.Match要慢得多(Cassini)。我在IIS 7中使用Windows 7 64位,将“启用32位应用程序”设置为True解决了这个问题。

此外,在以32位或64位的形式运行IIS时,阅读的内容也略有关联:

64位服务器用于诸如Server之类的数据库或其他数据管理服务器(比方说,企业电子邮件服务器,如Exchange)比用于处理服务器(如IIS或它管理的工作进程)要有效得多。 它将需要64位指针的每次查找,这将使一切都有点慢。

来源:在64位操作系统上将IIS作为32位和64位运行的利弊是什么?

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12954150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档