• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

终极优化(1):使用 IIS 5.0 调整 Web服务器的艺术与科学

发布: 2009-4-15 09:39 | 作者: 不详 | 来源: 测试时代采编 | 查看: 24次 | 进入软件测试论坛讨论

领测软件测试网

 若要判定服务器上目前的内存容量是否能满足您的需求,请使用内建在windows 2000 中的 [性能] 工具 (先前称为 perfmon)。属于 [性能] 工具一部份的 [系统监视器] 会随着计数器指数的改变而以图形显示。

  此外,请留意您的缓存设置--只添加内存不一定能够解决性能问题。您必须留意 iis 缓存处理设置以及它们如何影响服务器的性能。如果这些设置对放置在服务器上的负载并不适当的话,则可能不是发生内存不足,而是造成性能瓶颈。这些缓存设置的相关信息,请参阅本文中〈iis 设置〉及〈附录 1:性能设置〉两节中的说明。如需关于使用 asp 及 iis 缓存的讨论,请参阅〈附录 3:asp 缓存处理〉。

  附注:在使用 [性能] 计数器来监视性能时,可以在 [添加计数器]对话框中任选一个计数器,并按一下 [说明] 来查看该计数器的说明。
请记录下列计数器,以判定是否有和内存相关的性能瓶颈:

  ·  内存︰可用的字节。试着保留至少 10% 的可用内存,以供尖峰时间使用。请记住 iis 5.0 默认最多会使用 50% 的可用内存,供文件缓存使用。

  ·  内存︰page faults/sec、memory︰pages input/sec及memory︰page reads/sec。如果有个程序请求内存中的一页,但系统无法在所需的位置上找到它,就会构成一个分页错误。如果此页位于内存中的其它位置,则此错误便称为软件分页错误。如果必须从磁盘获取此页,则此错误便称为硬件分页错误。大部分的处理器可以处理大量的软件错误而不会引起任何后果。但是,硬件错误却会导致严重的延迟。「page faults/sec」是指处理器处理错误页 (包括硬件及软件分页错误) 的整体速度。「pages input/sec」是指为了解决硬件分页错误而从磁盘读取的总页数。「pages reads/sec」是指为了解决硬件分页错误而读取磁盘的次数。「pages input/sec」会大于或等于「page reads/sec」,并且能够清楚地让您了解硬件分页错误率。如果这些数字都很低,则服务器应该可以快速地响应请求。如果很高,则可能是因为您用了太多的内存在缓存处理上,而没有留足够的内存供系统的其它部份使用。您可能必须在服务器上添加 ram 的容量,但是降低缓存的大小也是可行的。

  ·  内存︰cache bytes、internet information services global︰file cache hits %、internet information services global︰file cache flushes,及 internet information services global︰file cache hits。第一个计数器「memory : cache bytes」显示「文件系统缓存」的大小,其默认为最多使用 50% 的可用物理内存。由于当缓存的内存快要不足时,iis 会自动调整它,所以请留意这个计数器行进的方向。第二个计数器是缓存存取次数与缓存请求总数的比例,它会反应出此「iis 文件缓存」的设置表现的好不好。对于主要由静态文件组成的网站来说,80% 以上的缓存存取次数应是个不错的数字。请比较最后两个计数器的记录文件「iis global: file cache flushes」及「iis global︰file cache hits」,以判定您是否正以适当的速度将对象从您的缓存清除。如果清除发生太快,则对象可能会比其应有的频率更常从缓存中清除出来。如果清除发生太慢,就会浪费内存。请参阅〈附录 1︰性能设置〉中关于objectcachettl、memcachesize及 maxcachedfilesize 对象的说明。

  ·  page file bytes : total。这个计数器反应出系统上分页文件的大小。分页文件越大,系统提供给它的内存就越多。windows 2000 会自动在系统磁盘驱动器上建立一个分页文件;您可以在每一个逻辑磁盘上建立一个分页文件,并改变现有文件的大小。事实上,将一个分页文件等量分配到不同物理硬盘上可提升分页文件的性能 (请使用不含您的网站内容或记录文件的硬盘)。请记住,系统磁盘驱动器上的分页文件至少应是物理内存的两倍大,这样系统才能在发生当机时,将整个 ram 的内容写入磁盘中。

  ·  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)

  

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

53/5<12345>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网