服务器压力测试方法及装置制造方法及图纸

技术编号:20622160 阅读:39 留言:0更新日期:2019-03-20 14:14
本发明专利技术公开了一种服务器压力测试方法及装置,该方法包括:将至少两个客户端的测试请求发送至第一线程池;所述第一线程池预先配置有至少两个线程;通过所述第一线程池中的线程,处理所述至少两个客户端的测试请求,以对被测试服务器进行测试。通过本发明专利技术提供的服务器压力测试方法,可以减少线程数量,进而减少系统资源开销。

Server Pressure Testing Method and Device

The invention discloses a server pressure testing method and device, which includes: sending test requests from at least two clients to the first thread pool; the first thread pool is pre-configured with at least two threads; and processing test requests from at least two clients through threads in the first thread pool to test the tested server. The server pressure test method provided by the invention can reduce the number of threads and thereby reduce the system resource overhead.

【技术实现步骤摘要】
服务器压力测试方法及装置
本专利技术涉及计算机领域,尤其涉及一种服务器压力测试方法及装置。
技术介绍
随着互联网技术的快速发展,对服务器的性能和稳定性的要求越来越高,因此需要对服务器进行压力测试,以获得服务器的性能指标。目前,每一压力测试客户端在保持正常功能的前提下,一般需要20个左右的线程,对于压力测试来说,若建立10万个连接,往往需要十几台性能较高的压力测试设备来部署压力测试客户端,较为耗费系统资源。可见,现有技术中存在服务器压力测试需要耗费较多系统资源的问题。
技术实现思路
本专利技术实施例提供一种服务器压力测试方法及装置,以解决服务器压力测试需要耗费较多系统资源的问题。第一方面,本专利技术提供了一种服务器压力测试方法,应用于压力测试设备,该方法包括:将至少两个客户端的测试请求发送至第一线程池;所述第一线程池预先配置有至少两个线程;通过所述第一线程池中的线程,处理所述至少两个客户端的测试请求,以对被测试服务器进行测试。可选的,所述测试请求包括连接建立请求;所述通过所述第一线程池中的线程,处理所述至少两个客户端的测试请求,包括:通过所述第一线程池中的线程,向所述被测试服务器发送所述至少两个客户端的连接建立请求;通过所述第一线程池中的线程,接收所述被测试服务器基于所述至少两个客户端的连接建立请求返回的连接建立结果。可选的,所述通过所述第一线程池中的线程,接收所述被测试服务器基于所述至少两个客户端的连接建立请求返回的连接建立结果之后,所述方法还包括:将当前建立的每个连接的第一信息,存储于连接管理映射表中,其中,所述第一信息至少包括连接标识;根据所述连接管理映射表中存储的连接标识,对所述被测试服务器进行消息处理测试。可选的,所述根据所述连接管理映射表中存储的连接标识,对所述被测试服务器进行消息处理测试,包括:将第一客户端的消息发布请求发送给第二线程池,其中,所述第一客户端为所述至少两个客户端中的客户端,所述第二线程池预先配置有至少两个线程;通过第二线程池中的线程,从所述连接管理映射表中选择所述第一客户端对应的连接标识,并利用所选择的连接标识所对应的连接,向所述被测试服务器发布第一消息,其中,所述第一消息为所述第一客户端的消息发布请求中携带的消息。可选的,所述利用所选择的连接标识所对应的连接,向所述被测试服务器发布第一消息之前,所述方法还包括:将所述第一消息的第二信息,存储于消息管理映射表;其中,所述第二信息至少包括消息标识;所述利用所选择的连接标识所对应的连接,向所述被测试服务器发布第一消息之后,所述方法还包括:在向所述被测试服务器发布所述第一消息失败的情况下,根据所述消息管理映射表中存储的所述第一消息的消息标识,重新向所述被测试服务器发布所述第一消息。可选的,所述根据所述连接管理映射表中存储的连接标识,对所述被测试服务器进行消息处理测试,包括:在第二客户端接收到所述被测试服务器发布的消息的情况下,通过第三线程池中的线程,根据所述第二客户端对应的第一连接标识和所述连接管理映射表,确定所述第一连接标识对应的连接,并利用所述第一连接标识对应的连接,向所述被测试服务器反馈消息接收结果;其中,所述第二客户端为所述至少两个客户端中的客户端,所述第三线程池预先配置有至少两个线程。可选的,将当前建立的每个连接的第一信息,存储于连接管理映射表中之后,所述方法还包括:从所述连接管理映射表中选择待删除的第二连接标识;断开所述第二连接标识对应的连接,并从所述连接管理映射表中删除所述第二连接标识。可选的,所述压力测试设备为基于Netty的压力测试设备。第二方面,本专利技术还提供一种服务器压力测试装置,设置于压力测试设备,该装置包括:发送模块,用于将至少两个客户端的测试请求发送至第一线程池;所述第一线程池预先配置有至少两个线程;处理模块,用于通过所述第一线程池中的线程,处理所述至少两个客户端的测试请求,以对被测试服务器进行测试。可选的,所述测试请求包括连接建立请求;所述处理模块,包括:第一发送单元,用于通过所述第一线程池中的线程,向所述被测试服务器发送所述至少两个客户端的连接建立请求;第一接收单元,用于通过所述第一线程池中的线程,接收所述被测试服务器基于所述至少两个客户端的连接建立请求返回的连接建立结果。可选的,所述装置还包括:第一存储模块,用于所述通过所述第一线程池中的线程,接收所述被测试服务器基于所述至少两个客户端的连接建立请求返回的连接建立结果之后,将当前建立的每个连接的第一信息,存储于连接管理映射表中,其中,所述第一信息至少包括连接标识;消息处理测试模块,用于根据所述连接管理映射表中存储的连接标识,对所述被测试服务器进行消息处理测试。可选的,所述消息处理测试模块,包括:第二发送单元,用于将第一客户端的消息发布请求发送给第二线程池,其中,所述第一客户端为所述至少两个客户端中的客户端,所述第二线程池预先配置有至少两个线程;消息发布单元,用于通过第二线程池中的线程,从所述连接管理映射表中选择所述第一客户端对应的连接标识,并利用所选择的连接标识所对应的连接,向所述被测试服务器发布第一消息,其中,所述第一消息为所述第一客户端的消息发布请求中携带的消息。可选的,所述装置还包括:第二存储模块,用于所述利用所选择的连接标识所对应的连接,向所述被测试服务器发布第一消息之前,将所述第一消息的第二信息,存储于消息管理映射表;其中,所述第二信息至少包括消息标识;重发模块,用于在向所述被测试服务器发布所述第一消息失败的情况下,根据所述消息管理映射表中存储的所述第一消息的消息标识,重新向所述被测试服务器发布所述第一消息。可选的,所述消息处理测试模块,包括:第三发送单元,用于在第二客户端接收到所述被测试服务器发布的消息的情况下,通过第三线程池中的线程,根据所述第二客户端对应的第一连接标识和所述连接管理映射表,确定所述第一连接标识对应的连接,并利用所述第一连接标识对应的连接,向所述被测试服务器反馈消息接收结果;其中,所述第二客户端为所述至少两个客户端中的客户端,所述第三线程池预先配置有至少两个线程。可选的,所述装置还包括:选择模块,用于将当前建立的每个连接的第一信息,存储于连接管理映射表中之后,从所述连接管理映射表中选择待删除的第二连接标识;断开模块,用于断开所述第二连接标识对应的连接,并从所述连接管理映射表中删除所述第二连接标识。可选的,所述压力测试设备为基于Netty的压力测试设备。第三方面,本专利技术实施例还提供一种服务器压力测试装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的服务器压力测试方法的步骤。第四方面,本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的服务器压力测试方法的步骤。本专利技术实施例提供的服务器压力测试方法,将至少两个客户端的测试请求发送至第一线程池;所述第一线程池预先配置有至少两个线程;通过所述第一线程池中的线程,处理所述至少两个客户端的测试请求,以对被测试服务器进行测试。由于至少两个客户端共享线程池,从而在同样的测试容量下,可以减少线程数量,进而减少系统资源开销。附图说明为了更清楚地说明本专利技术本文档来自技高网...

