在这次测试中所采用的基准测试环境如图 5 所示。
负载生成
用于基准测试的负载生成器为 Microsoft Inetmonitor。该生成器在许多 PC 上运行。之所以选择它,是因为它能够准确地反映购物者的工作负载,易于使用,而且可以在每台 PC 上模拟大量购物者。图 6 表示 Inetmonitor 的屏幕。
如果您的浏览器不支持嵌入框架,请单击这里在单独的页面查看。
图 5 进行基准测试的环境
如果您的浏览器不支持嵌入框架,请单击这里在单独的页面查看。
图 6 InetMonitor
主要结果
测量了在提供适当的响应速度的情况下,每种配置能够支持的同时购物者的最大数目。所采用的标准是:在每台服务器上,系统 CPU 的总使用率低于 80%,且交易的平均响应时间低于 1 秒。
图 7 和图 8 表示在 Windows NT 和 Windows 2000 两种平台中,所支持的同时购物的人数如何随系统升级和规模扩大而增加。
如果您的浏览器不支持嵌入框架,请单击这里在单独的页面查看。
图 7 系统升级
如果您的浏览器不支持嵌入框架,请单击这里在单独的页面查看。
图 8 扩大规模
详细的性能信息
下图是进行基准测试时系统性能的详细情况。该曲线图对比了在单台 4 路 Web 服务器配置上 Windows 2000 和 Windows NT 4 的测试数据。
在图 9 和 图 10 中,响应时间和吞吐量随着同时购物的人数的增加而增加。
如果您的浏览器不支持嵌入框架,如果您的浏览器不支持嵌入框架,请单击这里在单独的页面查看。
图 10 吞吐量
还测量了 Web 服务器和数据库服务器的 CPU 使用率。在 Windows NT 4 和 Windows 2000 平台上运行的所有单台和多台 Web 服务器使用的 CPU 数目都比同等能力的数据库服务器少 1 个。Web 服务器的 CPU 使用率如图 11 所示。
如果您的浏览器不支持嵌入框架,请单击这里在单独的页面查看。
图 11 Web 服务器的 CPU 使用率
总购物人数
基准测试模拟了大量的同时购物者。每一位模拟购物者都提交交易、等待答复、思考一会儿、提交下一个交易、等待答复、再思考一会儿,如此不断重复,直到基准测试结束为止。当然,真正的购物者将以这种方式进行大量的交易,但当他们完成交易后很长一段时间内将不会再回到该站点,也许是几天或几周。利用站点的总购物人数要远远大于任何时候同时使用该站点的购物者人数。
很难估计一个站点能够支持的总购物人数,但下面给出了一个很好的近似方法,并已使用它对活动商店进行分析。
该方法的前提是:
一个购物者的一次平均会话包括 20 个页面请求且持续大约 20 分钟。 定期购物者平均每月访问该站点一次。 每周高峰期的 20 分钟接待的购物者是每周平均 20 分钟内的 4 倍。这意味着 1 位同时购物者相当于大约 500 位定期购物者。
关于这一点的论据如下:
一个月内包含的 20 分钟时段大约为 2000 个。 每一位定期购物者每月访问站点一次,所以,每位购物者在平均 20 分钟内访问站点的次数为 1/2000。 高峰期的 20 分钟内接待的购物者为平均 20 分钟内的 4 倍,即 1/500。 由于每一次访问平均持续 20 分钟,相当于同时有 1/500 的购物者;也就是说,每一位同时购物者相当于 500 位定期购物者。ICL 解决方案的容量 - 500 万购物者
基准测试将 Web 服务器升级到 3 台 4 路服务器,并连接到一台 8 路数据库服务器上。它使用的容量比数据库服务器的容量小 10%,而且没有理由不相信,一台数据库服务器上至少可以连接 6 台 Web 服务器,而响应时间不会有显著增加。这使得支持一家购物中心的 Web 站点的购物人数可按比例增至非常大,参见图 12。
如果您的浏览器不支持嵌入框架,请单击这里在单独的页面查看。
图 12 购物中心的可伸缩性 (Windows 2000)
此次基准测试证明的容量如下:
使用 3 台 Web 服务器可以支持 5,400 位同时购物者,而平均响应时间保持在 1 秒钟以内。此外,测试结果表明,通过将 Web 服务器的数量增加到 6 台,购物中心的容量将增加到 10,000 位同时购物者以上。 在与基准测试中模拟的负载条件相同的条件下,5,400 位同时购物者每天可以进行大约 750 万次交易,而 10,000 位购物者每天可进行大约 1,400 万次交易。 假设每一位同时购物者相当于 500 位购物者,那么 ICL 的 Internet 购物解决方案最少可支持 270 万购物人数,最多可支持 500 万购物人数。该性能已大大超出多数商店今后的需求。Microsoft Windows 2000
ISSK 能够十分迅速且非常容易地从 Microsoft Windows NT 4 升级到 Microsoft Windows 2000。然后,Microsoft 在雷得蒙使用该 Internet 购物基准测试来验证 Windows 2000 的性能改进。测量表明,Windows 2000 Advanced Server Build 2195 比 Windows NT 4 有了很大的改进。每台 Windows 2000 Web 服务器比 Windows NT 4 可支持的购物者人数多 50%。
企业购物解决方案
基准测试主要是从支持更多的购物者的角度考察该解决方案的可伸缩性。有一点也很重要,那就是这种解决方案规模的管理和系统管理方面(例如,站点内容的备份和更新过程)必须能够处理大量的站点和大量的购物者。
为了建立完整的企业解决方案,考虑到企业的所有其它属性也是十分重要的,这些属性包括:
易管理性 可用性 可靠性 安全性ICL 在企业服务器业务方面经历了一个很长的但很成功的发展历程,它使用在所有这些问题方面积累的知识,来确保其 Internet 购物解决方案满足使命关键的企业解决方案所期望的全部要求。
结论
本白皮书已经介绍了 ICL 和 Microsoft 在研究 ICL 的 Internet 购物解决方案的可伸缩性和性能方面所做的工作。此次联合测试业已证明是十分成功的,而且 ICL 和 Microsoft 均从所获得的知识和经验中受益匪浅。
ICL 的 Internet 购物解决方案及其所基于的 Microsoft 产品已经表明,它们在 ICL 的 Windows NT 服务器上响应迅速,且具有高度可伸缩性。人们期待着,ICL 能够在其它兼容的 Windows NT 服务器上再现这些结果,但尚未就此进行测试。
Internet 购物目前仍处于发展的初期,在未来几年中可能会骤增。ICL 的解决方案能够支持的购物者人数远远超出多数 Internet 商店将来的需求。
致谢
笔者非常感谢所有参与此次基准测试的人:ICL 公司的 Stewart Sutcliffe、Gill Newbold、Andy Kirk、Mark Coleman、John Ruscoe、Stephen Hoyle、Dave Williams、Steve Picken 和 Colin Rutland,以及 Microsoft 公司的 Simon Davies、Robert Barnes、Sally Martin 和 Carl Carter-Schwendler。
词汇表
ASP | Active Server Pages |
COM | 组件对象模型 (Component Object Model) |
ISSK | Interactive Shopping Solution Kit |
HTML | 超文本标记语言 (Hypertext Mark-up Language) |
IIS | Internet Information Server |
MTS | Microsoft Transaction Server |
NLBS | 网络负载平衡服务 (Network Load Balancing Service) |
SQL | 结构化查询语言 (Structured Query Language) |
SQL Server | Microsoft 关系型数据库 (Microsoft relational database) |
WLBS | Windows NT 负载平衡服务 (Windows NT Load Balancing Service) |
参考文献
PICKEN, S., "Internet Shopping Services", ICL Systems Journal, Volume 14, Issue 1, Autumn, 1999.
作者简介
Stuart Forbes 是曼彻斯特的一位系统设计师。他一直从事各种开发和客户项目,性能研究是他的工作重点。目前正在从事 Windows NT 和 Windows 2000 企业解决方案的设计工作。
Stuart 于 1986 年加入 ICL 公司,他是 IEE 的成员,也是 ICL 的杰出工程师。
电子邮件地址:stuart.forbes@icl.com