本公开涉及网络,尤其涉及一种测试方法、装置、电子设备及存储介质。
背景技术:
1、随着网络技术的发展,在更多的领域中应用了网络技术,在网络技术发展的同时,对网络技术的要求也越来越高。性能测试和负载测试作为网络技术中的重要一部分,用于测试网络服务的性能和负载能力,如流量测试、并发量和吞吐量等。
2、例如,对分布式系统的节点进行性能测试,以验证节点的负载承受能力。传统的性能测试方法已经难以满足日益复杂和多样化的软件系统的测试需求。
技术实现思路
1、本公开提供一种测试方法、装置、电子设备及存储介质。
2、本公开实施例的第一方面,提供一种测试方法,包括:接收服务节点发送的测试指令;其中,所述测试指令中包括测试节点在预设时长内的业务请求量;根据所述业务请求量确定在所述预设时长内发送业务请求的时间间隔;在所述预设时长内,通过协程根据所述时间间隔发送业务请求。
3、在一个实施例中,所述方法还包括:在所述预设时长内创建所述协程;其中,所述协程的数量与业务请求量相同;一个所述协程对应一个所述业务请求。
4、在一个实施例中,在所述预设时长内,发送任意相邻两个所述业务请求的所述时间间隔相同。
5、在一个实施例中,所述方法还包括:接收所述服务节点发送的业务请求量变更指令;其中,所述业务请求量变更指令携带有变更后的所述业务请求量;基于变更后的所述业务请求量调整所述时间间隔。
6、在一个实施例中,所述方法还包括:检测所述业务请求量是否超出所述测试节点的预设请求量;在所述业务请求量超出所述预设请求量的情况下,拒绝发送所述业务请求,并向所述服务器返回拒绝消息。
7、在一个实施例中,各个所述测试节点在任一所述预设时长内的业务请求量相同。
8、在一个实施例中,所述测试方法的测试时长包括n个连续的所述预设时长;n为正整数;所述方法还包括:在所述测试时长内发送完所有所述业务请求的情况下,确定所述测试时长是否结束;在所述测试时长未结束时,暂停所述协程所在的主线程直至当前的所述测试时长结束。
9、本公开实施例的第二方面,提供一种测试装置,包括:测试指令接收模块,用于接收服务节点发送的测试指令;其中,所述测试指令中包括测试节点在预设时长内的业务请求量;时间间隔确定模块,用于根据所述业务请求量确定在所述预设时长内发送业务请求的时间间隔;发送模块,用于在所述预设时长内,通过协程根据所述时间间隔发送业务请求。
10、本公开实施例的第三方面,提供一种电子设备,包括:
11、处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:处理器用于运行所述可执行指令时,所述可执行指令执行上述任一实施例所述的方法。
12、本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述任一实施例所述的方法。
13、本公开的实施例提供的技术方案可以包括以下有益效果:
14、本公开实施例的测试方法,测试节点集群中的任一测试节点在接收到服务节点发送的测试指令后,根据测试指令中包括测试节点在预设时长内的业务请求量确定在预设时长内发送业务请求的时间间隔。在预设时长内通过协程根据发送时间间隔发送业务请求。
15、由于协程相对于线程更加轻量,对操作系统的依赖较低,通过线程中的协程发送业务请求,可以减少由于线程在切换时严重依赖操作系统导致的性能较差以及消耗更多资源的情况,从而减少了资源的消耗,提高了测试效率。另外,根据业务请求量确定发送业务请求的时间间隔,可以提高协程发送业务请求的准确度,减少了业务请求量发送异常和超出预期的情况,使得业务请求的发送更加准确和可控。
16、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种测试方法,其特征在于,包括:
2.根据权利要求1所述的测试方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的测试方法,其特征在于,在所述预设时长内,发送任意相邻两个所述业务请求的所述时间间隔相同。
4.根据权利要求1或3所述的测试方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的测试方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的测试方法,其特征在于,各个所述测试节点在任一所述预设时长内的业务请求量相同。
7.根据权利要求1所述的测试方法,其特征在于,所述测试方法的测试时长包括n个连续的所述预设时长;n为正整数;
8.一种测试装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种非临时性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述权利要求1至7任一项所述的方法。