澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站0性能优化指南,exe进程大

在WINDOWS2003 IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢。

问:好多asp.net程序,放在一台服务器上,客户端连接使用一段时间后,在服务器上打开任务管理器一看,发现有很多w3wp.exe,占用内存很大,达到1g,请问为什么会这样?有什么办法可以避免这种情况呢?

1:使用 MicrosoftJet 数据库引擎 Web 应用程序可能停止响应负载,造成假死:
原因:发生此问题是因为 Jet 数据库引擎中存在缺陷。 Microsoft Windows Server 2003 上只会出现此问题。 在 Windows Server 2003, COM 更改频率 CoFreeUnusedLibraries 函数被调用。 此更改导致 Jet 驱动程序以初始化频繁。 此行为可能导致死锁条件。
Web 服务器负载时最常出现此问题。
补丁下载:
chs:WindowsServer2003-KB838306-x86-chs.exe
enu:WindowsServer2003-KB838306-x86-enu.exe
在IIS6下,经常出现w3wp.exe的内存及CPU占用不能及时释放,从而导致服务器响应速度很慢。

对于IIS 管理员来说,经常会碰到 Web 服务器 CPU 占用 100% 的情况,以下是个人的日常工作总结和一些解决办法,主要用来剖析 w3wp.exe(IIS )  占用 CPU 100% 的一些原因 和解决方案,希望能对你有所帮助

对于IIS 管理员来说,经常会碰到 Web 服务器 CPU 占用 100% 的情况,以下是个人的日常工作总结和一些解决办法,主要用来剖析 w3wp.exe(IIS )  占用 CPU 100% 的一些原因 和解决方案,希望能对你有所帮助

实际案例

答:这主要是你的ASP.NET 开发的程序有 内存泄漏;对于 非托管资源,一定要注意 释放。

解决内存占用过多,可以做以下配置:
1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。再设置当内存占用超过多少(如500M),就自动回收内存。

 

 

服务器配置
至强2.8G
内存512M
SCSI硬盘 2块 软镜像)
系统 windows 2003

问:我的具体情况是这样的:

解决CPU占用过多:
1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
2、设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭。

w3wp.exe的解释 : 全名,IIS Application Pool Process。 w3wp.exe是IIS工具的一部。w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行。这个进程用来分配大量的系统资源。 

w3wp.exe的解释 : 全名,IIS Application Pool Process。 w3wp.exe是IIS工具的一部。w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行。这个进程用来分配大量的系统资源。  

现在挂了一个asp.net开发的网站,访问量不大 但是出现一个,问题就是每当服务器运行2-3天后,访问网站就特别慢,重启动服务器后就正常了。

服务器配置 至强2.8G 内存512M SCSI硬盘 2块 (软镜像)

根据w3wp取得是那个一个应用程序池:
1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid
2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池。(iisapp实际上是存放在C:windowssystem32目录下的一个VBS脚本,全名为iisapp.vbs,如果你和我一样,也禁止了Vbs默认关联程序,那么就需要手动到该目录,先择打开方式,然后选“Microsoft (r) Windows Based Script Host”来执行,就可以得到PID与应用程序池的对应关系。)
3、到iis中察看该应用程序池对应的网站,就ok了,做出上面的内存或CPU方面的限制,或检查程序有无死循环之类的问题。

引起 w3wp.exe(IIS ) Cpu 占用 100% 的常见原因如下:

 

查看进程使用内存的情况,发现w3wp.exe和sqlservr.exe进程占用内存相当大 达到了170多M 每个),物理可用内存几乎用光,服务器重启动时 占用的内存很小才40多M 每个),以前网站挂在一个虚拟机上,数据库是分开挂的,从没出现这种情况。

系统 windows 2003

QUOTE:

  1. Web 访问量大,从而服务器压力大而引起的

引起 w3wp.exe(IIS ) Cpu 占用 100% 的常见原因如下:

后来,原版移植到新服务器上就出现这样的问题

现在挂了一个asp.net开发的网站 访问量不大 但是出现一个 问题就是

环境:win2003server IIs ASP MSSQL

这个也是最常见的情况。如果 Web 访问量大,特别是同时在线人数过多,处理的 Requests Current(当前请求数)过高,就会同时对 IIS 和服务器造成较大的压力。特别是 服务器需要不断的运算,往客户端发送生成后的页面,这些都需要占用大量的CPU 资源,从而造成Cpu 100%

 

