基于tpc-w基准的网站服务器性能测试系统的制作方法

文档序号:7589686阅读:170来源:国知局
专利名称:基于tpc-w基准的网站服务器性能测试系统的制作方法
技术领域
本发明属于服务器性能测试领域,为网站服务器提供了一种标准的综合性能测试方法。
背景技术
网站服务器的性能不仅和网站服务器软件本身有关,还和服务器硬件设计水平和服务器操作系统有很大的关系。因此网站服务器性能测试是一项综合性能的测试。目前比较流行的网站服务器测试工具有很多,如SpecWeb99和WebStone,它们的测试特征各有侧重,测试方法也有所不同。WebStone测试在给定文件集的条件下,每分钟能获取的页面数目。SpecWeb99评测网站服务器最多能够支持的“顺畅连接”数,它将工作负载中的请求分为五类静态GET、标准动态GET、标准动态GET(CGI)、Customized动态GET和动态POST,测试时根据用户访问网站服务器的统计特性按一定比例发送请求。它的优点是对用户负载进行了一定程度的模拟,缺点是负载模拟不够精确,因为它访问的不是真正的网页,被测对象不是真实的网站,而且它也不支持数据库的操作。除此之外,这些统计特性,在当时来说具有一定的通用特性。但随着时间的流逝,网站技术的飞速发展,该统计特性已无法科学地体现每个网站服务器的性能特征。

