一种实现对服务器性能进行压力测试的方法、装置及系统制造方法及图纸

技术编号:21431798 阅读:28 留言:0更新日期:2019-06-22 11:48
本发明专利技术实施例涉及服务器压力测试领域,本发明专利技术的一方面提供了一种实现对服务器性能进行压力测试的方法,包括以下步骤:客户端请求执行在服务器端预先设定的限速器的限速功能,实现对服务器的至少一项业务功能进行限速;针对服务器的至少一项业务功能进行压力测试并生成压力测试结果文件;根据所获取的压力检测结果文件生成压力检测结果报告。根据本发明专利技术的另一方面提供了一种实现对服务器性能进行压力测试的装置及系统。

【技术实现步骤摘要】
一种实现对服务器性能进行压力测试的方法、装置及系统
本专利技术涉及游戏领域,尤其涉及一种实现对服务器性能进行压力测试的方法、装置及系统。
技术介绍
在测试中,系统压力测试指的是在重负载下更加强调稳健性、可用性和错误处理的测试,而不是在正常情况下被认为是正确行为的测试。特别是,此类测试的目标可能是确保软件不会在计算资源不足(例如内存或磁盘空间),异常高并发或拒绝服务攻击的情况下崩溃。可以使用脚本、机器人和各种拒绝服务工具对Web服务器进行压力测试,以在峰值负载期间观察网站的性能。这些攻击通常不到一个小时,或直到找到Web服务器可以容忍的数据量的限制。压力测试可能与负载测试形成对比:负载测试检查整个环境和数据库,同时测量响应时间,而压力测试侧重于已识别的事务处理,推动到一个级别,以便破坏事务处理或系统。比如现有技术CN107480015A公开的就是一种负载测试的方法。在压力测试期间,如果选择性地强调事务处理,则数据库可能不会经历太多负载,但是事务处理受到很大压力。另一方面,在负载测试期间,数据库经历了沉重的负载,而某些事务处理可能不会受到压力。系统压力测试(也称为压力测试)是将并发用户加载到系统可以处理的级别之外,因此它会在整个系统中最薄弱的环节中断。在压力测试过程中,需要对压力源进行频率控制,目前市面上通用的做法是通过限制网络速率或带宽来控制,但是这样会限制所有网络包的发包速率,不能按流程、协议进行分类限制。因此,需要提供一种解决按照流程、协议进行压力测试频率精准控制的解决方案。
技术实现思路
本专利技术所要解决的技术问题和提出的技术任务是对现有技术进行改进,提供了一种实现对服务器性能进行压力测试的方法、装置及系统。根据本公开实施例的第一方面,提供了一种实现对服务器性能进行压力测试的方法,所述方法包括以下步骤:S1.客户端请求执行在服务器端预先设定的限速器的限速功能,实现对服务器的至少一项业务功能进行限速;S2.针对服务器的至少一项业务功能进行压力测试并生成压力测试结果文件;S3.根据所获取的压力检测结果文件生成压力检测结果报告。在一种可选的实施方式中,所述步骤S1进一步包括以下步骤:S101.在客户端和服务器端之间建立通信连接;S102.客户端针对至少一项服务器功能通过远程调用向服务端申请注册限速器,限速器的注册信息包括与限速器关联的第一标识和预定的至少一个单位时间业务处理量阈值;S103.服务端将收到的客户端新注册限速器的注册信息加入到限速器管理队列,从而实现对限速器的管理;S104.客户端通过向服务器端发送与限速器关联的第一标识而发起限速器的执行请求;S105.服务器端根据与限速器关联的第一标识调用限速器管理队列中的限速器,实现对相应服务器功能进行限速。在一种可选的实施方式中,所述第一标识可以包括限速器名称。在一种可选的实施方式中,所述至少一个单位时间业务处理量阈值包括每秒处理业务请求的数量。在一种可选的实施方式中,所述步骤S105进一步包括以下步骤:S1051.在限速器中设置第一计数器,用于计数客户端的业务请求的业务功能的执行次数;S1052.判断限速器相对应的业务功能在本单位时间内申请执行次数是否已经达到预定的至少一个单位时间业务处理量阈值,如果尚未到达,则即刻返回客户端继续执行,同时限速器中设置的第一计数器的计数加1;如果已达至少一个单位时间业务处理量阈值,则阻塞与所述限速器相对应的业务功能的执行,并将其加入等待队列,直至下一单位时间将限速器中设置的第一计数器的计数归零,并重新进行判断是否需要继续阻塞。在一种可选的实施方式中,所述单位时间可以为一秒。在一种可选的实施方式中,所述服务器的至少一项业务功能包括聊天功能和交易功能。根据本专利技术实施例的第二方面,提供了一种实现对服务器性能进行压力测试的装置,所述装置包括:存储器,用于存储一应用程序;处理器,用于运行所述应用程序以执行上述的方法。根据本专利技术实施例的第三方面,提供了一种实现对服务器性能进行压力测试的系统,所述系统包括:业务功能限速模块,其配置为通过客户端请求执行在服务器端预先设定的限速器的限速功能,实现对服务器的至少一项业务功能进行限速;压力测试模块,其配置为针对服务器至少一项业务功能进行压力测试并生成压力测试结果文件;压力检测结果生成模块,其配置为根据所获取的压力检测结果文件生成压力检测结果报告。在一种可选的实施方式中,所述系统进一步包括:通信模块,其配置为在客户端和服务器端之间建立通信连接;限速器注册模块,其配置为通过客户端针对至少一项服务器功能通过远程调用向服务端申请注册限速器,限速器的注册信息包括与限速器关联的第一标识和预定的至少一个单位时间业务处理量阈值;限速器管理模块,其配置为通过将收到的客户端新注册限速器的注册信息加入到限速器管理队列,从而实现对限速器的管理;限速器执行请求模块,其配置为通过客户端向服务器端发送与限速器关联的第一标识而发起限速器的执行请求;限速器调用模块,其配置为通过服务器端根据与限速器关联的第一标识调用限速器管理队列中的限速器,实现对相应服务器功能进行限速。在一种可选的实施方式中,所述系统进一步包括:在限速器中设置的第一计数器,配置用于计数客户端的业务请求的业务功能的执行次数;业务功能执行次数判断模块,配置用于判断限速器相对应的业务功能在本单位时间内申请执行次数是否已经达到预定的至少一个单位时间业务处理量阈值,如果尚未到达,则即刻返回客户端继续执行,同时限速器中设置的第一计数器的计数加1;如果已达至少一个单位时间业务处理量阈值,则阻塞与所述限速器相对应的业务功能的执行,并将其加入等待队列,直至下一单位时间将限速器中设置的第一计数器的计数归零,并重新进行判断是否需要继续阻塞。本专利技术的实施例提供的技术方案具有以下有益效果:通过本专利技术提供的实现对服务器性能进行压力测试的方法、装置及系统,相对传统的修改代码或限制路由器、带宽等方式,可大幅降低人工修改代码的成本,和解决支持多任务支持同时并发进行的效率问题,且可以精准控制每个功能操作、协议的多种频率,例如以秒为单位进行对服务器的访问压力限制,更符合现实情况,对测试出来的结果更具有参考意义,同时,对于服务器的性能调优能够提供准确的压测数据依懒。针对传统基于网络发包和流量的限速,只能统一进行控制的弊端。本专利技术采用更灵活的CS结构实现多频率控制,可以在不同流程处,添加不同的限制频率,更真实的还原模拟压力测试场景。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:图1是根据本专利技术一实施例的一种实现对服务器性能进行压力测试的方法流程图;图2是根据本专利技术一实施例的另一种实现对服务器性能进行压力测试的方法流程图;图3是根据本专利技术一实施例的另一种实现对服务器性能进行压力测试的方法流程图;图4是根据本专利技术一实施例的一种实现对服务器性能进行压力测试的装置框图;图5是根据本专利技术一实施例的一种实现对服务器性能进行压力测试的系统框图;图6是根据本专利技术一实施例的另一种实现对服务器性能进行压本文档来自技高网...