还个一问题就是在SQL企业管理器中查看SQL进程发现有很多是.net 引起的进程是sleeping但是却占用了内存无法释放

每当服务器运行2-3天后 访问网站就特别慢 重启动服务器后就 正常了

现象:每隔一段时间(不定,有时几分钟,有时半小时)出现一次网站打开非常缓慢,甚至有时会出现超时打不开站点,此时查看服务器端的进程,CPU占用率达到100%,其中w3wp占用70~80%,SQL占用20~30%。所有服务器端的操作也变得缓慢。

 

1. Web 访问量大,从而服务器压力大而引起的

采取措施:

查看进程使用内存的情况 发现w3wp.exe 和sqlservr.exe 进程 占用内存

初期解决方法:每次现象出现时,立即登录服务器直接结束w3wp进程或重启IIS服务,平均每天约十次操作,由于服务器存放于远程机房,所有操作都是远程控制进行,有时会因此出现远程无法连接登录的情况,只能通过电话通知机房管理人员重启服务器解决,此过程导致用户抱怨不断。

  1. 动态页面(.aspx)的程序逻辑复杂程度

 

IIS服务管理器----》应用程序池----》添加你的应用,并设置最大内存,当程序达到最大内存后其会自动重启。

相当大 达到了170多M( 每个) 物理可用内存几乎用光

经过网上查阅资料,发现此类现象多数由于网页代码不合理所致,以下情况会导致此类现象发生:
1、代码中多处使用application、seesion等服务器缓存,导致服务器资料过度占用;
2、代码有不合理语法,死循环等;
3、数据库损坏,尤其是ACCESS数据库;
4、装过多第三方软件或插件,与IIS或网页功能代码冲突。

这个问题,对 w3wp.exe 的 CPU 占用 来说也是蛮严重的,可能在访问量级比较小的情况下并没有多少影响,但是在高并发的网站上面来说,特别是 Asp.NET 的 Requests Current 超过250 的时候,将会是 w3wp.exe 占用 CPU 的一个重要的因素。

这个也是最常见的情况。如果 Web 访问量大,特别是同时在线人数过多,处理的 Requests Current(当前请求数)过高,就会同时对 IIS 和服务器造成较大的压力。特别是 服务器需要不断的运算,往客户端发送生成后的页面,这些都需要占用大量的CPU 资源,从而造成  Cpu 100% 

将内存升级至2G,访问量比较高,一般是差不多运行24小时后就得重启,内存没耗完,W3WP进程占到一百八九十兆,SQL占了二百多兆时就得重启,不然整个站点就宕了。

(服务器重启动时  占用的内存很小才40多M 每个)

第一阶段排查:根据查阅到的参考资料逐项分析
1、服务器上所有站点代码均为公司设计人员自行编写,可证实并无过多调用服务器缓存语法(排除)
2、代码是否存在不合理语法(不确定)
3、根据情况来看,IIS进程占用率升高时,SQL占用率同时升高,应为SQL数据库的站点,根据现象判断,库或表应该正常,估计是数据方面可能有误;(不确定)
4、服务器端除了基本的系统服务,防杀毒及网站运作必备服务之外,并无多余第三方软件,机率不大(排除)。

我曾经碰到过这样一个情况,两个 web(A 和 B) 在两台 配置相当的 服务器中部署,且两个站点的访问量都很大,访问页面都集中在两个站点的两个单独页面,且这两个页面 的 IIS 连接数都是 50个左右,但是页面程序的复杂程度就错了很多,A 站点中的页面,只有几个 简单的 Repeater 绑定, 而 B 站点中的页面,则有大量的绑定、字符串过滤替换、Repeater 嵌套绑定等等。这样的情况,在 大流量、高并发的环境中,A 站点 在 IIS 连接数 达到3 W 多的时候,CPU 占用仍然是 50 % 左右,而 B 站点在 IIS 连接数 达到 7K 左右的时候,CPU 就 90% 多了,造成了 服务器的压力很大,并且 IIS 遭到了堵塞。

 

解决方法一:

以前网站挂在一个虚拟机上 数据库是分开挂的  从没出现这种情况

