IIS后台多任务线程有限制吗?

woodcoal 2014-06-29 05:30:01
先谈下基本情况,网站使用的是.Net 开发,因为任务要求,需要在网站上增加N个后台任务,让其自动定时执行操作。采用的在Application_Start 中注册 N个 Timer 来执行相应的定时任务,这样实现后台的多线程。在Application_End 中来访问自己的网站来保证网站不停止。

现在问题来了,在任务不多的时候,每隔几个小时让任务池自动回收,一起运行很正常。但是现在任务慢慢增加的时候发现回收时间越来越短了,重启时间越来越长了。以前几秒钟就可以完成网站重启,现在需要几分钟才能重启。所以如果不通过外部来访问网站,基本上网站就不会起来了,任务就不会再执行

因为我想请教一下:

1. 网站后台对线程数量是不是有限制?

2.虽然我后台多线程定时任务,但是基本上这些任务都不是同时执行的。而且集中上午,分批次自己慢慢完成的,就算同一时间有几个任务同时执行也是不占资源的线程,如果是线程中任务的问题,如占用过多的CPU内存资源引起的重启应该是不存在的,因为在不执行任务的时段也是有上面的问题,所以这是啥问题呢?是服务器本身设置的问题?

3. 有没有更好的解决方案来解决呢?

先谢谢各位,请教了
...全文
90 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hansonfree 2014-07-07
  • 打赏
  • 举报
回复
1、CLR 线程池有线程数量限制,ASP.NET 处理请求是用的CLR线程池线程,google一下processmodel 2、看IIS日志,看系统日志,看性能计数器,或者程序打调试信息,看到底什么原因导致的应用程序池回收 3、自己写个windows服务

8,327

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 IIS
社区管理员
  • IIS
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