gpt4 book ai didi

asp.net - 与开发服务器(Cassini)相比,IIS 中的 RegEx.Match 慢得多?

转载 作者:行者123 更新时间:2023-12-04 15:14:07 28 4
gpt4 key购买 nike

在查看 asp.net (webservice) 应用程序的性能时,我们注意到它在 IIS 上(38 秒)比在开发服务器上(18 秒)慢得多。
运行 Visual Studio 的性能分析器(以采样模式),我们注意到不同之处在于调用 regex.Match?!在 IIS 中,它花费了 70% 的时间,在开发服务器中针对相同的应用程序运行相同的测试,它花费的时间不到总时间的 1%。

所以任何人都可以解释 IIS 和开发服务器之间这种奇怪的行为差异???
我已经尝试了不同应用程序池设置的东西......但没有任何帮助

最佳答案

找到了!

这似乎是因为 IIS 以 64 位运行它(而 casinni 可能以 32 位运行)。通过将应用程序池切换为使用 32 位,它在 IIS 中也很快,将其重置回 64 位,它又变慢了。

通过搜索 64 位 + regex 慢,我还发现人们在 2006 年已经发现了这个,而且它应该在 .NET 2.0 上的 sp 中修复(参见:http://blogs.msdn.com/b/bclteam/archive/2007/05/21/the-regexoptions-compiled-flag-and-slow-performance-on-64-bit-net-framework-2-0-josh-free.aspx)

但是我使用 .NET 4.0,所以我没想到这个问题仍然存在......

(在 stackoverflow 上另见: Regex slow on Windows Server 2008 )

顺便提一句。如果我这样做 不使用 RegexOptions.Compiled创建正则表达式时,它 还有在 64 位上执行速度很快。但我需要做一些基准测试,看看不编译它在 32 位上有什么影响。

关于asp.net - 与开发服务器(Cassini)相比,IIS 中的 RegEx.Match 慢得多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11365555/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com