经过以上分析判断,将不确定项连起来得出的结论是:某个采用了SQL数据库的网站网页代码存在不合理语法,导致IIS和SQL进程CPU占用率过高。

 

2. 动态页面(.aspx)的程序逻辑复杂程度

w3wp.exe就是你的ASP.NET应用宿主,如果你使用了大量的Session、Cache等资源,并且Session超市时间很长,那么内存占用量就比较大。应用池是为增加性能而设的一个特性,但是也消耗很大的内存。另外关掉Windows Server 2003里的大多数Service那个不用都可以关掉),也可以节省一部分内存

后来 原版移植到新服务器上就 出现这样的问题~~

第二阶段排查:
确定范围,接着继续把范围缩小。
由于服务器上采用SQL数据库的站点并不多,便于建立独立进程ID来观察,将所有采用SQL数据库的站点在IIS管理器中分别建立独立的应用程序池,然后通过CMD界面输入:iisapp -a 命今查看并记录下各IIS池的进程ID号,通过多次现象重现时的观察,有个IIS进程ID是导致此次问题的罪魁祸首。

  1. 页面程序中有死循环

 

1.怀疑在程序中应用的CACHE,
2.CACHE中有大量的数据
3.频繁刷新CACHE
4.没有设计好CACHE的方式

还个一问题就是 我在SQL企业管理器中查看SQL进程 发现有很多是 。net 引起的进程是sleeping 但是却占用了内存~ 无法释放

补充:
限制sql的内存。企业管理器——SQL的属性(一般是local)——“内存”标签,在这里看内存的设置,把最大值改成100M吧(这个确实有一定的作用)。只不过还是存在系统资源占用比较多的,继续寻找产生的原因。。。

如果Web 访问量不大,但是 CPU 却占用很高,那么页面中的程序肯定有死循环或者性能比较严重的 程序语句

这个问题,对 w3wp.exe 的 CPU 占用 来说也是蛮严重的,可能在访问量级比较小的情况下并没有多少影响,但是在高并发的网站上面来说,特别是 Asp.Net 的 Requests Current 超过250 的时候,将会是 w3wp.exe 占用 CPU 的一个重要的因素。

解决方法二:

搞了很久了 一直都没解决,求救请高手 指教 万分感谢~

您可能感兴趣的文章:

  • w3wp.exe占用cpu过高的解决方法
  • 认识w3wp.exe进程,从根本上解决占用资源较大问题
  • Win2003 IIS 6.0 假死问题解决方法 图文教程
  • 通过IIS自带工具Iisapp.vbs查询哪个w3wp.exe站点占用资源(cpu或内存)

 

 

跟踪下SQL的调用记录,在每次往CACHE或SESSION写入大量数据时记录一下时间,看是否太过频繁

答:IIS服务管理器----》应用程序池----》添加你的应用,并设置最大内存,当程序达到最大内存后其会自动重启。

  1. Http方式下载的站点

我曾经碰到过这样一个情况,两个 web(A 和 B) 在两台 配置相当的 服务器中部署,且两个站点的访问量都很大,访问页面都集中在两个站点的两个单独页面,且这两个页面 的 IIS 连接数都是 50个左右,但是页面程序的复杂程度就错了很多,A 站点中的页面,只有几个 简单的 Repeater 绑定, 而 B 站点中的页面,则有大量的绑定、字符串过滤替换、Repeater 嵌套绑定等等。这样的情况,在 大流量、高并发的环境中,A 站点 在 IIS 连接数 达到3 W 多的时候,CPU 占用仍然是 50 % 左右,而 B 站点在 IIS 连接数 达到 7K 左右的时候,CPU 就 90% 多了,造成了 服务器的压力很大,并且 IIS 遭到了堵塞。

1.在win2003里asp.net的进程就是w3wp.exe

我的问题跟你一样,不过我的内存是2G的,访问量比较高,一般是差不多运行24小时后就得重启,内存没耗完,W3WP进程占到一百八九十兆,SQL占了二百多兆时,就得重启,不然整个站点就当在那边....55555555,搞了快半个月了还是不行,痛苦啊

如果站点是HTTP形式下载站,也遇到过 w3wp.exe 占用 CPU 100% 的情况

 

