首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpModule线程化

HttpModule线程化
EN

Stack Overflow用户
提问于 2010-08-31 18:34:23
回答 2查看 1.2K关注 0票数 2

在网上搜索,我得到了很多关于HTTPModule路由默认是单线程还是多线程的相互矛盾的帖子。

我正在尝试调试本地、UAT和部署环境中快速不同的性能,我想知道HTTPModule是否有一个我以前不知道的夹点(考虑到所有环境中的CPU和内存几乎为零)。

之前一个令人不安的帖子建议将所有请求汇集在一起,然后按顺序提供给模块(每个请求都等待前一个请求完成,然后再开始下一个请求)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-31 18:57:27

据我所知,HttpModule实例的线程化与HttpHandler实例的线程化是相同的。当请求传入时,将从线程池中分配一个工作线程,并使用它来执行请求。所以模块是异步运行的。

我发现在理解asp.net管道中的线程方面,this文章非常有用。

影响性能的一个因素是线程池的大小。默认情况下,该池包含(我认为) 25个工作线程,但这可以在machine.config中更改。在您正在调查的环境中会出现这种情况吗?

此外,线程在IIS5和IIS6中也有细微的不同(参见上面的文章)。这能解释你看到的不同之处吗?

票数 1
EN

Stack Overflow用户

发布于 2010-08-31 21:53:26

谢谢你,我相信我可能已经找到了瓶颈,并通过以下方式暂时完成了工作:

将machine.config更改为:

代码语言:javascript
复制
  <section name="processModel" ... allowDefinition="MachineToApplication"/>

重新启动IIS并使用以下命令更新web.config System.Web:

代码语言:javascript
复制
<processModel enable="true" ... maxWorkerThreads="100" maxIoThreads="100" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3608162

复制
相关文章

相似问题

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