发明内容
本发明的目的在于提供一种能克服上述缺陷的基于TPC-W基准的网站服务器性能测试系统,该测试系统具有安装简单、数据库规模可伸缩、接近现实世界、参数配置和结果显示界面人性化、适用范围广、评测费用低等优点。
本发明提供的一种基于TPC-W基准的网站服务器性能测试系统,一种基于TPC-W基准的网站服务器性能测试系统,其特征在于该测试系统包括三大部分被测服务器、支付网关模拟器和远程模拟浏览器;其中被测服务器用于提供测试的对象,它包括创建数据库模块、服务器数据库、初始化数据库模块、服务器网页和动态链接库;创建数据库模块用于创建服务器数据库;初始化数据库模块用于向服务器数据库写入用于测试的初始数据;网页通过将链接参数传给动态链接库实现网页之间的跳转;动态链接库根据链接参数从网页中读出新的静态网页内容,并从服务器数据库中得到相应的动态内容,组合成新的动态网页;同时,动态链接库完成到支付网关模拟器的交互认证;支付网关模拟器用于在用户进行购买确认时,辅助主体测试部分完成网上支付时银行的认证和划拨,其功能是从被测服务器接收购买号和银行卡号,产生认证号,将数据写入数据库进行记录,并传回被测服务器;支付网关模拟器包括建立连接模块、接收发送模块、加密模块、产生认证号模块、认证数据库和写数据库模块;其中建立连接模块用于在约定的端口侦听,检测到连接请求后,将信息交给接收发送模块处理;接收发送模块用于完成与被测服务器的加密认证交互过程接收发送模块将需要加密/解密的信息送给加密模块,加密模块返回加密/解密后的数据;产生认证号模块用于产生认证号;写数据库模块用于将认证号写入认证数据库进行记录;远程模拟浏览器用于模拟用户行为从客户端使用多线程发送大量的请求到被测服务器,按规定比例访问网站的各个网页;在客户端记录指标测量值,分析并实时显示测试结果,得出系统的性能参数;它包括负载产生模块、计时器模块、结果记录模块、结果数据库和结果显示模块;其中负载产生模块负责向被测服务器发送请求,并调用结果记录模块记录指标测量值;计时器模块用于控制网站服务器综合性能测试的全过程,控制负载产生模块的启动/停止;负责每秒定时更新结果显示模块;在测试结束时,杀死所有线程,调用写数据库模块将测试结果集中写入主客户机的结果数据库,并以表格的形式显示整体测试结果。
上述支付网关模拟器接收到被测服务器的请求后,加密模块将用非对称加密算法的私钥加密后的对称密钥传给被测服务器;被测服务器接收到对称密钥后,将购买号和银行卡号封装成一6000字节长的信息串,用对称密钥加密,发送给支付网关模拟器;支付网关模拟器接收到加密信息串后,先用对称密钥解密;再从信息串中分离出购买号和银行卡号,产生认证号模块产生一个位的随机串作为认证号,写数据库模块将数据写入数据库进行记录,并将认证号嵌入信息串中,加密后传回被测服务器;被测服务器接收到加密信息串后,解密得到认证号。
本发明选取了衡量服务器性能的两个参数每秒网页操作的平均数(WIPS,Web Interaction Per Second)和服务器对用户请求的平均响应时间(WIRT,WebInteraction Response Time)作为主要测试指标。本发明采用客户机/服务器体系结构,在高速宽带局域网中,使用多台客户机模拟真实情况下大量用户访问Web服务器行为的统计特性,测试服务器在不同负载下的性能。本发明具有以下优点及效果1.测试原理规范测试原理来源于实际,采用最新的用户访问网站服务器的统计特性,具备良好的科学基础,非常规范。
TPC-W服务器性能综合测试系统遵循大量用户访问网站服务器真实行为的最新统计特性,采用线程内按比例访问技术,在每个线程的内部控制比例,宏观上实现了在整个测试期间对网页的按比例访问,而微观上每一次的访问又具有随机性,对用户行为进行了细粒度的模拟。它可测试网站服务器在三种测试模式下(WIPS、WIPSb、WIPSo)的综合性能,克服了原有基准测试标准过时、不够科学的缺点。
2.接近现实世界本发明采用了Windows下的多线程技术、事件同步技术、加密技术和网络编程技术。测试系统中有一系列可控参数测试时间、数据库的尺寸、客户机的数量、线程数和测试模式等等。例如,通过改变数据库的尺寸可以调节数据库操作在负载中所占的比重;改变客户机的数量和线程数可改变总的负载大小;改变测试模式可以调节每个网页的访问比例。因此,整个测试系统可以通过改变参数的输入值来测量服务器的在不同负载下的性能,对比发现服务器性能中的瓶颈。
3.安装简单、界面人性化该测试系统能自动安装并进行配置导航,有详尽的帮助文档指导用户使用和排除故障。安装时用户可按照功能选择服务器端安装、支付网关模拟器安装、客户端安装和主客户端安装,方便简洁。测试时不需使用命令行,只需从界面输入几个必要的可控参数即可,使用简单,界面人性化。
4.适用范围广、评测费用低TPC-W服务器性能综合测试系统评测的对象可以是专用的网站服务器,也可以是运行Windows的PC机或集群,适用范围广;客户机可由多台运行Windows的PC机组成,大大降低了评测成本。
本发明利用了Windows下的多线程技术、事件同步技术、加密技术和网络编程技术,具有安装简单、数据库规模可伸缩、接近现实世界、参数配置和结果显示界面人性化、适用范围广、评测费用低等优点。