2.512M内存个人用是够用了,但是放在服务器上就有点不够用了,尤其是win2003 asp.net sql server 。尤其是sql server 他是很吃内存的,如果不控制的话,他会占光所有的物理内存只剩下几十M 倒 100M 吧)。win2003 本身就要占用150M左右。也就剩不下什么了。

w3wp.exe 就是你的ASP.NET应用宿主,如果你使用了大量的Session、Cache等资源,并且Session超市时间很长,那么内存占用量就比较大。应用池是为增加性能而设的一个特性,但是也消耗很大的内存。另外关掉Windows Server 2003里的大多数Service(那个不用都可以关掉),也可以节省一部分内存

 

3. 页面程序中有死循环

3.优化asp.net程序,就向楼上的说的那样,少用或不用session cache application之类的东西,再有就是是不是有翻页的地方,翻页处理不好也是会占很多内存的。

1.怀疑在程序中应用的CACHE,

  1. 服务器资源不会自动释放

 

4.限制sql的内存。企业管理器——SQL的属性一般是local)——“内存”标签。在这里看内存的设置,把最大值改成100M。

2.CACHE中有大量的数据

有时,一个站点的流量在一个小时内陡增,结果操作系统分配了比较多的 CPU 资源,但是当流量下去后,w3wp.exe 占用的 CPU  并没有及时释放,仍然在保持在 90% 以上

如果Web 访问量不大,但是 CPU 却占用很高,那么页面中的程序肯定有死循环或者性能比较严重的 程序语句

IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢。 实际案例 服务器配置 至强2.8G 内存512M SCSI硬盘...

3.频繁刷新CACHE

 

 

4.没有设计好CACHE的方式

  1. 对 IIS 日志文件操作

4. Http方式下载的站点

你的问题我以前也遇见过,我以前是用的Session,后我全部改成cook之后就好多了,应该是你的Session或是你的CACHE有问题(CACHE不太懂,但多多少应该是有的)

比如此时分析 IIS 日志文件里面的数据,把 IIS Log 日志导入到数据库中等操作,也会造成此现象

 

跟踪下SQL的调用记录,在每次往CACHE或SESSION写入大量数据时记录一下时间,看是否太过频繁

 

如果站点是HTTP形式下载站,也遇到过 w3wp.exe 占用 CPU 100% 的情况

1.在win2003里asp.net的进程就是w3wp.exe

解决办法

 

2.512M 内存个人用是够用了,但是放在服务器上就有点不够用了,尤其是win2003

 

5. 服务器资源不会自动释放

  • asp.net sql server 。尤其是sql server 他是很吃内存的,如果不控制的话,他会占光所有的物理内存(只剩下几十M 倒 100M 吧)。win2003 本身就要占用150M左右。也就剩不下什么了。
  1. 快速定位到出问题的站点

 

3.优化asp.net程序,就向楼上的说的那样,少用或不用session cache application之类的东西,再有就是是不是有翻页的地方,翻页处理不好也是会占很多内存的。

利用iisapp -a 命令,快速的定位到出问题的站点。当然如果当前服务器只跑了一个web站点,那么此步骤可以跳过

有时,一个站点的流量在一个小时内陡增,结果操作系统分配了比较多的 CPU 资源,但是当流量下去后,w3wp.exe 占用的 CPU  并没有及时释放,仍然在保持在 90% 以上

4.限制sql的内存。企业管理器——SQL的属性(一般是local)——“内存”标签

在 cmd 中 输入 iisapp - a ,会出现下图中的信息:

 

在这里看内存的设置,把最大值改成100M吧。

澳门新浦京娱乐场网站 1

  1. 对 IIS 日志文件操作

第四条是最快的方法,可以试一试。

 

 

我的一个自开发OA系统也存在这样的问题。

 

比如此时分析 IIS 日志文件里面的数据,把 IIS Log 日志导入到数据库中等操作,也会造成此现象

总结上面,大概原因是因为 session 和 cache 的不合理使用造成的。

当然,这个要求你没个站点,都要有独立的应用程序池与之对应,应用程序池的名称,最好就是站点的名称,如下图:

 

我的应用程序中,确实用了很多的Session 和 Cache,

澳门新浦京娱乐场网站 2

解决办法

