打造基于IIS 的站点是很多企业的首选但是IIS相对于其他Web平台不但对硬件的要求比较高而且其性能不够尽如人意如果没有强劲的硬件平台用IIS搭建的Web站点确实有些老牛破车的味道另外IIS保守的默认设置让这一切雪上加霜如何在现有的硬件平台上打造快捷的Web服务器呢?那就从IIS优化为Web减负开始
禁止多余的Web服务扩展
IIS支持多种服务扩展有些管理员偷懒或者不求甚解担心Web运行中出现解析错误索性在建站时开启了所有的Web服务扩展殊不知这其中的有些扩展比如所有未知CGI扩展在服务器端的包含文件等是Web运行中根本用不到的况且还占用IIS资源影响性能拖垮Web甚至某些扩展存在漏洞容易被攻击者利用因此科学的原则是用到什么扩展就启用什么扩展
如果企业站点是静态页面那什么扩展都不要开启不过现在的企业站点都是交互的动态页面比如aspphpjsp等如果是asp页面那只需开启Active Server Pages即可对于phpjsp等动态页面IIS默认是不支持的需要进行安装相应组件实现对这些扩展的支持不过此时用不到的扩展完全可以禁用
禁止Web服务扩展的操作非常简单打开IIS管理器在左窗格中点击Web服务扩展在右侧选择相应的扩展然后点击禁用即可(图)
删除不必要的IIS扩展名映射
IIS默认支持aspcdx等种扩展名的映射这其中除了asp之外其他的扩展几乎用不到这些用不着的扩展会加重web服务器的负担而且带来一定的安全隐患比如asacer等扩展名就可以被攻击者利用来获得webshell因为一般的asp系统都会限制asp文件的上传但如果没有限制asa或者cer等扩展名攻击者就可以更改文件后缀突破上传限制运行asa或者cer的文件获得webshell(图)
删除IIS扩展名的操作是打开IIS管理器右键单击默认Web站点选择属性点击主目录选项卡然后点击配置打开应用程序窗口最后根据自己的需要选择不必要的应用程序映射比如shtml shtm stm等然后点击删除即可(图)
取消访问记录
IIS默认开启对于web的访问记录当开启记录功能后IIS会事无巨细地忠实记录所有的web访问记录这些记录文件的内容是非常庞杂的比如访问时间客户端IP从哪个链接访问 Cookies等另外还包括 Method(方法) UserAgent(用户代理)等这些记录不但占用大量的磁盘空间还大大地影响了web服务器的性能有人做过评测停止访问记录可以提升%到%的web性能而且这些记录对于一般用户特别是中小型的Web站点没有什么用途简直太耗费系统性能了因此建议关闭它
取消访问记录的操作是打开IIS管理器定位到具体的web站点右键点击选择属性在主目录选项卡下取消对记录访问的勾选即可(图)
对访问流量进行限制
默认情况下IIS 对于访问量是没有限制的如果并发连接过大超过了Web的负载轻则发生网络拥塞重则导致服务器宕机因此需要对用户的访问进行限制控制Web访问的流量
打开Internet信息服务管理器在其窗口右侧点击主机名前面的+号依次定位到某个Web站点上选中该Web站点右键单击选择属性在打开的属性设置窗口中选中性能标签将启用带宽限制复选框选中在随后被激活的最大网络使用设置框中指定你的网络站点带宽的具体数值大家可以根据服务器的性能及其访问量综合考虑继续设置对于一般的企业站点将带宽流量设置为kb/s就差不多了同时在网站连接下可以进行连接限制的设置大家可以根据情况设置一个数值完成以上设置后IIS就只能使用其被授予的资源进行Web服务杜绝了异常情况造成的服务器过载为Web减负(图)
让Web负载自由伸缩
默认情况下IIS是全负荷地为Web提供服务的这在一定程度上加重了Web负担如何能够自动地根据负载变化自动调节工作进程呢?
利用IIS 的Web园我们只需指定用于某个应用程序池的工作进程的数量就可以了实现各个Web站点之间的隔离具体的配置步骤是在Internet信息服务管理器中打开应用程序池的属性对话框转到性能页在Web园下面的最大工作进程数输入框中输入进程数量当服务器的负载较小不需要额外的工作进程时IIS 在一定的时间后(默认分钟可配置)自动缩减实际的工作进程数量;如果负载变大需要额外的工作进程IIS 再次增加工作进程数量另外还可以启用CUP监视设置最大CPU使用率刷新CUP使用率值以及CPU使用率超过最大使用率是执行的操作这些设置可以根据需要进行设置当一切设置完成后这一切就交给IIS自动进行不需要管理员干预 (图)
配置应用呈现池
IIS可以支持多个Web服务特别是虚拟主机一台服务器上有非常多的Web站点如何才能做到各个站点之间相互独立不因某些Web站点出现故障而影响其他站点呢?为不同工作进程指定应用程序池是个很好的解决办法
()创建
打开IIS 管理器中展开本地计算机右键单击应用程序池选择新建→应用程序池在应用程序池名称框中输入新的应用程序池名称如果点选选将现有应用程序池作为模板可以在应用程序池名称下来列表中选择相应的应用程序池最后单击确定即可 (图)
()指派
在IIS 管理器中右键单击你要为其指派应用程序池的站点然后单击属性在该站点的属性面板中主目录选项卡在应用程序池下拉列表中选择刚才创建的应用程序池即可如果所有的选项为灰色单击创建按钮就可以输入应用程序名然后在应用程序池列表框中选择并指派网站的应用程序池了(图)
()回收
利用回收功能可是设置如何恢复系统资源进行IIS资源使用的灵活定制打开IIS 管理控制台单击+号依次展开本地计算机→应用程序池选择你要回收的应用程序池右键单击选择属性出现应用程序池的属性对话框单击回收选项卡在其下可以设置进程回收内存回收等所有这些设置大家根据实际需要进行设置(图)
总结通过上述IIS优化措施Web服务器就能轻装上阵其性能将会有较大的提升当然要从根本上改善Web性能仅仅进行软设置是不够的另外还需要进行硬件改造软硬结合才是最完美的解决方案