3

我有一个当前在 IIS 6.0 上运行的应用程序,带有一个工作进程(默认)。我正在尝试确定创建网络花园是否会提高性能。我读过很多文章说网络花园不是每个人的正确方法(因为它复制资源,缓存不共享等)。我找不到一篇文章对使用网络花园有明确的理由(微软的网站提供了三个要点,但找不到具体的例子)。我的情况如下:

  1. 在给定时间,我们最多可以有 40 个并发用户。
  2. 我们的应用程序执行一系列计算(计算量级为 1,000 次),最多可能需要 10 分钟才能完成。
  3. 我们有多个数据库调用,其中一些可能需要长达 30 秒才能完成。

创建一个网络花园会提高性能,还是我应该简单地增加当前工作进程中的线程数?什么时候应该使用网络花园?如果当前工作进程中的线程正在执行计算(运行.net 代码)和/或调用数据库,其他线程可以同时运行(我假设是)。

谢谢。瑞安

4

1 回答 1

4

就个人而言,当我的 Web 应用程序需要频繁的工作进程回收时,我已经使用了 Web Garden。

在这种特定情况下,我们经常需要回收工作进程,因为我们使用 CodeDOM 动态发出程序集,根据定义,随着更多程序集的加载,它会发生内存泄漏。

拥有一个网络花园有助于避免每次回收工作进程时服务器响应的延迟。

于 2010-10-11T13:16:49.127 回答