在 MSDN 中找到 了 “动态内存分配”这一篇,今天就试看看,是否有效。

 

 

希望有经验的朋友多给些信息,大家也好总结下出现类似错误的原因,谢谢!!

关于 IIS 的应用程序池的配置,这里就不说了,不懂的可以search  下

1. 快速定位到出问题的站点

不知道你是什么网站。按理说是不会占用这么大的。如上你用了cache存放了超额的内容。当然。象session这种是不太可能占用这么大的了,或用了 application 类似的一些有超长时间或永久保持性的对象来保存大量数据。如利用单例保存数据这些都有可能造成使用大量的内存。

之后,再打开任务管理器,如下图:

 

建义2003系统安装至少1G内存。

澳门新浦京娱乐场网站 3

利用iisapp -a 命令,快速的定位到出问题的站点。当然如果当前服务器只跑了一个web站点,那么此步骤可以跳过

w3wp.exe是2003下的一个iis进程,至于楼主说的sql占用内存,那有可能是因为你的sql没有设置占用内存上限

观察进程为 w3wp.exe 的,查看那个CPU 占用的高,再利用其 PID 于 iisapp 中列出的结果对比,就能轻松的找出是那个站点占用的CPU过高了

在 cmd 中 输入 iisapp - a ,会出现下图中的信息:

IIS优化 为Web服务器减负

 

 澳门新浦京娱乐场网站 4

2008年07月21日 星期一 20:46

  1. 重启 IIS 和 应用程序池

 

       打造基于IIS 6.0的站点是很多企业的首选,但是IIS相对于其他Web平台不但对硬件的要求比较高,而且其性能不够尽如人意。如果没有强劲的硬件平台,用IIS搭建的Web站点确实有些老牛破车的味道。另外,IIS保守的默认设置让这一切雪上加霜。如何在现有的硬件平台上打造快捷的Web服务器呢?那就从IIS优化,为Web减负开始。

此步是紧急处理,一般都是治标不治本的步骤。如果你的站点搭建的有 负载均衡(负载均衡、NLB),那么请在 负载均衡(负载均衡、NLB)把当前服务器下了,然后重启。如果你没有 负载均衡(负载均衡、NLB),而且你的站点又是在线的,那么,就悲剧10多秒吧,短暂的不能访问吧

当然,这个要求你没个站点,都要有独立的应用程序池与之对应,应用程序池的名称,最好就是站点的名称,如下图:

  1、禁止多余的Web服务扩展

 

 澳门新浦京娱乐场网站 5

  IIS6.0支持多种服务扩展,有些管理员偷懒或者不求甚解,担心Web运行中出现解析错误,索性在建站时开启了所有的Web服务扩展。殊不知,这其中的有些扩展比如“所有未知CGI扩展”、“在服务器端的包含文件”等是Web运行中根本用不到的,况且还占用IIS资源影响性能拖垮Web,甚至某些扩展存在漏洞容易被攻击者利用。因此,科学的原则是,用到什么扩展就启用什么扩展。

  1. 给页面加上页面级别缓存

 

  如果企业站点是静态页面,那什么扩展都不要开启。不过现在的企业站点都是交互的动态页面比如asp、php、jsp等。如果是asp页面,那只需开启“Active Server Pages”即可。对于php、jsp等动态页面IIS6.0默认是不支持的需要进行安装相应组件实现对这些扩展的支持。不过,此时用不到的扩展完全可以禁用。

如果Web 是 Asp.net 程序,那么请一定要 <%@ OutputCache Duration="10" VaryByParam="none"%>。但是有好多人都没有用好 OutputCache ,导致经常出现下载页面的问题,所以都放弃了使用,这里有 OutputCache导致页面下载的解决办法 。

关于 IIS 的应用程序池的配置,这里就不说了,不懂的可以search  下

  禁止Web服务扩展的操作非常简单,打开“IIS管理器”,在左窗格中点击“Web服务扩展”,在右侧选择相应的扩展,然后点击“禁用”即可。(图1)

OutputCache 非常有用,好处有三:直接从内存读页面,页面响应速度更快,用户体验更好;大大的降低了服务器的压力,特别是对于高并发的网站,特别是 CPU 的压力;减少了 DB 的强求,降低 DB(数据库)的压力。

 

澳门新浦京娱乐场网站 6

 

