系统功能
新华社多媒体数据库系统采用多层结构,包括新闻网站“我的新华网”、历史数据发布系统、文字编辑系统、图片编辑系统四部分,将新华通讯社数十年积累的大量纸张、软盘、胶 片、照片等介质的新闻信息统一收集管理,保存在磁带库中,完成了新闻信息向数字化的转 换,使新华社珍贵的历史资料得到有效保存,也使新闻信息的共享不再受地域和时间的限制, 满足了遍及世界各地的新闻工作者和广大用户对新闻和历史资料的需求。
该系统内网环境由Web服务器、检索服务器、数据库服务器、磁带库等共同构成,数据存 储系统与交换机间采用千兆网络连接,保证了数据的调用速度。系统整体结构设计思路合理, 选用的设备先进,能够提供持续、高效的服务。
测试工具
本次性能测试主要采用美国Compuware(康博)公司开发的自动化负载测试工具软件 QALoad V4.8.1,该软件针对各种测试目标提供了WWW、ODBC、MS SQL Server、Sybase、 Oracle、Tuxedo、NetLoad、Winsock等不同的测试接口(Session)。QALoad是QACenter性能 版的一部分,它通过可重复的、真实的测试能够彻底地度量应用的可扩展性和性能。
测试方案
本次测试包括负载压力测试和疲劳测试两部分。鉴于本系统已投入7*24小时的正式运行, 服务不能间断,因此性能测试案例设置中不包括上传、下载等严重影响数据库服务器对外服务 效率的操作,而将测试重点放在系统并发压力负载较大的检索业务,进行负载压力测试和疲劳 测试。
按照新华社用户业务习惯和软件设计的特色,中国软件评测中心与新华社技术人员共同制 定了性能测试的测试案例。按照系统的设计,用户访问Web服务器,进入多媒体数据库首页, 登录后首先看到全文检索服务器提供的按时间倒序排列的20条最新新闻,用户可以选择中文库、英文库或图片库进行全库检索或进入某一级分库进行检索,发出单一检索词或复合检索条件的检索请求后,全文检索服务器在设定的检索范围内进行检索并返回找到的前20条新闻的题目,如果用户选择查看中文或英文文本新闻全文,则由数据库服务器提供全文数据;如果是图片新闻,数据库服务器将提供新闻图片的缩略图,当用户进一步要求新闻大图时,则由数据库 服务器向磁带库发出查找请求,在磁带库提取出所需的大图。
因此,负载压力测试分别设计了在中文库、英文库、图片库中进行检索的测试案例;为了 吻合各类用户的不同使用习惯,案例包括了全库检索和分库检索;而通过数据池、多脚本运行 等技术建立的变检索式、混合检索业务等负载压力测试案例则模拟了多个用户以不同检索方 式、不同检索词、分别在各个库中同时进行检索的真实业务状态。
疲劳测试选用了负载压力测试的一个案例,即在中文库中进行单一检索词进行检索。测试 中采用负载压力测试中确定的能够稳定运行的较大并发用户数,进行测试周期约8小时的单检 索词检索。疲劳测试的目的是考察系统在长时间、大负载的情况下的运行稳定性。
负载压力测试和疲劳测试的中的重要交易处理测试指标包括并发用户数、响应时间、交易频率等,结合系统对用户请求的响应,在测试脚本中分别设置5至7个检查点,分段记录登录前 http请求、登录信息从浏览器发给服务器、查询前http请求、查询信息从浏览器发给服务器、 查询后多篇显示前http请求等业务段的交易处理指标。在进行并发和疲劳测试的同时,还监测了系统资源情况,测试指标包括UNIX(Linux)、Oracle、Apache资源等。 在测试过程中发现,对于全库检索和进入最底层分库检索的系统响应时间有较大差距,按 照新华社技术人员的分析,长期使用该系统的用户更习惯于进入最底层分库进行检索,因此对 于负载压力测试的测试案例的比例进行了一定的调整,增加混合业务案例中分库检索所占比例,使模拟并发测试的案例更接近于真实情况。
结果分析
新华社多媒体数据库系统在负载压力测试中,针对规定的各负载压力测试案例,系统能够 承受并发用户数为200的负载压力,交易频率最大达到78.73交易数/分钟,运行基本稳定,随 着负载压力增大,系统性能有所衰减。通过对系统UNIX(Linux)、Oracle以及Apache资源的 监控,系统资源能够满足上述并发和疲劳性能需求。在疲劳测试中,系统在200并发用户数持 续周期约8小时的疲劳压力下,基本能够稳定运行。
在本次性能测试中,当并发用户数超过200后,系统开始出现超过错误,而系统硬件资源 尚有较大利用余地,因此可以通过对软件性能的进一步优化,达到支持更大并发用户数。