本公开涉及云计算,具体的涉及软件测试,更具体地涉及一种微服务性能测试方法、装置、设备、存储介质和程序产品。
背景技术:
1、随着银行业务发展对于银行系统灵活、快速响应业务变化等要求越来越高,银行系统已逐步从单体应用向微服务架构转型。微服务架构将单体应用模式下的功能拆解为一系列微服务,一定程度上为银行灵活响应业务需求快速交付服务提供了有效途径。在微服务架构下单个服务会被多个业务流程调用,如何精准实时且高效测算单个微服务需要满足的耗时参数成为一个亟需解决的问题。
2、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、鉴于上述问题,本公开提供了一种微服务性能测试方法、装置、设备、存储介质和程序产品。
2、根据本公开的第一个方面,提供了一种微服务性能测试方法,所述方法包括:
3、响应于微服务性能测试指令,根据全量服务调用信息确定目标微服务的服务调用链路数据,其中,所述服务调用链路数据包括各链路微服务个数和不同流量比例下的各链路服务调用总耗时,所述流量比例用于表征需保证交易成功的流量占比;
4、根据所述各链路微服务个数和所述各链路服务调用总耗时计算所述目标微服务的性能测算值,其中,所述性能测算值包括不同流量比例下的最小耗时;以及
5、根据业务需求信息、所述性能测算值和目标微服务的实际运行耗时对所述目标微服务进行性能评估。
6、根据本公开的实施例,所述根据所述各链路微服务个数和所述各链路服务调用总耗时计算所述目标微服务的性能测算值包括:
7、获取不同流量比例下各链路服务调用总耗时;
8、根据所述各链路服务调用总耗时和所述各链路微服务个数计算不同流量比例下所述目标微服务在各链路的平均耗时;以及
9、取各链路平均耗时的最小值作为所述目标微服务的性能测算值。
10、根据本公开的实施例,所述根据业务需求信息、所述性能测算值和目标微服务的实际运行耗时对所述目标微服务进行性能评估包括:
11、根据业务需求信息确定目标微服务的目标流量比例;以及
12、根据目标流量比例下的性能测算值和目标微服务的实际运行耗时对所述目标微服务进行性能评估。
13、根据本公开的实施例,所述根据目标流量比例下的性能测算值和目标微服务的实际运行值对所述目标微服务进行性能评估包括:
14、若确定所述目标流量比例下的性能测算值大于等于所述目标微服务的实际运行耗时,则确定所述目标微服务满足业务要求;以及
15、若确定所述目标流量比例下的性能测算值小于所述目标微服务的实际运行耗时,则对所述目标微服务进行性能测试。
16、根据本公开的实施例,所述响应于微服务性能测试指令,根据全量服务调用信息确定目标微服务的服务调用链路数据包括:
17、根据微服务性能测试指令确定目标微服务名称;以及
18、使用所述目标微服务名称在全量服务调用信息中查询所述目标微服务的服务调用链路数据。
19、根据本公开的实施例,所述使用所述目标微服务名称在全量服务调用信息中查询所述目标微服务的服务调用链路数据包括:
20、确定调用所述目标微服务的服务调用链路;以及
21、确定每一所述服务调用链路的微服务个数和服务调用总耗时。
22、根据本公开的实施例,所述方法还包括:
23、响应于全量服务调用信息的更新操作,自动更新各微服务的性能测算值。
24、本公开的第二方面提供了一种微服务性能测试装置,所述装置包括:
25、确定模块,用于响应于微服务性能测试指令,根据全量服务调用信息确定目标微服务的服务调用链路数据,其中,所述服务调用链路数据包括各链路微服务个数和不同流量比例下的各链路服务调用总耗时,所述流量比例用于表征需保证交易成功的流量占比;
26、性能测算模块,用于根据所述各链路微服务个数和所述各链路服务调用总耗时计算所述目标微服务的性能测算值,其中,所述性能测算值包括不同流量比例下的最小耗时;以及
27、性能评估模块,用于根据业务需求信息、所述性能测算值和目标微服务的实际运行耗时对所述目标微服务进行性能评估。
28、根据本公开的实施例,所述性能测算模块包括:获取子模块、第一计算子模块和第二计算子模块。
29、获取子模块,用于获取不同流量比例下各链路服务调用总耗时;
30、第一计算子模块,用于根据所述各链路服务调用总耗时和所述各链路微服务个数计算不同流量比例下所述目标微服务在各链路的平均耗时;以及
31、第二计算子模块,用于取各链路平均耗时的最小值作为所述目标微服务的性能测算值。
32、根据本公开的实施例,所述性能评估模块包括第一确定子模块和性能评估子模块。
33、第一确定子模块,用于根据业务需求信息确定目标微服务的目标流量比例;以及
34、性能评估子模块,用于根据目标流量比例下的性能测算值和目标微服务的实际运行耗时对所述目标微服务进行性能评估。
35、根据本公开的实施例,所述性能评估子模块包括:第一确定单元和第二确定单元,
36、第一确定单元,用于若确定所述目标流量比例下的性能测算值大于等于所述目标微服务的实际运行耗时,则确定所述目标微服务满足业务要求;以及
37、第二确定单元,用于若确定所述目标流量比例下的性能测算值小于所述目标微服务的实际运行耗时,则对所述目标微服务进行性能测试。
38、根据本公开的实施例,所述确定模块包括第二确定子模块和查询子模块,
39、第二确定子模块,用于根据微服务性能测试指令确定目标微服务名称;以及
40、查询子模块,用于使用所述目标微服务名称在全量服务调用信息中查询所述目标微服务的服务调用链路数据。
41、根据本公开的实施例,所述装置还包括:更新模块。
42、更新模块,用于响应于全量服务调用信息的更新操作,自动更新各微服务的性能测算值。
43、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述微服务性能测试方法。
44、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述微服务性能测试方法。
45、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述微服务性能测试方法。
46、通过本公开的实施例提供的一种微服务性能测试方法,响应于微服务性能测试指令,根据全量服务调用信息确定目标微服务的服务调用链路数据,服务调用链路数据包括各链路微服务个数和不同流量比例下的各链路服务调用总耗时,根据服务调用链路数据计算所述目标微服务的性能测算值,在基于性能测算值根据业务需求信息和目标微服务的实际运行耗时对所述目标微服务进行性能评估,通过每个微服务耗时参数的精准测算,实现对不同业务需求的微服务性能的测试评估。