CN105468490A - 一种服务器性能自动化测试方法及系统及装置 - Google Patents
一种服务器性能自动化测试方法及系统及装置 Download PDFInfo
- Publication number
- CN105468490A CN105468490A CN201510915635.9A CN201510915635A CN105468490A CN 105468490 A CN105468490 A CN 105468490A CN 201510915635 A CN201510915635 A CN 201510915635A CN 105468490 A CN105468490 A CN 105468490A
- Authority
- CN
- China
- Prior art keywords
- server
- test
- server performance
- local
- locality
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种服务器性能自动化测试方法,包括:A、编写测试案例;B、本地调试;C、设置分发程序;D、服务器集群测试并通过本地Web端实时显示;E、生成测试报告并发送邮件;还公开了一种服务器性能自动化测试系统及装置。本发明采用python脚本语言编写测试案例,简单方便,而且对资源的消耗较少,可以十分方便地对网站和游戏的服务器进行性能和压力的测试;本发明可以轻松地模拟数千万的用户去对服务器进行测试,并且可以在web端实时看到测试情况(总共多少用户、成功多少请求、失败多少请求等等),这可以帮助在正式上线之前,发现系统的缺陷以及瓶颈,从而更好地完善产品。
Description
技术领域
本发明涉及计算机服务器领域,特别是一种服务器性能自动化测试方法及系统及装置。
背景技术
随着互联网络技术的飞速发展,服务器的应用越来越广泛,人们对服务器的服务质量的要求也越来越高。于是出现了各式各样的自动化测试平台,可以用于对服务器的运行状况进行测试。
一般来说,服务器产品在上线时,需要进行几轮的性能和压力测试,用于测试服务器承受负载等方面的能力。当连接到服务器的用户达到一定数量时,往往会出现登陆困难、同步缓慢、频繁断连的问题,这些是由于服务器硬件质量、软件架构、网络带宽所引起的。通过对服务器进行性能和压力测试,可以确定以及发现一个服务器保持正常运行的上线人数以及其它方面的缺陷,从而更好地完善产品以及提供运营品质。
在现有技术中,服务器自动化测试平台中存在着一些问题,如占用资源高、采用C语言编写脚本过长、布置较为复杂等。因此提供一种简单方便,对资源的消耗较少,易于使用性能测试方法,是本领域技术人员急需解决的问题。
发明内容
本发明的目的在于克服现有技术问题的缺陷,提供一种服务器性能自动化测试方法及系统及装置。
根据本发明的一个方面,提供了一种服务器性能自动化测试方法,包括如下步骤:
A:编写测试案例;
B:本地调试;
C:设置分发程序;
D:服务器集群测试并通过本地Web端实时显示;
E:生成测试报告并发送邮件。
优选地,所述测试案例根据需求采用python脚本编写。
优选地,所述本地调试包括利用单用户程序本地调试和/或利用分发程序本地调试。
优选地,所述设置分发程序包括通过配置文件或者Web端控制并发用户数和执行时间。
优选地,所述步骤E还包括自动从测试服务器收集执行和异常日志到本地。
根据本发明的另一方面,提供了一种服务器性能自动化测试系统,包括:
编程模块,配置为编写测试案例;
本地调试模块,配置为进行本地调试;
设置模块,配置为设置分发程序;
服务器集群测试模块,配置为进行服务器集群测试并通过本地Web端实时显示;
处理模块,配置为生成测试报告并发送邮件。
优选地,所述测试案例根据需求采用python脚本编写。
优选地,所述本地调试包括利用单用户程序本地调试和/或利用分发程序本地调试。
优选地,所述设置分发程序包括通过配置文件或者Web端控制并发用户数和执行时间。
优选地,所述处理模块还配置为自动从测试服务器收集执行和异常日志到本地。
根据本发明的另一方面,提供了一种服务器性能自动化测试装置,所述装置包括:
存储器,用于存储程序;
处理器,用于运行所述程序执行以下步骤:
A:编写测试案例;
B:本地调试;
C:设置分发程序;
D:服务器集群测试并通过本地Web端实时显示;
E:生成测试报告并发送邮件。
本发明的有益效果是:
本发明采用python脚本语言编写测试案例,简单方便,而且对资源的消耗较少,该工具是一个非常易于使用、分布式的性能测试工具,可以十分方便地对网站和游戏的服务器进行性能和压力的测试。
本发明可以轻松地模拟数千万的用户去对服务器进行测试,并且可以在web端实时看到测试情况(总共多少用户、成功多少请求、失败多少请求等等),这可以帮助在正式上线之前,发现系统的缺陷以及瓶颈,从而更好地完善产品。
附图说明
下面结合附图和实例对本发明作进一步说明:
图1是根据本发明的一种服务器性能自动化测试方法流程图;
图2是根据本发明的一种服务器性能自动化测试系统模块图;
图3是根据本发明的一种服务器性能自动化测试装置模块图。
具体实施方式
本发明提供一种服务器性能自动化测试方法及系统及装置,用于模拟数千万用户去对服务器进行测试。
根据本发明的一个实施例,提供一种服务器性能自动化测试方法,包括步骤:
A:编写测试案例;
本发明的测试案例根据需求采用python脚本进行编写,可以编写代码如下:
ClassGunMasterTasks(TaskSet):
defon_start(self):
self.byte_to_short=struct.Struct(‘<H’)
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)
printret
exceptsocket.timeoutasmsg:
request_failure.fire(request_type=‘socket’,name=‘connect’,
response_time=time.time()–start_time,exception=msg)
self.sock=None
return
exceptsocket.errorasmsg:
request_failure.fire(request_type=‘socket’,name=‘connect’,
response_time=time.time()–start_time,exception=msg)
self.sock=None
return
else:
request_success.fire(request_type=‘socket’,name=‘connect’,
response_time=time.time()–start_time,exception=msg)
task
defmsg_send_recv(self):
ifself.sockisNone:
return
start_time=time.time()
try:
send_msg=‘testlog:’%uuid.uuid4().hex[:4]
self.sock.send(self.byte_to_short.pack(len(send_msg)))
self.sock.send(send_msg)
exceptsocket.timeoutasmsg:
request_failure.fire(request_type=‘socket’,name=‘send’,
response_time=time.time()–start_time,exception=msg)
使用场景:游戏服务端网络库的性能测试。
B:本地调试;
本地调试包括利用单用户程序本地调试和/或利用分发程序本地调试,具体地,测试案例(代码)见步骤A,调试过程有两种方式:一、直接通过打印调试信息;二、利用常见的IDE(如Eclipse和pyCharm)的Debug模式,设置断点,查看相应信息进行调试。
C:设置分发程序;
设置分发程序包括通过配置文件或者Web端控制并发用户数和执行时间等参数,首先根据要求编写配置文件以设置测试所需的相关参数,如并发用户数、执行时间等,然后利用命令行启动分发程序,以便进行服务器集群测试。
D:服务器集群测试并通过本地Web端实时显示,
基于步骤C中以设置的分发程序,启动服务器集群测试,并通过本地Web端实时显示,本地web端实时显示可以通过使用在浏览器中打开http://主控机IP:8080的方法实现。
E:生成测试报告并发送邮件。
具体地,首先程序自动从各个分发机器拉回结果文件到本机,然后从命令行执行生成报告程序,自动生成测试报告,并发送邮件。
根据本发明的另一实施例,参照图2,提供一种服务器性能自动化测试系统,包括:
编程模块,配置为编写测试案例;
本地调试模块,配置为进行本地调试;
设置模块,配置为设置分发程序;
服务器集群测试模块,配置为进行服务器集群测试并通过本地Web端实时显示;
处理模块,配置为生成测试报告并发送邮件。
优选地,所述测试案例根据需求采用python脚本编写。
优选地,所述本地调试包括利用单用户程序本地调试和/或利用分发程序本地调试。
优选地,所述设置分发程序包括通过配置文件或者Web端控制并发用户数和执行时间。
优选地,所述处理模块还配置为自动从测试服务器收集执行和异常日志到本地。
上述各模块的详细实施例与上一实施例相似,这里不做详细描述。
根据本发明的另一实施例,参照图3,提供了一种服务器性能自动化测试装置,所述装置包括:
存储器,用于存储程序;
处理器,用于运行所述程序执行以下步骤:
A:编写测试案例;
B:本地调试;
C:设置分发程序;
D:服务器集群测试并通过本地Web端实时显示;
E:生成测试报告并发送邮件。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。
除非一个必需的步骤需要由前面步骤所产生的输入,否则本文描述的步骤的特定顺序仅用于示例性说明,而非限制。
Claims (10)
1.一种服务器性能自动化测试方法,其特征在于,包括步骤:
A:编写测试案例;
B:本地调试;
C:设置分发程序;
D:服务器集群测试并通过本地Web端实时显示;
E:生成测试报告并发送邮件。
2.根据权利要求1所述的一种服务器性能自动化测试方法,其特征在于,所述测试案例根据需求采用python脚本进行编写。
3.根据权利要求1所述的一种服务器性能自动化测试方法,其特征在于,所述本地调试包括利用单用户程序本地调试和/或利用分发程序本地调试。
4.根据权利要求1所述的一种服务器性能自动化测试方法,其特征在于,所述设置分发程序包括通过配置文件或者Web端控制并发用户数和执行时间。
5.根据权利要求1所述的一种服务器性能自动化测试方法,其特征在于,所述步骤E还包括自动从测试服务器收集执行和异常日志到本地。
6.一种服务器性能自动化测试系统,其特征在于,包括:
编程模块,配置为编写测试案例;
本地调试模块,配置为进行本地调试;
设置模块,配置为设置分发程序;
服务器集群测试模块,配置为进行服务器集群测试并通过本地Web端实时显示;
处理模块,配置为生成测试报告并发送邮件。
7.根据权利要求6所述的一种服务器性能自动化测试系统,其特征在于,所述测试案例根据需求采用python脚本进行编写。
8.根据权利要求6所述的一种服务器性能自动化测试系统,其特征在于,所述本地调试包括利用单用户程序本地调试和/或利用分发程序本地调试。
9.根据权利要求6所述的一种服务器性能自动化测试系统,其特征在于,所述设置分发程序包括通过配置文件或者Web端控制并发用户数和执行时间。
10.一种服务器性能自动化测试装置,所述装置包括:
存储器,用于存储程序;
处理器,用于运行所述程序执行以下步骤:
A:编写测试案例;
B:本地调试;
C:设置分发程序;
D:服务器集群测试并通过本地Web端实时显示;
E:生成测试报告并发送邮件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510915635.9A CN105468490A (zh) | 2015-12-11 | 2015-12-11 | 一种服务器性能自动化测试方法及系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510915635.9A CN105468490A (zh) | 2015-12-11 | 2015-12-11 | 一种服务器性能自动化测试方法及系统及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105468490A true CN105468490A (zh) | 2016-04-06 |
Family
ID=55606222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510915635.9A Pending CN105468490A (zh) | 2015-12-11 | 2015-12-11 | 一种服务器性能自动化测试方法及系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468490A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021085A (zh) * | 2016-05-24 | 2016-10-12 | 北京金山安全软件有限公司 | 一种性能测试方法、装置及数据服务器 |
CN107423181A (zh) * | 2017-07-28 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种统一存储设备的自动化测试方法及装置 |
CN107645565A (zh) * | 2017-10-25 | 2018-01-30 | 网易(杭州)网络有限公司 | 服务器状态信息的处理方法、装置、系统及处理器 |
CN107872352A (zh) * | 2017-11-27 | 2018-04-03 | 瑞斯康达科技发展股份有限公司 | 一种网管系统的性能测试方法、装置及系统 |
CN107908535A (zh) * | 2017-11-13 | 2018-04-13 | 珠海金山网络游戏科技有限公司 | 分布式客户端模拟方法及装置 |
CN107992362A (zh) * | 2016-10-27 | 2018-05-04 | 北京京东尚科信息技术有限公司 | 自动化性能测试的方法、装置及系统 |
CN108377208A (zh) * | 2018-01-16 | 2018-08-07 | 珠海金山网络游戏科技有限公司 | 一种基于协议回放的服务器压力测试方法及装置 |
CN108733562A (zh) * | 2018-04-26 | 2018-11-02 | 烽火通信科技股份有限公司 | 一种软件平台的测试方法及系统 |
CN108763083A (zh) * | 2018-05-30 | 2018-11-06 | 平安普惠企业管理有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
CN108923997A (zh) * | 2018-05-24 | 2018-11-30 | 广东睿江云计算股份有限公司 | 一种基于python的云服务节点自动测试方法及装置 |
CN109062745A (zh) * | 2018-07-26 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种具有测试服务器硬件温度的测试终端 |
CN109302305A (zh) * | 2018-08-08 | 2019-02-01 | 杭州安恒信息技术股份有限公司 | 一种基于工业控制系统的集群性能测试方法 |
CN111061610A (zh) * | 2019-12-09 | 2020-04-24 | 广州鼎甲计算机科技有限公司 | 集群系统性能测试报告的生成方法、装置和计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139006A (zh) * | 2011-12-05 | 2013-06-05 | 上海博腾信息科技有限公司 | 基于web服务的自动化测试装置及方法 |
CN104834595A (zh) * | 2015-02-15 | 2015-08-12 | 网易(杭州)网络有限公司 | 一种可视化自动测试方法及系统 |
-
2015
- 2015-12-11 CN CN201510915635.9A patent/CN105468490A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139006A (zh) * | 2011-12-05 | 2013-06-05 | 上海博腾信息科技有限公司 | 基于web服务的自动化测试装置及方法 |
CN104834595A (zh) * | 2015-02-15 | 2015-08-12 | 网易(杭州)网络有限公司 | 一种可视化自动测试方法及系统 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021085B (zh) * | 2016-05-24 | 2018-09-04 | 北京金山安全软件有限公司 | 一种性能测试方法、装置及数据服务器 |
CN106021085A (zh) * | 2016-05-24 | 2016-10-12 | 北京金山安全软件有限公司 | 一种性能测试方法、装置及数据服务器 |
CN107992362A (zh) * | 2016-10-27 | 2018-05-04 | 北京京东尚科信息技术有限公司 | 自动化性能测试的方法、装置及系统 |
CN107423181A (zh) * | 2017-07-28 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种统一存储设备的自动化测试方法及装置 |
CN107645565A (zh) * | 2017-10-25 | 2018-01-30 | 网易(杭州)网络有限公司 | 服务器状态信息的处理方法、装置、系统及处理器 |
CN107908535B (zh) * | 2017-11-13 | 2020-12-08 | 珠海金山网络游戏科技有限公司 | 分布式客户端模拟方法及装置 |
CN107908535A (zh) * | 2017-11-13 | 2018-04-13 | 珠海金山网络游戏科技有限公司 | 分布式客户端模拟方法及装置 |
CN107872352B (zh) * | 2017-11-27 | 2021-08-24 | 瑞斯康达科技发展股份有限公司 | 一种网管系统的性能测试方法、装置及系统 |
CN107872352A (zh) * | 2017-11-27 | 2018-04-03 | 瑞斯康达科技发展股份有限公司 | 一种网管系统的性能测试方法、装置及系统 |
CN108377208B (zh) * | 2018-01-16 | 2020-10-16 | 珠海金山网络游戏科技有限公司 | 一种基于协议回放的服务器压力测试方法及装置 |
CN108377208A (zh) * | 2018-01-16 | 2018-08-07 | 珠海金山网络游戏科技有限公司 | 一种基于协议回放的服务器压力测试方法及装置 |
CN108733562A (zh) * | 2018-04-26 | 2018-11-02 | 烽火通信科技股份有限公司 | 一种软件平台的测试方法及系统 |
CN108733562B (zh) * | 2018-04-26 | 2021-07-20 | 烽火通信科技股份有限公司 | 一种软件平台的测试方法及系统 |
CN108923997A (zh) * | 2018-05-24 | 2018-11-30 | 广东睿江云计算股份有限公司 | 一种基于python的云服务节点自动测试方法及装置 |
CN108923997B (zh) * | 2018-05-24 | 2021-07-20 | 广东睿江云计算股份有限公司 | 一种基于python的云服务节点自动测试方法及装置 |
CN108763083A (zh) * | 2018-05-30 | 2018-11-06 | 平安普惠企业管理有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
CN109062745A (zh) * | 2018-07-26 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种具有测试服务器硬件温度的测试终端 |
CN109062745B (zh) * | 2018-07-26 | 2021-10-22 | 郑州云海信息技术有限公司 | 一种具有测试服务器硬件温度的测试终端 |
CN109302305A (zh) * | 2018-08-08 | 2019-02-01 | 杭州安恒信息技术股份有限公司 | 一种基于工业控制系统的集群性能测试方法 |
CN111061610A (zh) * | 2019-12-09 | 2020-04-24 | 广州鼎甲计算机科技有限公司 | 集群系统性能测试报告的生成方法、装置和计算机设备 |
CN111061610B (zh) * | 2019-12-09 | 2020-10-20 | 广州鼎甲计算机科技有限公司 | 集群系统性能测试报告的生成方法、装置和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105468490A (zh) | 一种服务器性能自动化测试方法及系统及装置 | |
US7334162B1 (en) | Dynamic distribution of test execution | |
US10445221B2 (en) | Automated application testing system | |
US8756577B2 (en) | Collaborative software debugging in a distributed system with private debug sessions | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
CN102866944B (zh) | 一种压力测试系统及方法 | |
CN103580943A (zh) | 一种网络软件在线测试方法和系统 | |
CN104579822A (zh) | 基于Http协议的移动应用自动化性能测试系统及方法 | |
CN112631846A (zh) | 一种故障演练方法、装置、计算机设备及存储介质 | |
CN105426298A (zh) | 一种基于adb的软件测试方法和系统 | |
CN104375938A (zh) | 安卓应用程序的动态行为监测方法及系统 | |
CN105574416A (zh) | 一种浏览器漏洞检测方法及装置 | |
Šandi et al. | pypmu—open source python package for synchrophasor data transfer | |
Kanso et al. | Integrating legacy applications for high availability: a case study | |
US20170024305A1 (en) | Client application profiling | |
KR100811468B1 (ko) | 부하 테스트를 통한 서버 애플리케이션 안정성 검증 시스템및 방법 | |
US9043440B2 (en) | Automatic WSDL download of client emulation for a testing tool | |
CN113468045A (zh) | 一种服务器批量配置软件的测试系统、方法及组件 | |
Hine et al. | Scalable emulation of enterprise systems | |
CN114238091A (zh) | 一种常驻型交互式服务集群测试方法及系统 | |
CN113641575A (zh) | 一种测试方法、装置、设备及存储介质 | |
CN114564387A (zh) | 一种针对OpenStack云平台的场景式自动化测试方法及系统 | |
CN111082984A (zh) | 模拟登录网络设备进行命令行交互的方法和装置 | |
CN111966582B (zh) | 多调试对象的集群调试系统及其管理方法和调试方法 | |
CN112506729A (zh) | 一种故障模拟方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160406 |
|
RJ01 | Rejection of invention patent application after publication |