IIS7程序池错误

IIS7程序池错误,第1张

网上找的,未测,仅供参考:

点击"开始"-"控制面板"-"管理工具"-"组件服务"-"计算机"-"我的电脑"-"DCOM"选项,

选择其下的"IIS ADMIN SERVICE",右健选择"属性",找到"安全",在"启动和纳厅拍激活权限"中编辑"自定义",添加帐号"NETWORK SERVICE ", 给该帐号赋予"本地启动"和"本地激活"的权限,重新启动IIS即可("开始"-"运行"-"CMD",点确定,然后运行IISRESET)。

奇怪的是我在Win2008 R2上正常安装了IIS,在DCOM选项中却没有伏培"IIS ADMIN SERVICE"选项,系统服务列表中也没有该服务。导致所有的.net程序都无法正常运行。(系统中没有"IIS ADMIN SERVICES"服务和DCOM选项的解决方法洞羡:这一般是IIS系统角色未完全安装导致的,在服务器管理器中将IIS角色服务里的"管理工具"全部安装即可,最重要的是要安装"管理工具"下的"管理服务")。

应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制

服务器经常产生“应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。进程 ID 是 '2068'。”的错误,导致iis处于假死状态,经了解是IIS应用程序池的设置问题。解决方法如下:

Internet 信息服务(IIS)管理器->应用程序池->DefaultAppPool->右击属性

一、回收

1、回收工作进程(分钟):选中,燃厅值为顷信1740

2、回收工作进程(请求数目):不选(原先设置为35000)

3、在下列时间回收工作进程:不填

4、消耗太多内存时回收工作进程:全不选。(2、3、4项可能避免了在访问量高的时候强制回收进程可能引发的服务器响应问题,导致iis假死不响应)

二、性能

只选中空闲超时20分钟。其他都不选。WEB园最大工作进程数为1(默认)。注意web园这里一定要保持默认,如果填写其他超过1的数字就会导致一些网站程序的后台程序打不开或者刷新不停。

原来的请求队列限制为4000,现在无限制。

三、运行状况

前两项都起用,是原来的默认设置。启动时间限制90秒,关闭时间限制180秒。

启动快速失败保护的钩去掉!

为了避免真的遇到很多错误时没有提示,可以不关闭,只是把快速保护的保护范围加大些,例如失败数50次 时间段5分钟 则关闭对应的程序。

“关闭时间限制180秒”是必须的,因为进程关闭的时间,原来为90秒限制,是默认值,如果进程关闭时间超过90秒,则认为超时,从而出现:进程关闭时间超过了限制 日志,所以,适当延长这个时间,可以避免这种错误www.cnzz.cc

第2种方法:

原因:独立进程的 内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理

解决方法:

1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC

2. 在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS

第3种

问题已解决,发现是数据库连接无法释放,不知道是什么原因,同样的代码在本地就是好的,在服务器端就有问题,最后在连接串里加入以下语句解决问题.

Pooling=trueMAX Pool Size=512Min Pool Size=50Connection Lifetime=30

第4种

新建应用程序池,不同的网站引用不同程序池。

为应用程序池 'AppPool #1' 提供服务的进程关闭时间超过了限制。进程 ID 是 '3000'。

出现上面情况后,该应用程序池对应的网站就访问的非常慢,几乎是打不开。

这种现象是不是iis假死?

重启下该站点,问题可以得到解决。

可能是应用程序池设置问题,不知道具体应该怎么设置!

请高手指点。

程序代码解决办法:

1设置进程池回收时间.在进程池属性里.

2如果你的程序是使用 asp + acc 数据库.且acc数据库大于30m.建议更换sql数据库. acc数据库大于这个值.2003系统下会造成iis6的频繁假死.2000下会造成dllhost.exe占用大量cpu及内存资源.都会严重影响web访问速度.

3asp程序存在死循环.

4可使用 microsoft office 压缩修复acc数据库,须先备份.

引用内容2003应用程序池假死常见问题及解决方法

2006-10-09 09:48

经常见到大家谈起,2003应用程序池自动死了,不能恢复了,一直出现 Service Unavailable 常见方法如下。

1:以前没有SP1打补丁的时候会出现这个IIS6。0假死问题,但现在微软都在自动更新里面出补丁了,一般你打好最新补丁后是不会出现此问题了。(所以现在的IIS假死与这个关系不是很大)

2:从IIS6.0开始CPU资源都在应用池里面限制了,不象以前的IIS。5。所以假死的池的缘故就是池被拉死,你在网站打不开的时候可以看到你的某个应用池是禁用的,上面出现一个红叉。你鼠标右键启动网站又会自动恢复。 这个原因:大概是以下几个因数造成的。

(1):你限制了应用池的资源限制,限制得太小 比如:50这样或更少更多一点,这个时候如果你这个池下面的网站占用CPU太高,比如超过50% 那么5分皮乎隐钟后他就自动死了,手工默认建立的应用池默认是超过资源不 *** 作。

