【问题标题】:asmx web service slower after upgrade升级后 asmx Web 服务变慢
【发布时间】: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


    【解决方案1】:

    fyi - 问题不是 asmx、iis7、iis6、调试模式或管道模式。新的 IIS7 64 位服务器从内部 IP 地址开始,然后升级为公共 IP 地址。由于网络路由的差异,IP地址有所不同。 IIS6 测试用例基于公共 ip。一旦我为 IIS7 服务器使用了公共 ip,时间就相当相似了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      • 2013-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多