之后,再打开任务管理器,如下图:

    2、删除不必要的IIS扩展名映射

  1. 检查页面逻辑

澳门新浦京娱乐场网站 7

  IIS默认支持.asp、.cdx等8种扩展名的映射,这其中除了.asp之外其他的扩展几乎用不到。这些用不着的扩展会加重web服务器的负担,而且带来一定的安全隐患。比如.asa,.cer等扩展名,就可以被攻击者利用来获得webshell。因为一般的asp系统都会限制asp文件的上传,但如果没有限制.asa或者.cer等扩展名,攻击者就可以更改文件后缀突破上传限制,运行.asa或者.cer的文件获得webshell。(图 2)

如果WEB 流量很低,但是还有 w3wp.exe(IIS ) CPU 占用 100% 左右的情况,那么就检查页面的代码逻辑吧,很有可能是死循环或大量的运算导致。

 

澳门新浦京娱乐场网站 8

 

    删除IIS扩展名的操作是:打开IIS管理器,右键单击“默认Web站点”选择“属性”,点击“主目录”选项卡,然后点击“配置”打开应用程序窗口,最后根据自己的需要选择不必要的应用程序映射比如.shtml, .shtm, .stm等,然后点击“删除”即可。(图3)

观察进程为 w3wp.exe 的,查看那个CPU 占用的高,再利用其 PID 于 iisapp 中列出的结果对比,就能轻松的找出是那个站点占用的CPU过高了

澳门新浦京娱乐场网站 9

 

3、取消访问记录

2. 重启 IIS 和 应用程序池

  IIS6.0默认开启对于web的访问记录。当开启记录功能后,IIS会事无巨细地忠实记录所有的web访问记录。这些记录文件的内容是非常庞杂的,比如访问时间、客户端IP、从哪个链接访问、 Cookies等,另外还包括 Method(方法), UserAgent(用户代理)等。这些记录不但占用大量的磁盘空间还大大地影响了web服务器的性能。有人做过评测,停止访问记录可以提升5%到8%的 web性能。而且这些记录对于一般用户,特别是中小型的Web站点没有什么用途,简直太耗费系统性能了,因此建议关闭它。

此步是紧急处理,一般都是治标不治本的步骤。如果你的站点搭建的有 负载均衡(负载均衡、NLB),那么请在 负载均衡(负载均衡、NLB)把当前服务器下了,然后重启。如果你没有 负载均衡(负载均衡、NLB),而且你的站点又是在线的,那么,就悲剧10多秒吧,短暂的不能访问吧

  取消访问记录的操作是:打开IIS管理器,定位到具体的web站点,右键点击选择“属性”,在“主目录”选项卡下取消对“记录访问”的勾选即可。(图4)

 

澳门新浦京娱乐场网站 10

3. 给页面加上页面级别缓存

   4、对访问流量进行限制

 

  默认情况下IIS 6.0对于访问量是没有限制的,如果并发连接过大超过了Web的负载轻则发生网络拥塞,重则导致服务器宕机。因此需要对用户的访问进行限制,控制Web访问的流量。

如果Web 是 Asp.Net 程序,那么请一定要 <%@ OutputCache Duration="10" VaryByParam="none"%>。但是有好多人都没有用好 OutputCache ,导致经常出现下载页面的问题,所以都放弃了使用,这里有 OutputCache 导致页面下载的解决办法 。

  打开“Internet信息服务”管理器,在其窗口右侧点击主机名前面的“ ”号,依次定位到某个Web站点上。选中该Web站点右键单击选择 “属性”,在打开的属性设置窗口中选中“性能”标签,将“启用带宽限制”复选框选中,在随后被激活的“最大网络使用”设置框中,指定你的网络站点带宽的具体数值。大家可以根据服务器的性能及其访问量综合考虑继续设置。对于一般的企业站点将带宽流量设置为1500kb/s就差不多了。同时在“网站连接”下可以进行连接限制的设置,大家可以根据情况设置一个数值。完成以上设置后,IIS就只能使用其被授予的资源进行Web服务,杜绝了异常情况造成的服务器过载,为Web减负。(图5)

 

澳门新浦京娱乐场网站 11

