本发明涉及计算机,特别涉及一种压测方法、装置、设备及存储介质。
背景技术:
1、当前,业内对于长链接或短链接的通用压测方案一般采用多线程方式开启并发,但是在并发数较多的情况下,大量线程系统资源占用会成为压测机器的施压瓶颈。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种压测方法、装置、设备及存储介质,能够解决利用多线程方式开启并发,并在并发数较多的情况下,大量线程系统资源占用导致施压受阻的问题。其具体方案如下:
2、第一方面,本发明公开了一种压测方法,包括:
3、读取压测配置信息,并根据所述压测配置信息创建预设数量的目标线程;
4、建立与待压测服务器之间的连接,并将与所述待压测服务器之间的所述连接分配至所述目标线程中以利用所述目标线程实时监测与所述待压测服务器之间的连接状态;
5、基于所述连接状态向所述待压测服务器发送相应的压测请求,并基于所述连接状态接收所述待压测服务器响应所述压测请求返回的请求响应结果。
6、可选的,所述根据所述压测配置信息创建预设数量的目标线程,包括:
7、根据所述压测配置信息批量创建相应的目标用户组,并基于所述目标用户组创建预设数量的目标线程。
8、可选的,所述利用所述目标线程实时监测与所述待压测服务器之间的连接状态,包括:
9、利用所述目标线程通过预设io多路复用技术并发启动写loop和读loop分别实时监测与所述待压测服务器之间的连接状态得到相应的第一监测结果和第二监测结果。
10、可选的,所述基于所述连接状态向所述待压测服务器发送相应的压测请求,包括:
11、如果所述第一监测结果表明与所述待压测服务器之间的所述连接状态处于活跃连接状态,则通过与所述待压测服务器之间的所述连接向所述待压测服务器发送相应的压测请求。
12、可选的,所述通过与所述待压测服务器之间的所述连接向所述待压测服务器发送相应的压测请求,包括:
13、根据预设协议规则对预先自定义的请求内容进行组装得到组装后的协议报文,并基于所述组装后的协议报文生成相应的压测请求;
14、通过与所述待压测服务器之间的所述连接将所述压测请求发送至所述待压测服务器。
15、可选的,所述基于所述连接状态接收所述待压测服务器响应所述压测请求返回的请求响应结果,包括:
16、如果所述第二监测结果表明与所述待压测服务器之间的所述连接状态处于活跃连接状态,则监测读事件以获取读事件连接,并判断所述读事件连接的连接状态是否正常;
17、如果所述读事件连接的连接状态正常,则通过与所述待压测服务器之间的所述连接接收所述待压测服务器响应所述压测请求返回的请求响应结果。
18、可选的,所述判断所述读事件连接的连接状态是否正常之后,还包括:
19、如果所述读事件连接的连接状态异常,则触发异常状态的处理操作与回收处理操作,并继续执行所述监测读事件以获取读事件连接的步骤。
20、第二方面,本发明公开了一种压测装置,包括:
21、信息读取模块,用于读取压测配置信息;
22、线程创建模块,用于根据所述压测配置信息创建预设数量的目标线程;
23、连接建立模块,用于建立与待压测服务器之间的连接;
24、连接状态监测模块,用于将与所述待压测服务器之间的所述连接分配至所述目标线程中以利用所述目标线程实时监测与所述待压测服务器之间的连接状态;
25、请求发送模块,用于基于所述连接状态向所述待压测服务器发送相应的压测请求;
26、响应结果接收模块,用于基于所述连接状态接收所述待压测服务器响应所述压测请求返回的请求响应结果。
27、第三方面,本发明公开了一种电子设备,包括:
28、存储器,用于保存计算机程序;
29、处理器,用于执行所述计算机程序,以实现前述公开的压测方法的步骤。
30、第四方面,本发明公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的压测方法的步骤。
31、可见,本发明提供了一种压测方法,包括:读取压测配置信息,并根据所述压测配置信息创建预设数量的目标线程;建立与待压测服务器之间的连接,并将与所述待压测服务器之间的所述连接分配至所述目标线程中以利用所述目标线程实时监测与所述待压测服务器之间的连接状态;基于所述连接状态向所述待压测服务器发送相应的压测请求,并基于所述连接状态接收所述待压测服务器响应所述压测请求返回的请求响应结果。由此可见,本发明通过预设数量的目标线程管理与待压测服务器之间的连接,也即通过结合所述预设数量的目标线程的方式充分利用cpu核心达到高效发起请求的目的,从而实现大批量请求的发起,能够解决利用多线程方式开启并发,并在并发数较多的情况下,大量线程系统资源占用导致施压受阻的问题。
1.一种压测方法,其特征在于,包括:
2.根据权利要求1所述的压测方法,其特征在于,所述根据所述压测配置信息创建预设数量的目标线程,包括:
3.根据权利要求1或2所述的压测方法,其特征在于,所述利用所述目标线程实时监测与所述待压测服务器之间的连接状态,包括:
4.根据权利要求3所述的压测方法,其特征在于,所述基于所述连接状态向所述待压测服务器发送相应的压测请求,包括:
5.根据权利要求4所述的压测方法,其特征在于,所述通过与所述待压测服务器之间的所述连接向所述待压测服务器发送相应的压测请求,包括:
6.根据权利要求3所述的压测方法,其特征在于,所述基于所述连接状态接收所述待压测服务器响应所述压测请求返回的请求响应结果,包括:
7.根据权利要求6所述的压测方法,其特征在于,所述判断所述读事件连接的连接状态是否正常之后,还包括:
8.一种压测装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的压测方法的步骤。