图1为本发明测试系统的结构示意图;图2为远程模拟浏览器的工作流程图。
具体实施例方式
根据事务处理性能委员会(TPC,Transaction Processing Corp.)制定的TPCW1.8标准,我们设计和实现了基于TPC-W基准的网站服务器性能测试系统。本发明基于超文本传输协议,采用客户机/服务器体系结构。用户进行购买确认时,网上支付过程中的银行认证和资金划拨由支付网关模拟器来辅助完成。远程浏览模拟器采用线程内按比例访问技术,可以充分利用客户端机器的资源,根据大量用户访问网站服务器真实行为的统计特性,进行细粒度的模拟,从而更好的对网站服务器的性能进行综合测试。
如图1所示,从工作原理的角度可以将本测试系统分为三大部分被测服务器1、支付网关模拟器2和远程模拟浏览器3。下面分别对各部分作进一步详细的说明1.被测服务器被测服务器由动态网页、配套的专用数据库、动态链接库以及创建数据库模块和初始化数据库模块组成。它自动在网站服务器上建立一个模拟售书的电子商务网站,用户可以实际的进行产品浏览、购买和电子支付等操作。它还支持数据库查询、插入和更新操作,并可以通过改变数据库的尺寸来改变负载。
在被测服务器上建立电子商务网站的目的是提供可供测试的对象。
如图1所示,被测服务器1包括创建数据库模块7、初始化数据库模块8、14个服务器网页9和动态链接库10。
创建数据库模块7用于创建服务器数据库4。
初始化数据库模块8向服务器数据库4写入用于测试的初始数据。数据库的大小可变,由数据库中ITEM表的行数决定,用户可以从下列几个数字中选择1000、10000、100000、1000000及10000000。数据库中的数据严格满足原子性、完整性、一致性和持久性。图书作者表中的A_LNAME字段和图书条目表中的I_TITLE字段是整个数据库中最基本的两个字段,由事务处理性能委员会提供的工具WGEN产生。其他字段的值要么按照规定随机产生,要么根据这两个基本字段经过计算产生。宣传图片可利用事务处理性能委员会提供的工具last.exe生成。
网页9通过将链接参数传给动态链接库10实现网页之间的跳转。服务器网页中的购买请求页、购买确认页、购买查询请求页和购买查询结果页需要加密传输,而且购买确认页需要到支付网关模拟器进行认证。
动态链接库10根据链接参数从网页9中读出新的静态网页内容,并从服务器数据库4中得到相应的动态内容,组合成新的动态网页;同时,动态链接库10完成到支付网关模拟器2的交互认证。动态链接库模块是被测服务器的核心,网页之间的链接跳转、数据库操作以及到支付网关模拟器认证都通过动态链接库来实现,动态链接库中对数据库的操作都是调用存储过程来完成的。
2.支付网关模拟器支付网关模拟器的作用是在用户进行购买确认时,辅助主体测试部分完成网上支付时银行的认证和划拨,其功能是从被测服务器接收购买号和银行卡号,产生一个15位的随机串作为认证号,将数据写入数据库进行记录,并传回被测服务器。支付网关模拟器2包括建立连接模块11、接收发送模块12、加密模块13、产生认证号模块14和写数据库模块15。
如图1所示,支付网关模拟器2辅助被测服务器1完成网上支付时银行的认证和划拨。一旦支付网关模拟器2启动,建立连接模块11就在约定的端口侦听,检测到连接请求后,将信息交给接收发送模块12处理。接收发送模块12完成与被测服务器1的加密认证交互过程接收发送模块12将需要加密/解密的信息送给加密模块13,加密模块13返回加密/解密后的数据;产生认证号模块14用于产生一个15位的随机串作为认证号;写数据库模块15将认证号写入认证数据库5进行记录。
为了保证网上支付的安全,确保用户的银行帐号不被窃取,支付网关模拟器和被测服务器之间认证数据的传输都进行加密。加密认证的方法是支付网关模拟器接收到被测服务器的请求后,加密模块将用非对称加密算法的私钥加密后的对称密钥传给被测服务器;被测服务器接收到对称密钥后,将购买号和银行卡号封装成一6000字节长的信息串,用对称密钥加密,发送给支付网关模拟器;支付网关模拟器接收到加密信息串后,先用对称密钥解密;再从信息串中分离出购买号和银行卡号,产生认证号模块产生一个15位的随机串作为认证号,写数据库模块将数据写入数据库进行记录,并将认证号嵌入信息串中,加密后传回被测服务器;被测服务器接收到加密信息串后,解密得到认证号。
3.远程模拟浏览器远程模拟浏览器模拟用户行为从客户端使用多线程发送大量的请求到被测服务器,按规定比例访问网站的各个网页;在客户端记录指标测量值,分析并实时显示测试结果,从而得出系统的性能参数。
如图1所示,远程模拟浏览器3主要包括负载产生模块16、计时器模块17、结果记录模块18和结果显示模块19。
负载产生模块16负责向被测服务器1发送请求,并调用结果记录模块18记录指标测量值。负载产生模块16可以最大限度地利用客户端机器的中央处理器和内存资源来增大服务器端的负载,根据用户选择的测试模式,从客户端向服务器发送请求。
计时器模块17控制网站服务器综合性能测试的全过程,控制负载产生模块16的启动/停止;负责每秒定时更新结果显示模块19;在测试结束时,杀死所有线程,调用写数据库模块20将测试结果集中写入主客户机的结果数据库6,并以表格的形式显示整体测试结果。
负载产生模块使用事件来同步线程。测试结束或用户决定中途终止测试时,主线程打开事件对象Kill,辅线程检测到事件Kill为活动状态时,自动结束线程。整个测试过程可以循环进行。如图2所示,具体工作流程如下1)输入网站地址、服务器总价格和测试模式,随后显示网站主页。
2)从主菜单中选择“Start”,弹出对话框输入测试时间和线程数等测试配置参数;创建相应数目的访问线程,并设置第二计时器。
3)为保证一次访问的完整和内存得到安全释放,每个线程在循环开始时,先检测事件Kill是否为活动状态;若是,则跳出循环,安全释放连接和会话缓冲区所占用的内存,并自动结束线程;否则转4)。
4)多线程采用用户界面线程,每一个线程实现对所有页面的按比例循环访问。在测试过程中对每个网页分别记录测试数据。为了提高客户端对服务器的访问速度,一个线程打开一个会话,一个会话对应一个连接,而在一个连接中可进行多次网页访问,直到测试时间消耗完才由3)来关闭连接和会话。
5)第二计时器判断测试时间是否已消耗完;若是,则清除第二计时器,打开事件对象Kill,将测试结果集中写入主客户机数据库,并以表格的形式显示出来。
6)当用户选择主菜单的“View”时,弹出对话框动态实时显示总的网页操作次数和平均响应时间等;第一计时器负责每秒定时更新结果显示对话框;检测测试时间是否已消耗完,若是,则清除第一计时器,关闭结果显示对话框。
7)当用户选择主菜单的“Kill”时,清除第二计时器,打开事件对象Kill。
为保证测试结果的精确,在开始记录测试数据之前要经过一段预热时间,通常为10分钟,当服务器的吞吐量和响应时间趋于稳定时,才开始记录数据。
实例基于TPC-W基准的网站服务器测试系统配置及运行过程如下1.安装网站服务器节点。将构成网站服务器的14个网页和动态链接库拷贝到Internet服务管理器的主目录下,配置Internet服务管理器;依次运行*.sql文件建立服务器数据库,并初始化数据库;配置ODBC数据源。
2.建立被测服务器。按照步骤1安装N个节点机并在负载平衡机上安装LVS(Linux Virtual Server,Linux虚拟服务器)。所有客户机和服务器之间通过交换机互联为一个局域网,负载平衡机需要安装双网卡。为了保证测试结果的科学性,避免额外网络流量影响测试结果,该局域网与其他用途的网络和设备隔离。在客户端用网页浏览器对服务器端的网页进行访问,验证网页之间的链接和数据库访问是否正常。
3.建立支付网关模拟器。依次运行*_pge.sql文件建立认证数据库,运行支付网关模拟器程序。支付网关模拟器配有一张以太网卡,它可以运行在一台单独的机器上,也可以运行在任何一台节点机或远程浏览模拟器机器上。
4.建立远程浏览模拟器。在主客户机上建立结果数据库,将每个客户机的ODBC数据源都配置为主客户机数据库;将三个结果网页拷贝到Internet服务管理器的主目录下,配置Internet服务管理器。
5.运行远程浏览模拟器。必须先启动其它的客户机后,再启动主客户机。在远程浏览模拟器的参数配置界面中,输入线程数和测试时间,远程浏览模拟器创建相应数目的线程数,每一个线程实现对所有页面的按比例循环访问。测试过程中,用户可从结果显示界面看到剩余测试时间、总的网页操作次数和两个主要测试指标的测量值每秒网页操作的平均数和服务器对用户请求的平均响应时间。计时器负责每秒定时更新结果显示界面。测试结束时,将测试结果集中写入主客户机数据库,并通过结果网页以表格的形式显示出来。显示的内容有每秒网页操作的平均数、性价比、平均响应时间、每个网页的操作次数和它在总的网页操作次数中所占的比例等。
权利要求
1.一种基于TPC-W基准的网站服务器性能测试系统,其特征在于该测试系统包括三大部分被测服务器(1)、支付网关模拟器(2)和远程模拟浏览器(3);其中被测服务器(1)用于提供测试的对象,它包括创建数据库模块(7)、服务器数据库(4)、初始化数据库模块(8)、服务器网页(9)和动态链接库(10);创建数据库模块(7)用于创建服务器数据库(4);初始化数据库模块(8)用于向服务器数据库(4)写入用于测试的初始数据;网页(9)通过将链接参数传给动态链接库(10)实现网页之间的跳转;动态链接库(10)根据链接参数从网页(9)中读出新的静态网页内容,并从服务器数据库(4)中得到相应的动态内容,组合成新的动态网页;同时,动态链接库(10)完成到支付网关模拟器(2)的交互认证;支付网关模拟器(2)用于在用户进行购买确认时,辅助主体测试部分完成网上支付时银行的认证和划拨,其功能是从被测服务器(1)接收购买号和银行卡号,产生认证号,将数据写入数据库进行记录,并传回被测服务器;支付网关模拟器(2)包括建立连接模块(11)、接收发送模块(12)、加密模块(13)、产生认证号模块(14)、认证数据库(5)和写数据库模块15;其中建立连接模块(11)用于在约定的端口侦听,检测到连接请求后,将信息交给接收发送模块(12)处理;接收发送模块(12)用于完成与被测服务器(1)的加密认证交互过程接收发送模块(12)将需要加密/解密的信息送给加密模块(13),加密模块(13)返回加密/解密后的数据;产生认证号模块(14)用于产生认证号;写数据库模块(15)用于将认证号写入认证数据库(5)进行记录;远程模拟浏览器(3)用于模拟用户行为从客户端使用多线程发送大量的请求到被测服务器,按规定比例访问网站的各个网页;在客户端记录指标测量值,分析并实时显示测试结果,得出系统的性能参数;它包括负载产生模块(16)、计时器模块(17)、结果记录模块(18)、结果数据库(6)和结果显示模块(19);其中负载产生模块(16)负责向被测服务器(1)发送请求,并调用结果记录模块(18)记录指标测量值;计时器模块(17)用于控制网站服务器综合性能测试的全过程,控制负载产生模块(16)的启动/停止;负责每秒定时更新结果显示模块(19);在测试结束时,杀死所有线程,调用写数据库模块(20)将测试结果集中写入主客户机的结果数据库(6),并以表格的形式显示整体测试结果。
2.根据权利要求1所述的测试系统,其特征在于支付网关模拟器(2)接收到被测服务器(1)的请求后,加密模块(3)将用非对称加密算法的私钥加密后的对称密钥传给被测服务器(1);被测服务器(1)接收到对称密钥后,将购买号和银行卡号封装成一6000字节长的信息串,用对称密钥加密,发送给支付网关模拟器(2);支付网关模拟器接收到加密信息串后,先用对称密钥解密;再从信息串中分离出购买号和银行卡号,产生认证号模块(14)产生一个15位的随机串作为认证号,写数据库模块将数据写入数据库进行记录,并将认证号嵌入信息串中,加密后传回被测服务器;被测服务器(1)接收到加密信息串后,解密得到认证号。
全文摘要
基于TPC-W基准的网站服务器性能测试系统,为网站服务器提供了一种标准的性能测试工具。本发明采用客户机/服务器体系结构,在高速宽带局域网中,使用多台客户机模拟多个远程浏览用户,严格遵循用户访问网站服务器的统计特性,在规定的测试时间内访问网站服务器,测试网站服务器在三种测试模式下(WIPS、WIPSb、WIPSo)体现出来的性能,即每秒网页操作的平均数和服务器对用户请求的平均响应时间。本发明采用了Windows下的多线程技术、事件同步技术、加密技术和网络编程技术,具有测试原理规范、接近现实世界、数据库规模可伸缩、实现了加密传输、安装简单、界面人性化、适用范围广、评测费用低等优点。
文档编号H04L12/26GK1561036SQ20041001276
公开日2005年1月5日 申请日期2004年2月24日 优先权日2004年2月24日
发明者金海 , 谢夏, 李胜利, 罗贞, 李运发, 卢鹏, 戴志华, 金 海 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1