OutputCache 非常有用,好处有三:直接从内存读页面,页面响应速度更快,用户体验更好;大大的降低了服务器的压力,特别是对于高并发的网站,特别是 CPU 的压力;减少了 DB 的强求,降低 DB(数据库)的压力。

5、让Web负载自由伸缩

 

  默认情况下IIS是全负荷地为Web提供服务的,这在一定程度上加重了Web负担。如何能够自动地根据负载变化自动调节工作进程呢?

4. 检查页面逻辑

  利用IIS 6.0的Web园,我们只需指定用于某个应用程序池的工作进程的数量就可以了实现各个Web站点之间的隔离。具体的配置步骤是:在“Internet信息服务”管理器中打开应用程序池的“属性”对话框,转到“性能”页,在“Web园”下面的“最大工作进程数”输入框中输入进程数量。当服务器的负载较小,不需要额外的工作进程时,IIS 6.0在一定的时间后(默认20分钟,可配置)自动缩减实际的工作进程数量;如果负载变大,需要额外的工作进程,IIS 6.0再次增加工作进程数量。另外,还可以“启用CUP监视”,设置“最大CPU使用率”,“刷新CUP使用率值”以及“CPU使用率超过最大使用率是执行的操作”,这些设置可以根据需要进行设置。当一切设置完成后这一切就交给IIS自动进行,不需要管理员干预。 (图6)

 

澳门新浦京娱乐场网站 12

如果WEB 流量很低,但是还有 w3wp.exe(IIS ) CPU 占用 100% 左右的情况,那么就检查页面的代码逻辑吧,很有可能是死循环或大量的运算导致。

澳门新浦京娱乐场网站0性能优化指南,exe进程大量占用cpu资源的各种问题解决方法。   6、配置应用呈现池

 

  IIS可以支持多个Web服务,特别是虚拟主机一台服务器上有非常多的Web站点。如何才能做到各个站点之间相互独立,不因某些Web站点出现故障而影响其他站点呢?为不同工作进程指定应用程序池是个很好的解决办法。

以上就是 w3wp.exe(IIS ) CPU 占用 100% 的常见原因及解决办法 的解决办法,如果对你有所帮助,请留言或者点击推荐

  (1)、创建

寻自己 - 2011/04/18 17:35 - .Net,C#,Asp.Net - 首发博客园

  打开“IIS 管理器”中,展开本地计算机,右键单击“应用程序池”,选择“新建→应用程序池”。在“应用程序池名称”框中,输入新的应用程序池名称。如果点选选“将现有应用程序池作为模板”,可以在“应用程序池名称”下来列表中选择相应的应用程序池,最后单击“确定”即可。 (图7)

澳门新浦京娱乐场网站 13

    (2)、指派

  在“IIS 管理器中”,右键单击你要为其指派应用程序池的站点然后单击“属性”。在该站点的属性面板中“主目录”选项卡,在“应用程序池”下拉列表中选择刚才创建的应用程序池即可。如果所有的选项为灰色,单击“创建”按钮就可以输入“应用程序名”,然后在“应用程序池”列表框中,选择并指派网站的应用程序池了。(图 8)

澳门新浦京娱乐场网站 14

    (3)、回收

  利用“回收”功能,可是设置如何恢复系统资源进行IIS资源使用的灵活定制。打开“IIS 管理控制台”,单击“ ”号依次“展开本地计算机→应用程序池”。选择你要回收的应用程序池右键单击选择“属性”,出现应用程序池的属性对话框,单击“回收”选项卡在其下可以设置“进程回收”、“内存回收”等,所有这些设置大家根据实际需要进行设置。(图9)

澳门新浦京娱乐场网站 15

    总结:通过上述IIS优化措施,Web服务器就能轻装上阵其性能将会有较大的提升。当然,要从根本上改善Web性能,仅仅进行软设置是不够的。另外,还需要进行硬件改造,软硬结合才是最完美的解决方案。

