一种服务器性能自动化测试方法及系统及装置的制造方法

文档序号:9708193阅读:465来源:国知局
一种服务器性能自动化测试方法及系统及装置的制造方法
【技术领域】
[0001]本发明涉及计算机服务器领域,特别是一种服务器性能自动化测试方法及系统及
目.ο
【背景技术】
[0002]随着互联网络技术的飞速发展,服务器的应用越来越广泛,人们对服务器的服务质量的要求也越来越高。于是出现了各式各样的自动化测试平台,可以用于对服务器的运行状况进行测试。
[0003]—般来说,服务器产品在上线时,需要进行几轮的性能和压力测试,用于测试服务器承受负载等方面的能力。当连接到服务器的用户达到一定数量时,往往会出现登陆困难、同步缓慢、频繁断连的问题,这些是由于服务器硬件质量、软件架构、网络带宽所引起的。通过对服务器进行性能和压力测试,可以确定以及发现一个服务器保持正常运行的上线人数以及其它方面的缺陷,从而更好地完善产品以及提供运营品质。
[0004]在现有技术中,服务器自动化测试平台中存在着一些问题,如占用资源高、采用C语言编写脚本过长、布置较为复杂等。因此提供一种简单方便,对资源的消耗较少,易于使用性能测试方法,是本领域技术人员急需解决的问题。

【发明内容】

[0005]本发明的目的在于克服现有技术问题的缺陷,提供一种服务器性能自动化测试方法及系统及装置。
[0006]根据本发明的一个方面,提供了一种服务器性能自动化测试方法,包括如下步骤: A:编写测试案例;
B:本地调试;
C:设置分发程序;
D:服务器集群测试并通过本地Web端实时显示;
E:生成测试报告并发送邮件。
[0007]优选地,所述测试案例根据需求采用python脚本编写。
[0008]优选地,所述本地调试包括利用单用户程序本地调试和/或利用分发程序本地调试。
[0009]优选地,所述设置分发程序包括通过配置文件或者Web端控制并发用户数和执行时间。
[0010]优选地,所述步骤E还包括自动从测试服务器收集执行和异常日志到本地。
[0011 ]根据本发明的另一方面,提供了一种服务器性能自动化测试系统,包括:
编程模块,配置为编写测试案例;
本地调试模块,配置为进行本地调试;
设置模块,配置为设置分发程序; 服务器集群测试模块,配置为进行服务器集群测试并通过本地Web端实时显示;
处理模块,配置为生成测试报告并发送邮件。
[0012]优选地,所述测试案例根据需求采用python脚本编写。
[0013]优选地,所述本地调试包括利用单用户程序本地调试和/或利用分发程序本地调试。
[0014]优选地,所述设置分发程序包括通过配置文件或者Web端控制并发用户数和执行时间。
[0015]优选地,所述处理模块还配置为自动从测试服务器收集执行和异常日志到本地。
[0016]根据本发明的另一方面,提供了一种服务器性能自动化测试装置,所述装置包括: 存储器,用于存储程序;
处理器,用于运行所述程序执行以下步骤:
A:编写测试案例;
B:本地调试;
C:设置分发程序;
D:服务器集群测试并通过本地Web端实时显示;
E:生成测试报告并发送邮件。
[0017]本发明的有益效果是:
本发明采用python脚本语言编写测试案例,简单方便,而且对资源的消耗较少,该工具是一个非常易于使用、分布式的性能测试工具,可以十分方便地对网站和游戏的服务器进行性能和压力的测试。
[0018]本发明可以轻松地模拟数千万的用户去对服务器进行测试,并且可以在web端实时看到测试情况(总共多少用户、成功多少请求、失败多少请求等等),这可以帮助在正式上线之前,发现系统的缺陷以及瓶颈,从而更好地完善产品。
【附图说明】
[0019]下面结合附图和实例对本发明作进一步说明:
图1是根据本发明的一种服务器性能自动化测试方法流程图;
图2是根据本发明的一种服务器性能自动化测试系统模块图;
图3是根据本发明的一种服务器性能自动化测试装置模块图。
【具体实施方式】
[0020]本发明提供一种服务器性能自动化测试方法及系统及装置,用于模拟数千万用户去对服务器进行测试。
[0021 ]根据本发明的一个实施例,提供一种服务器性能自动化测试方法,包括步骤:
A:编写测试案例;
本发明的测试案例根据需求采用python脚本进行编写,可以编写代码如下:
Class GunMaster Tasks(TaskSet):def on_start(self):
self.byte_to_short = struct.Struct () self.sock = socket.socket(socket.AF—INET, socket.SOCK—STREAM) self.sock.settimeout(5) start_time = time.time() try:
ret = self.sock.connect(SERVER_ADDRESS) print ret except socket.timeout as msg:
request_failure.fire(request_type = ‘socket’, name = ‘connect’,response_time = time.time() - start_time,except1n = msg)self.sock = Nonereturn
except socket.error as msg:
request_failure.fire(request_type = ‘socket’, name = ‘connect’,response_time = time.time() - start_time,except1n = msg)self.sock = Nonereturnelse:
request_success.fire(request_type = ‘socket’,name =
'connect?,
response_time = time.time() - start_time,except1n = msg)
?task
def msg_send_recv(self):1f self.sock is None:returnstart_time = time.time()try:
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1