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

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

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

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

领测软件测试网

随着用户请求从网站获得快速的响应时间,以及在这些网站上不断增加的动态内容,更加需要利用到快速、有效的处理器用量。当一或多个进程几乎耗尽所有处理器时,就会发生瓶颈。这会迫使准备好执行的进程线程必须在队列中等待处理器时间。添加诸如内存、磁盘或网络连接等其它硬件,以试图克服处理器瓶颈的无效,反而会让状况更加恶化。

  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 属性。

  ·  processor: interrupts/sec 及 processor: %dpc time 。使用这些计数器来判定处理器应花多少时间在中断及延缓的过程调用上 (dpc)。有两个因素可能是处理器上负载的其它来源。客户端请求是这两个因素的主要来源。有些新型网络适配卡包括中断减缓,也就是说当中断程度太高时,它会将中断累积在缓冲区中。

  跨多台计算机调配

  如果处理器问题持续存在,请尝试使用 network load balancing (nlb) 或硬件负载平衡器跨多台计算机调配您的站点。虽然使用其中一种方法来设置 web farm 会增加一层复杂性,并产生一些其它问题,但如果您的网站规模够大的话,这个操作可能会替您解决一些性能问题。nlb 的相关信息,请参阅 network load balancing technical overview。

  网络容量、等待时间及带宽

  基本上,网络是客户端向服务器传送请求的线路。它花在您的服务器上来回传递这些请求及响应的时间,对用户能察觉的服务器性能来说是个最大限制因素之一。这种请求-响应的循环时间就称为等待时间,等待时间对于web 服务器管理员来说几乎是无法控制的。例如,您对 internet 上速度缓慢的路由器,或是客户端及服务器之间的物理距离所能作的处理实在不多。

  在主要是由静态内容组成的站点上,网络带宽最有可能是性能瓶颈的来源。即使是一般的服务器也可能用满一条 t3 连接 (45mbps) 或 100mbps fast ethernet 连接。您可以通过调整当前的连接,或尽可能最大化有效的带宽来改善这些问题。

  测量有效带宽最简单的方法是判定您的服务器是以哪个速度传送及接收资料的。有一些「性能」计数器可以测量您的服务器上许多组件中的数据传输。包括 web、ftp 及 stmp 服务、tcp 对象、tp 对象及「网络接口」对象上的计数器。每一个计数器都会反应不同的 open system interconnectivity (osi) 层。这些计数器及其分析的详细清单,请参阅随 windows 2000 server resource kit 一起发行的《internet information services 5.0 资源指引》。请特别参阅〈监视及调整服务器〉该章中的〈网络 i/o〉小节。不过,若要开始使用下列计数器︰

  

延伸阅读

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

54/5<12345>

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

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