【技术保护点】
1.一种服务器压力测试方法,其特征在于,应用于压力测试设备,包括:将至少两个客户端的测试请求发送至第一线程池;所述第一线程池预先配置有至少两个线程;通过所述第一线程池中的线程,处理所述至少两个客户端的测试请求,以对被测试服务器进行测试。

【技术特征摘要】
1.一种服务器压力测试方法,其特征在于,应用于压力测试设备,包括:将至少两个客户端的测试请求发送至第一线程池;所述第一线程池预先配置有至少两个线程;通过所述第一线程池中的线程,处理所述至少两个客户端的测试请求,以对被测试服务器进行测试。2.根据权利要求1所述的方法,其特征在于,所述测试请求包括连接建立请求;所述通过所述第一线程池中的线程,处理所述至少两个客户端的测试请求,包括:通过所述第一线程池中的线程,向所述被测试服务器发送所述至少两个客户端的连接建立请求;通过所述第一线程池中的线程,接收所述被测试服务器基于所述至少两个客户端的连接建立请求返回的连接建立结果。3.根据权利要求2所述的方法,其特征在于,所述通过所述第一线程池中的线程,接收所述被测试服务器基于所述至少两个客户端的连接建立请求返回的连接建立结果之后,所述方法还包括:将当前建立的每个连接的第一信息,存储于连接管理映射表中,其中,所述第一信息至少包括连接标识;根据所述连接管理映射表中存储的连接标识,对所述被测试服务器进行消息处理测试。4.根据权利要求3所述的方法,其特征在于,所述根据所述连接管理映射表中存储的连接标识,对所述被测试服务器进行消息处理测试,包括:将第一客户端的消息发布请求发送给第二线程池,其中,所述第一客户端为所述至少两个客户端中的客户端,所述第二线程池预先配置有至少两个线程;通过第二线程池中的线程,从所述连接管理映射表中选择所述第一客户端对应的连接标识,并利用所选择的连接标识所对应的连接,向所述被测试服务器发布第一消息,其中,所述第一消息为所述第一客户端的消息发布请求中携带的消息。5.根据权利要求4所述的方法,其特征在于,所述利用所选择的连接标识所对应的连接,向所述被测试服务器发布第一消息之前,所述方法还包括:将所述第一消息的第二信息,存储于消息管理映射表;其中,所述第二信息至少包括消息标识;所述利用所选择的连接标识所对应的连接,向所述被测试服务器发布第一消息之后,所述方法还包括:在向所述被测试服务器发布所述第一消息失败的情况下,根据所述消息管理映射表中存储的所述第一消息的消息标识,重新向所述被测试服务器发布所述第一消息。6.根据权利要求3所述的方法,其特征在于,所述根据所述连接管理映射表中存储的连接标识,对所述被测试服务器进行消息处理测试,包括:在第二客户端接收到所述被测试服务器发布的消息的情况下,通过第三线程池中的线程,根据所述第二客户端对应的第一连接标识和所述连接管理映射表,确定所述第一连接标识对应的连接,并利用所述第一连接标识对应的连接,向所述被测试服务器反馈消息接收结果;其中,所述第二客户端为所述至少两个客户端中的客户端,所述第三线程池预先配置有至少两个线程。7.根据权利要求3所述的方法,其特征在于,将当前建立的每个连接的第一信息,存储于连接管理映射表中之后,所述方法还包括:从所述连接管理映射表中选择待删除的第二连接标识;断开所述第二连接标识对应的连接,并从所述连接管理映射表中删除所述第二连接标识。8.根据权利要求1所述的方法,其特征在于,所述压力测试设备为基于Netty的压力测试设备。9.一种服务器压力测试装置,其特征在于,设置于压力测试设备,包括:发送模块,用于将至少两个客户端的测试请求发送至第一线程池;所述第一线程池预先配置有至少两个线程;处理模块,用于通过所...

【专利技术属性】
技术研发人员:马东辉李永浩张永新满志远邢云天朱磊
申请(专利权)人:北京车和家信息技术有限公司
类型:发明
国别省市:北京,11

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

1