终极优化(3):使用 IIS 5.0 调整 Web服务器的艺术与科学
windows 2000 及 iis 5.0 中的功能及设置 如果您目前正在含 iis 4.0 的 windows nt server 4.0 上执行一个经过适当调整的站点,则该站点在 windows 2000 server 及 iis 5.0 上应可顺利地执行。相关信息请参阅 windows 2000 performance test by zd labs。 当
windows 2000 及 iis 5.0 中的功能及设置
如果您目前正在含 iis 4.0 的 windows nt server 4.0 上执行一个经过适当调整的站点,则该站点在 windows 2000 server 及 iis 5.0 上应可顺利地执行。相关信息请参阅 windows 2000 performance test by zd labs。 当进行迁移时,您还是要监视你的
服务器及站点。您将会注意到在 windows 2000 及 iis 5.0 中有些针对增强
性能及简化管理而设计的新功能。此外,在 iis 4.0 中的默认的设置值到了 iis 5.0 之后已有所改变。本节将讨论这些功能及变化。
将 windows 2000 设置为应用程序服务器
如果打算将服务器主要当作web服务器使用,则将服务器计算机设为应用程序服务器是提高性能的最快方法。如此可让您利用较高的 smp 缩放性、更高的
网络性能,及更多 web 应用程序物理内存的支持。对于执行 com 的应用程序,则使用 windows 2000 当作应用程序服务器也会对com+ 有更多好处。此外,您可以将 com+ 的交易处理功能当作一个交易监视器使用,以提高
数据库应用程序的性能。windows 2000 server 会默认安装成文件服务器,因此您必须确定在安装过程中选择了应用程序服务器。不过,即使没有选取,在安装之后再将服务器设为应用程序服务器也很容易。若要选取︰
1. 按一下 [开始],并指向 [设置] 后,再按 [网络和拨号连接]。
2. 选取 [区域连接],并开启它的属性。
3. 选取 [file and printer sharing for microsoft networks],并开启它的属性。
4. 在 [服务器最佳化] 选项卡上选取 [网络应用程序的数据传输量最大化]。
此设置将于重新启动服务器之后才生效。
iisreset 公用程序
iis 5.0 提供一些新功能及默认设置,使得执行 iis 5.0 的站点更加可靠且容易管理。其中第一个功能是新的 iisreset.exe,它是一个让您不必重新开机就能停止及重新启动 iis 服务的公用程序。iisreset 在默认情况下会在它们失败时重新启动您的服务。您也可以使用 iisreset 从远程启动、停止或暂停您的服务,或视需要重新启动您的服务器计算机。您应该在没有办法时才重新启动。如果使用 iisreset 重新启动您的网络服务,用户会遭遇短暂暂停,此时他们只要按一下重新整理即可取得新网页。如果重新启动整台计算机,则无法使用的时间会更久。您也可以隔离您要停止的服务。例如,如果是在和web服务器相同的计算机上执行 smtp 服务器,则可选择只要停止并重新启动您的 web 服务,而不是连smtp 服务也跟着停止。
您必须知道如果经常重新开机及重新启始(按reset键)会有损于性能资料的完整性。如果使用 iisreset 自动重新启动服务,就比较不会发生这个问题,因此您应该不断地监视 [事件记录文件],以获取重新开机的情况。
iis 设置
[aspprocessorthreadmax metabase 的内容已改变。它原本在 iis 4.0 中是称为 processorthreadmax,而且是存在注册表(registry)中,其默认值为 10。在 iis 5.0 中的新默认值是 25 。这个设置是指每个处理器及每一进程︰在双 cpu 的系统上,每一进程中的工作线程数目可达 aspprocessorthreadmax 值的两倍之高,或高达 50 个工作自变量 (这是指在双 cpu 上的默认值的数目)。如果正在执行多个高度隔离的 asp 应用程序,则每一个进程会有一组独立的工作线程。
附注︰asp 会以 cpu 个数加上 7 的工作线程数目开始。当 asp 请求队列的大小超过某个临界值时,它会建立更多线程。
aspthreadgateenabled 内容已添加到 metabase 中。它在默认值是关闭的。如果开启此内容,则 iis 会执行线程传送,从而动态地控制当前线程的个数,以响应不同的负载状态。当 cpu 用量降到 50% 以下时,可能表示线程被阻断 (例如正在等待外部数据库传回查询的结果),或纯粹表示负载量低, iis 5.0 会增加使用中的线程数目,以便实时服务其它请求。当处理器用量超过 80% 时 (代表高负载量),iis 5.0 会撤消线程,以减少内容切换的数量。您可以设置上限及下限︰aspthreadgateloadlow 默认是 50%;aspthreadgateloadhigh 默认是 80 %。不管aspthreadgateenabled 的值如何,asp 进程的工作线程一定不会超过 cpu 个数乘以aspprocessorthreadmax。
对于需要处理大量 asp 的站点,最好是通过开启及关闭线程传送来
测试它的性能,看看会有什么效果。根据您的观察作最后决定。对于主要是由静态文件组成的站点,请开启设置并监视服务器性能,看看传输量及响应时间是否有改善。
原文转自:http://www.ltesting.net