【发布时间】:2023-04-01 19:21:01
【问题描述】:
我正在将 C# asp.net asmx Web 服务从 ii6(32 位)转移到 Windows 2008 和 iis7(64 位)。我之前得到了大约 160 毫秒的近似 Web 方法执行时间。在 iis7 上,我现在得到了大约 320 毫秒,即使在将 web 方法减少到几乎没有要执行的代码之后也是如此。我意识到第一次调用有一个编译时间。这个时间是在大约 20 次调用之后,时间似乎已经稳定了。
我想将运行 Web 方法的时间从 320 毫秒减少到 200 毫秒以下。这是为了帮助处理需要处理多个呼叫的情况。另一个问题是,当我在 1 秒内增加 20 个呼叫时,有时其中一个呼叫将需要大约 3 秒。这也是不可取的。
我尝试在发布模式下编译并从 web.config 中删除了调试编译。 .asmx 文件只是引用要加载到 dll 二进制文件中的类。
不同之处在于 iis7 被配置为显示更详细的错误消息以帮助设置。但是,由于这只是发生错误时,我看不出它会如何减慢常规调用的速度。
我尝试了集成流水线模式和经典流水线模式,但时间仍然相似。我还尝试将默认编译语言设置为 C#。我试过检查 ping 时间以确认它不是网络。 IIS 从 Web 服务方法中有代码时就设置了一些数据库连接,但现在它基本上什么都不做,我认为这应该不是问题。
【问题讨论】:
标签: performance iis-7 iis-6