终极优化:使用 IIS 5.0 调整 Web服务器的艺术与科学(4)_动易Cms教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
· Memory: Pool Paged Bytes, Memory: Pool Nonpaged Bytes, Process: Pool Paged Bytes: Inetinfo, Process: Pool Nonpaged Bytes: Inetinfo, Process: Pool Paged Bytes: dllhost#n, and Process: Pool Nonpaged Bytes: dllhost。「Memory : Pool Pages Bytes」及「Memory : Pool Nonpaged bytes」会监视服务器上所有进程的缓冲池空间。这里列出的其它计数器会监视由 IIS 5.0 直接使用的缓冲池空间,不管是用于您服务器上进行的 Inetinfo 进程 (即 IIS 在其中执行的进程),或是 Dllhost 进程 (即把 Web 应用程序从 Inetinfo 隔离或把 Web 应用程序放在缓冲池中一起执行的进程)。请确定监视服务器上所有 Dllhost 例项的计数器;否则您将无法取得 IIS 使用的缓冲池空间的正确数值。系统的内存缓冲池会保留应用程序及操作系统建立及使用的对象。内存缓冲池的内容只能在专用模式下存取。换言之,只有操作系统的核心才能直接使用内存缓冲池;用户进程则无法使用。在执行 IIS 5.0 的服务器上,服务连接的线程是与该服务使用的其它对象 (例如文件句柄及通讯端) 一起存放在未分页的缓冲池中。
除了添加更多 RAM 外,请尝试下列技巧以增强内存性能︰改进数据组织、尝试映像或等量划分磁盘、以 ISAPI 或 ASP 应用程序取代 CGI 应用程序、加大分页文件、重新计数「IIS 文件缓存」、删除不需要的功能,以及将「文件系统缓存」的平衡值改成「IIS 5.0 工作设置」。其中最后一个技巧将在本文稍后具体说明。
若想取得影响这些计数器数字的 Windows 2000 及 IIS 5.0 设置的具体讨论,请参阅〈附录 1︰性能设置〉。
处理器容量 (Processor Capacity)
随着用户请求从网站获得快速的响应时间,以及在这些网站上不断增加的动态内容,更加需要利用到快速、有效的处理器用量。当一或多个进程几乎耗尽所有处理器时,就会发生瓶颈。这会迫使预备好执行的进程线程必须在队列中等待处理器时间。添加诸如内存、磁盘或网络连接等其它硬件,以试图克服处理器瓶颈的无效,反而会让状况更加恶化。
Windows 2000 Server 上的 IIS 5.0 能有效地调配二至四个处理器。假如您正在考虑添加额外的处理器,请衡量您网站的业务需求。例如,假如您在服务器上主控的大多是静态内容,则备有两个处理器的计算机应已足够。假如主控的是会动态生成的内容,则备有四个处理器的安装可以解决您的问题。不过,假如站点上的工作量需要大量的 CPU,则单一计算机将无法符合请求的数量。假如您的站点是这种情况,则应将它调配成跨多台服务器。假如已经在多重服务器上执行您的站点,请考虑添加更多服务器。
不过,您应该明了 Windows 2000 及 IIS 5.0 的最大性能增益来自于解决内存问题。在决定改变Web 服务器上处理器的个数之前,请先排除内存问题,再监视下列「性能计数器」。
· System : Processor Queue Length。这个计数器显示了在由系统上所有处理器共享的队列中,等候执行的线程数目。假如这个计数器提供了两个或以上的自变量值,则表示手边就有一个处理器瓶颈。
· Processor : %Processor Time。处理器瓶颈的特征是︰当网络适配卡及磁盘 I/0 仍保持正常的低容量时,「处理器︰% 处理器时间」的数字却很高。在多处理器的计算机上检查「Processor : %Processor Time」计数器来找出任何不平衡的情况是个很好的作法。
· Thread : Context Switch/sec:Dllhost#N, Thread: Context Switchs/sec:Inetinfo=>Thread#, System: Context Switches/sec。假如决定增加线程缓冲池的大小,便应该监视这里列出的三个计数器。增加线程数目可能会增加内容切换的数目,因而造成性能不增反降。每一个请求有 10 个或以上内容切换就已经是相当高的数字了;假如出现这些数字,请考虑降低线程缓冲池大小。想通过测量连接及请求来得出线程及整体性能之间的平衡点是不轻易的。每次当您调整线程时,请接着监视整体性能,以检查性能是增进还是降低。若要判定是否应该调整线程计数,请将进程中的每一个线程数目和处理器时间拿来和总处理器时间作比较。假如线程持续忙碌,但并没有使用全部的处理器时间,则建立更多线程对性能会有帮助。不过,假如所有线程都很忙,而且处理器已快接近最大容量,则最好将载量分配给更多服务器,而不要增加线程的数目。请参阅本文中〈附录 1︰性能设置〉的AspThreadGateEnabled 及 AspProcessorThreadMax metabase 属性。
相关动易Cms教程:
- MAC错误的解决方法
- 如何屏蔽动易后台导航里的某个功能菜单?
- 动易.NET版本留言自动选定栏目方法
- 动易SiteFactoty整合Discuz!NT3.0
- 在任意位置获取根节点ID标签
- 如何开启SiteWeaver6.8的支持,反对功能
- Windows 2008安装动易.NET系统之四----动易系统安装篇
- Windows 2008安装动易.NET系统之三----数据库篇
- Windows 2008安装动易.NET系统之二----IIS、目录环境配置篇
- 数据库修复,SQL Server 2005内部操作不一致的处理
- 如何安装动易.net程序权限配置
- 为什么提示对Windows系统文件夹下的Temp目录没有访问权限?
- 相关链接:
- 教程说明:
动易Cms教程-终极优化:使用 IIS 5.0 调整 Web服务器的艺术与科学(4)
。