管理互联网信息服务器(Internet Information Server,IIS)大家都知道,它是一个既简单而又麻烦的东西,简单的是安装它几乎不需要费什么脑筋,选择一下路径,然后一路按“下一步”就可以完成;配置也比较简单,只要有一定的NT和网络知识,照着说明书就可以架设一个像模像样的Web站点出来。然而管理IIS却没有想像的那样简单。使用一段时间以后,管理员往往会遇上服务器性能不良的情况。这时候,IIS的性能优化,就尤为重要了。

  导致IIS服务性能不良的原因有两个方面。一个是人为的,也就是说管理员在安装、配置IIS的时候没有进行优化或者配置错误。另一个则是客观上的,随着运行的服务种类,以及访问人数的增加,服务器原有的硬件配置已不能满足要求了,这就需要提高硬件配置。

  在服务器配置上优化IIS性能

  1.IIS高速缓存是对IIS进行优化时要考虑的最重要的项目之一。服务器保留了一部分内存空间用作IIS高速缓存,为将来的请求存储对象,这样IIS就可从高速缓存中检索对象而不用从硬盘中检索。

  调整IIS高速缓存的容量需要修改注册表,表项如下:

  HKEY_LOCAL_MACHINE
  System
  CurrentControlSet
  Services
  InetInfo
  Parameters
  MemoryCacheSize
  MemoryCacheSize的范围是从0道4GB,缺省值为3072000(3MB)。

  IIS通过高速缓存系统句柄、目录列表以及其他常用数据的值来提高系统的性能。这个参数指明了分配给高速缓存的内存大小。如果该值为0,那就意味着 “不进行任何高速缓存”。在这种情况下系统的性能可能会降低。如果你的服务器网络通讯繁忙,并且有足够的内存空间,可以考虑增大该值。必须注意的是修改注册表后,需要重新启动才能使新值生效。

  2.使IIS使用处理器时间最长。服务器的CPU处理器能力总是有限的。哪一个应用程序占用处理器的时间最长,谁的性能就能得到最大的提高。

  (1)在NT的控制面板中,双击系统图标。
  (2)单击性能标签。
  (3)在应用程序性能下将游标拖到None的位置,这样就可以使所有正在运行的服务,包括IIS,使用处理器的时间达到最大值。

  3.服务器属性设置。在服务器属性里有一项可以使网络应用程序的总处理能力最大的选项,你当然应该选择它。

  (1)在桌面上右键单击网络邻居图标,然后选择属性选项。
  (2)单击“服务标签”。
  (3)单击“服务器”,然后按“属性”。
  (4)选择最大化网络应用程序的总处理能力。然后单击“OK。”

  提高硬件配置来优化IIS性能

  当进行了上述的优化配置,IIS的性能仍然没有什么明显改善的话,也许你应该考虑提高服务器配置了。如升级处理器,增加硬盘,升级网卡,增加内存等。

  优化IIS的注意事项

  为了避免以后的头疼,在安装IIS之时就应该注意到IIS的优化。比如:

  1.为了提高性能和节约资源,应该只运行需要的协议。这一点很多管理员都没有注意,笔者曾见到在一台只作Web服务的机器上同时安装有NetBEUI、Tcp/IP和IPX协议。显然这是不合理的。

  2.应该将IIS服务器,设置为独立的服务器,不要让服务器去承受域控制器要求的额外负荷。试想:服务器一边在响应用户的登录,一边还要提供IIS服务,性能能不下降吗?

  3.可以把NT服务器的页交换文件分布到多个物理磁盘上,注意是多个“物理磁盘”,分布在多个分区上是无效的。另外,不要将页交换文件放在与WIndows NT引导区相同的分区中。

  4.使用磁盘镜像或磁盘带区集可以提高磁盘的读取性能。

  5.关于日志的记录,应该采用文件记录而不是记录到ODBC数据源。此外,还可以在记录期间增加用来记录日志的内存缓冲区的容量来减少磁盘的活动。该缓冲区的缺省容量值为64KB。

  6.最好把所有的数据都储存在一个单独的分区里。然后定期运行磁盘碎片整理程序以保证在存储Web服务器数据的分区中没有碎片。使用NTFS有助于减少碎片。笔者推荐使用Norton的Speeddisk,可以很快地整理NTFS分区。

  7.虽然SSL可以提供相当可靠的加密传输。但是所需的额外开销会导致IIS服务器速度下降,尤其是在处理大型文件的时候。所以应该只对确实需要保护的目录进行SSL加密。

本文由澳门新浦京娱乐场网站发布于服务器,转载请注明出处:澳门新浦京娱乐场网站0性能优化指南,exe进程大