.net网站IIS应用池完美解决方案
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
一、防DDOS攻击11条: 2.确保管理员对所有主机进行检查,而不仅针对关键主机。这是为了确保管理员知道每个主机系统在 运行什么?谁在使用主机?哪些人可以访问主机?不然,即使黑客侵犯了系统,也很难查明。 3.确保从服务器相应的目录或文件数据库中删除未使用的服务如FTP或NFS。Wu-Ftpd等守护程序存在一些已知的漏洞,黑客通过根攻击就能获得访问特权系统的权限,并能访问其他系统——甚至是受防火墙保护的系统。 4.确保运行在Unix上的所有服务都有TCP封装程序,限制对主机的访问权限。 5.禁止内部网通过Modem连接至PSTN系统。否则,黑客能通过电话线发现未受保护的主机,即刻就能访问极为机密的数据。 6.禁止使用网络访问程序如Telnet、Ftp、Rsh、Rlogin和Rcp,以基于PKI的访问程序如SSH取代。SSH不会在网上以明文格式传送口令,而Telnet和Rlogin则正好相反,黑客能搜寻到这些口令,从而立即访问网络上的重要服务器。此外,在Unix上应该将.rhost 和 hosts.equiv文件删除,因为不用猜口令,这些文件就会提供登录访问! 7.限制在防火墙外与网络文件共享。这会使黑客有机会截获系统文件,并以特洛伊木马替换它,文件传输功能无异将陷入瘫痪。 8.确保手头有一张最新的网络拓扑图。这张图应该详细标明TCP/IP地址、主机、路由器及其他网络设备,还应该包括网络边界、非军事区(DMZ)及网络的内部保密部分。 9.在防火墙上运行端口映射程序或端口扫描程序。大多数事件是由于防火墙配置不当造成的,使DoS/DDoS攻击成功率很高,所以定要认真检查特权端口和非特权端口。 10.检查所有网络设备和主机/服务器系统的日志。只要日志出现漏洞或时间出现变更,几乎可以肯定:相关的主机安全受到了危胁。 11.利用DDoS设备提供商的设备。 估计你是网管,还是选用硬件防火墙象思科的,或专业软件防火墙如:傲盾,天盾等来减少DDOS。
由于内存释放不及时严重影响到服务器的正常运营,建议采用以下配置,但请考虑自身服务器的使用情况。
3、设置固定时间加收进程,比如在凌晨1:00至9:00之前访问人数都比较少,影响很少小,可以设定每天在这个时间段内进行内存回收,以减少服务器因为内存不足带来的影响。设定固定的时间在IIS6中没有限制次数,可以根据实际情况来设定时间比如:晚上12:00,8:00,12:30,6:30等时间段时间有效的进程池资源回收。
2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池
在Windows Server 2003中对于每一个Web应用,IIS 6.0都用一个独立的w3wp.exe的实例来运行它。w3wp.exe也称为工作进程(每一个主机头都会有一个) 直接在任务管理器中结束进程是不起作用的,结束后不久它会执行启动,要想结束它可以在IIS中找到相应的应用程序池停止相应的应用程序池工作。这些都不是解决办法,它的根本问题是你的那个网站程序有问题,在找到问题以前可以先打开IIS找到应用程序池先用右键属性中设置“性能”把其中的CPU设成大于60%关闭应用程序池,把关闭时间和开启时间设短一些比如10秒,这样当您的网站程序大量占用系统资源时IIS自动快速回收进程并且快速启动进程,您的网站暂时还可以将就着工作。要解决根本问题还要从程序查起,您可以在IIS中的应用程序池中右键创建多个应用程序池,然后在每个主机头中的文件家选项的底部将应用程序池对应道刚才建好的应用程序池,然后一个一个关闭在任务管理器中看看是哪个程序占用的资源较大。下面是一些网友的相关贴子也许对大家有帮助朋友的WEB服务器一直运行正常,但这几天CPU占用率一直将近100%,遂去看个究竟。 w3wp.exe 占用了70%以上的CPU, 粗看一下并没有问题,但就是这段代码造成了w3wp.exe占用大量CPU,难道是死循环?似乎没有理由。在循环体内加入计数,发现确实是死循环,说明RS.EOF一直为false,加入如下代码: if RS.EOF = true then Response.Write "EOF is true" 发现输出竟然是EOF is true EOF is false, 说明无法判断RS.EOF的值,为何如此百思不得其解。检查数据库,发现库中并没有mytable表, 如果该表不存在,RS.Open "Select * FROM mytable", conn 就会出错,为何没有出错,很有可能捕获的异常被忽略了。 On Error Resume Next 原来问题在此。 On Error Resume Next忽略了查询表时的失败以及后续的错误,造成进入死循环。那为何网站本来运行正常,现在却找不到mytable表了呢?仔细检查网站才发现“有‘客’自远方来”,上传了后门工具、删除了多张数据表,害我忙活了一天。 更多的内容大家还可以到: http://www.microsoft.com/china/technet/security/guidance/secmod93.mspx 查找更详细的安全设置
这几天服务器总是运行缓慢,远程登录后发现一个w3wp.exe的进程占用了100% cpu。
1.采用的jet 数据库连接方式存在问题:http://support.microsoft.com/?id=838306 补丁下载: chs:WindowsServer2003-KB838306-x86-chs.exe enu:WindowsServer2003-KB838306-x86-enu.exe 2.将access数据库扩展名改为asp 下面是我的差错过程和解决方案: 搜索一下发现类似问题还真不少,那个w3wp的进程是iis6.0的应用程序池,网上的说法有两种,一是因为asp或者asp.NET代码中含有死循环引起的。但是服务器上这么多网站,谁知道那个网站出了问题。二是由于上面的jet连接数据库方式的bug引起的,下载838306的补丁,或者升级到sp1可以解决这个问题,但是打了这个补丁后,有些网站的问题依然存在。
首先新建应用程序池: 然后将网站的应用程序池指向刚才建立的应用程序池: 在建立完所有应用程序池后,统一修改应用程序池的属性: 将应用程序池安全帐户指定为本地服务:
下面是寻找出错网站的过程:要找到这个网站,必须把有问题的进程跟该网站的应用程序池联系起来。首先设置任务管理器的查看方式,加入PID的显示: 然后再命令行运行iisapp -a,可以看到PID跟应用程序池的对应关系:
在某位网站管理员的纠缠不休下,我终于无法忍受,帮他找错误- - 无数次配置iis,网站程序也换了,该升级的也升级了,问题还是存在,黔驴技穷,把网站下载到本地看看到底怎么回事。当我试图打开他的数据库的时候,问题出现了: 他的数据库是.asp的扩展名,要先修改为.mdb才能打开,但是当我点击要改名字的时候,我的电脑没有响应了~!看来问题在这个数据库了。 用命令行rename之后,打开数据库,修复,似乎没有任何问题,但是再改为.asp时,又出现了刚才的问题。哈~原来是.asp的扩展名在作怪。 但是我试着将其他的数据库改为.asp,没有问题。根本原因不得而知,望知情者告知。 最后,在iis中随便添加了一个isapi对应到mdb,造成mdb无法执行,防止下载,将所有的.asp的数据库改回.mdb,问题解决。 (转)Windows Server 2003中的w3wp.exe进程大量占用cpu资源的各种问题解决方法 1:使用 MicrosoftJet 数据库引擎 Web 应用程序可能停止响应负载,造成假死:
解决内存占用过多,可以做以下配置: 解决CPU占用过多: 根据w3wp取得是那个一个应用程序池:
环境:win2003server+IIs+ASP+MSSQL 现象:每隔一段时间(不定,有时几分钟,有时半小时)出现一次网站打开非常缓慢,甚至有时会出现超时打不开站点,此时查看服务器端的进程,CPU占用率达到100%,其中w3wp占用70~80%,SQL占用20~30%。所有服务器端的操作也变得缓慢。 初期解决方法:每次现象出现时,立即登录服务器直接结束w3wp进程或重启IIS服务,平均每天约十次操作,由于服务器存放于远程机房,所有操作都是远程控制进行,有时会因此出现远程无法连接登录的情况,只能通过电话通知机房管理人员重启服务器解决,此过程导致用户抱怨不断。 经过网上查阅资料,发现此类现象多数由于网页代码不合理所致,以下情况会导致此类现象发生: 第一阶段排查:根据查阅到的参考资料逐项分析 经过以上分析判断,将不确定项连起来得出的结论是:某个采用了SQL数据库的网站网页代码存在不合理语法,导致IIS和SQL进程CPU占用率过高。 第二阶段排查: 2003服务器用.net程序,w3wp老占cpu资源!怎么办?
w3wp.exe狂占内存的问题解决方案! 问: 好的asp.net程序,放在一台服务器上,客户端连接使用一段时间后,在服务器上打开任务管理器一看,发现有很多w3wp.exe,占用内存很大,达到1g,请问为什么会这样?有什么办法可以避免这种情况呢? 答:这主要是你的ASP.Net 开发的程序有 内存泄漏;对于 非托管资源,一定要注意 释放。 -==================================
我的问题跟你一样,不过我的内存是2G的,访问量比较高,一般是差不多运行24小时后就得重启,内存没耗完,W3WP进程占到一百八九十兆,SQL占了二百多兆时,就得重启,不然整个站点就当在那边....55555555,搞了快半个月了还是不行,痛苦啊。 w3wp.exe就是你的ASP.NET应用宿主,如果你使用了大量的Session、Cache等资源,并且Session超市时间很长,那么内存占用量就比较大。应用池是为增加性能而设的一个特性,但是也消耗很大的内存。另外关掉Windows Server 2003里的大多数Service(那个不用都可以关掉),也可以节省一部分内存 1.怀疑在程序中应用的CACHE,
跟踪下SQL的调用记录,在每次往CACHE或SESSION写入大量数据时记录一下时间,看是否太过频繁。 1.在win2003里asp.net的进程就是w3wp.exe 2.512M内存个人用是够用了,但是放在服务器上就有点不够用了,尤其是win2003 + asp.net +sql server 。尤其是sql server 他是很吃内存的,如果不控制的话,他会占光所有的物理内存(只剩下几十M 倒 100M 吧)。win2003 本身就要占用150M左右。也就剩不下什么了。 3.优化asp.net程序,就向楼上的说的那样,少用或不用session cache application之类的东西,再有就是是不是有翻页的地方,翻页处理不好也是会占很多内存的。 4.限制sql的内存。企业管理器——SQL的属性(一般是local)——“内存”标签 第四条是最快的方法,可以试一试。 我的一个自开发OA系统也存在这样的问题。
建义2003系统安装至少1G内存。
-==================================
应用程序池--属性--回收--内存回收:消耗太多内存时回收工作进程:1、最大虚拟内存。2、最大使用的内存。两个选项都没选择
Q : W3WP.EXE,应用程序,应用程序池之间的关系 A : 一个应用程序池可以包含多个应用程序,一个应用程序池创建一个W3WP.EXE进程.那么我们就不能简单的说一个进程池对应一个W3WP.EXE进程了!其实是多个应用进程池对应一个W3WP.EXE进程的. Q : 如何启动和关闭W3WP.EXE这个进程 A : W3WP.EXE这个进程将在你访问www应用程序的时候启动.有人就会这么问了:"我启动了一个Web应用程序,发现系统自动创建了一个W3wp.exe进程。但我关闭这个Web应用程序后,发现这个刚创建的W3Wp.exe进程还在,请问如何关闭该进程。"这个进程不会在你关闭了这个程序以后,就马上关闭的.那是因为Http是无连接的访问,当你关闭了web网页,不会返回相应的关闭信息,所以W3WP.EXE这个进程不会因为你关闭了web应用程序尔关闭. Q : 那么如何关闭这个进程呢? A : 在应用程序池的配置中,"空闲超时"中设定合适的时间,系统默认的是20分钟.设定好指定的时间,那么在这个时间范围内没有在访问应用程序,那么系统会自动的关闭W3WP.EXE这个进程的.而不需要我们人为的干预的.也可以在Windows任务管理器里面,结束这个进程 Q : 如何让W3WP.EXE进程长时间的运行. A : W3WP.EXE这个进程的默认生命是1740分钟,但依然是在这种默认的自然规律下,W3WP.EXE将在自己失业20分钟后,被系统直接枪杀.这样就可以看出,要想让W3WP.EXE长时间的生存,那我们可以通过”空闲超时”不作处理来达到我们的目的. Q : 在IIS6下,经常出现w3wp.exe的内存及CPU占用不能及时释放,从而导致服务器响应速度很慢。 A: 解决内存占用过多,可以做以下配置 解决CPU占用过多: 根据w3wp取得是那个一个应用程序池: A2 : by 小步舞曲 Q : 另一种加载了某程序后发生w3wp.exe问题 A: 修改C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config,再配置节点 该文章在 2018/9/8 18:24:53 编辑过 |
关键字查询
相关文章
正在查询... |