【技术保护点】
1.一种实现对服务器性能进行压力测试的方法,其特征在于,包括以下步骤:S1.客户端请求执行在服务器端预先设定的限速器的限速功能,实现对服务器的至少一项业务功能进行限速;S2.针对服务器的至少一项业务功能进行压力测试并生成压力测试结果文件;S3.根据所获取的压力检测结果文件生成压力检测结果报告。

【技术特征摘要】
1.一种实现对服务器性能进行压力测试的方法,其特征在于,包括以下步骤:S1.客户端请求执行在服务器端预先设定的限速器的限速功能,实现对服务器的至少一项业务功能进行限速;S2.针对服务器的至少一项业务功能进行压力测试并生成压力测试结果文件;S3.根据所获取的压力检测结果文件生成压力检测结果报告。2.根据权利要求1所述的一种实现对服务器性能进行压力测试的方法,其特征在于,步骤S1进一步包括以下步骤:S101.在客户端和服务器端之间建立通信连接;S102.客户端针对至少一项服务器功能通过远程调用向服务端申请注册限速器,限速器的注册信息包括与限速器关联的第一标识和预定的至少一个单位时间业务处理量阈值;S103.服务端将收到的客户端新注册限速器的注册信息加入到限速器管理队列,从而实现对限速器的管理;S104.客户端通过向服务器端发送与限速器关联的第一标识而发起限速器的执行请求;S105.服务器端根据与限速器关联的第一标识调用限速器管理队列中的限速器,实现对相应服务器功能进行限速。3.根据权利要求2所述的一种实现对服务器性能进行压力测试的方法,其特征在于,所述第一标识包括限速器名称。4.根据权利要求3所述的一种实现对服务器性能进行压力测试的方法,其特征在于,所述至少一个单位时间业务处理量阈值包括每秒处理业务请求的数量。5.根据权利要求4所述的一种实现对服务器性能进行压力测试的方法,其特征在于,步骤S105进一步包括以下步骤:S1051.在限速器中设置第一计数器,用于计数客户端的业务请求的业务功能的执行次数;S1052.判断限速器相对应的业务功能在本单位时间内申请执行次数是否已经达到预定的至少一个单位时间业务处理量阈值,如果尚未到达,则即刻返回客户端继续执行,同时限速器中设置的第一计数器的计数加1;如果已达至少一个单位时间业务处理量阈值,则阻塞...

【专利技术属性】
技术研发人员:廖泉辉张鹏飞周诚何雯青彭元龙
申请(专利权)人:珠海金山网络游戏科技有限公司珠海西山居移动游戏科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1