出现上面这个情况解决方法:1:不限制CPU资源,(这个是不可取的,不限制资源,有的程序有BUG占用资源厉害了的,服务器都会被拉死,你可能都无法 *** 作服务器。)2:在超过资源那里选择 关闭,这个关闭默认是失败5次,90秒内恢复,一般默认就可。网站能自动恢复,这个关闭:不是永久关闭,意思是超过资源关闭,然后在某时间内自动恢复池。不 *** 作就是不恢复,这个是很多人的误区。上次我写过相关的这个讲解了。

(2):内存限制 在IIS6。0应用池上面有虚拟内存和最大内存限制,如果你设置了这个。那么网站访问量大了 也会出现假死,所以不建议设置这里。默认就可。

3:就是服务器自身内存太小,网站运行当然需要使用到内存了,当内存不够的时候应用池也会死掉变成禁用。那么只有等内存全部释放出来才能恢复应用池了。出现这个情况:那么你就要考虑加内存或者检查到底是什么程序占用了内存了。比如MSSQL数据库,这个可是吃内存得大户啊,最好别和WEB服务器同时一个服务器上。很多人用1G内存做 2003系统,2003NET结构是很占用内存的,所以做服务器选2003还得把内存加到2G或更高才好。 内存不够上面 2点讲到的,是没办法 *** 作了,也无法自动恢复。

4:就是ACCESS数据库太大或查询太多,这个也会出现把IIS拉死,解决方法;修复ACCESS数据库,或尽量少用ACCESS数据库。

5:不同网站用不同应用池:根据你自己实际情况而定,站点大的最好独立一个应用池,限制他的资源超过了自动回收,看上面 (1)讲到的,这样就不影响其他站点。 中型站点:多个网站共用一个应用池,比如5个站点用一个池,设置他资源时间等等。这样他们就算超资源了也不影响其他应用池的网站。

6:设置回收时间:很多人以为设置回收池越短越好,其实是错误的,每次回收当然是把内存回收回来了,但加重了一次服务器的负担,当服务器比较繁忙的时候,有可能导致其他应用池死。所以建议设置共1000就行了。其他独立池按照他网站流量而设置 可以设置600 也行,共用的不建议设置太短。

直接复制的,希望能够帮到你

先简单说一下 很多时候是由于网站空间服务器的配置

或者资源限制导致的不足以承受运行的情况

有些是买的时候 不知道有所限制 而不能满足程序的运营需求

最好是联系服务商查阅相关日志 对症下药 如果撑不住最好换机器

-----------------------------------------

出现这种情况是由于您的网站超过了系统资源限制(CPU或者IIS)造成的,

这个现象在WINDOWS2003+IIS6的环境下都会出现,主要是程序占用资源太多。

不同的程序占用的资源都不一样,这个跟程序设计的合理性和优化程度有关;

另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系闹迅行统资源明显是有限的。 如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池 'User_pooll' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误, 或者提示:应用程序池 'User_pooll' 超过了其作业限制设置。

有关更多信息,请参阅微软官方 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

这时,访问这个网站就会提示:Service Unavailable。

一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。但是这个时间恢复后因为访问量太大在极短的时间网站又不能上了。

另外,如果网站当前访问人数过多,超过了系统的iis连接数(或CPU峰值)限制,也会出现Service Unavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而win2003的主机刚直接提示:Service Unavailable)如果经常出现类似的错误,请及时优化网站程序,或者升级你的主机至更高的款型,以获得更多的系统资源。

网站超CPU的四种可能原因:

一.网站攻击

二.程序设计不合理,资源占用高,或本身在做占资源的 *** 作,如采集

三.访问量过大

四.有搜索蜘蛛收录

程序占用资源太多的原因:

有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的液哗CPU时间都消耗在DLLHOST(ASP进程)中。 参考解决办法: 压缩和修复我的数据库 下载数据库文件--[如果是.asp的扩展名,请改为.mdb的扩展名]--用ACCESS打开--选择工具--数据库实用工具--压缩和修复数据库--[改回.asp的扩展名]--上传覆盖原来数据库文件

注册了不良的Com组件,特别是用VB开发的ACTIVE X控件,可能导致占用内存使用量不断增长 参考解决办法:尽量减少或避免非官方或是客户要求的不必要的组件

多媒体等文件下载占用服务器带宽 参考解决办法:停止下载

程序问题 需要及时的关闭不再使用的数据库,以避免一直占用服务器资源 在conn.asp 连接数据库字符串语句中加入如下 sub endConnection() conn.close set conn=nothing end sub 其它程序问题:把IE选项里 显示友好HTTP错误信息 的勾取消掉,再访问网站看出现什么错误信息,然后再调试

上传重要的数据库等文件更新,由于正处于受访问状态,可能导致瞬间占用率上升 一般此情况较少,若有出现此情况时,可能有必要先暂停站点,再作更新

ACCESS论坛(如动W)大了以后就很容易出现数据库方面的问题,当你的论坛数据库在30M以上,帖子5万左右,可能就会出现数据库吃不消的情况

建议取消程序中使用的on error resume next这个容昌饥错语句,对错误进行调试。 临时解决办法:定期删除多余的数据、压缩数据库,限制论坛灌水,甚至限制论坛注册。如果是ASP论坛,可以使用分表储存功能,会有较好的效果 比较长远办法:更换论坛和数据库,一般都采用商业版本+MSSQL 的方案来解决


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12544807.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存