二、架构的性能问题解决讨论
性能问题——嗯,一个非常神圣而高深的问题的。从我刚刚开始工作的时候,至今依然是。然而我相信,一定存在一个基本的思路和方法,我以为解决性能问题的工作还是在于分解,通过分解来确定问题域。
先介绍三个公式性能问题的公式:
总处理单量 = 总处理时间/ 单笔请求处理时间 * 总并发数
这个公式另一个写法为:
总处理时间 = 单笔请求处理时间 * 总处理单量 / 总并发数
不同的写法代表不同个关注点,适合不同类型的业务类型, 一般说前一种写法代表在线请求的,后一种写法代表后台batch。
也有客户给明确要求系统要支持xxx并发,这个就需要了解客户的这个并发数是如何计算得来,需要通过分析客户的业务,而通常是根据总处理单量来确定客户实际的并发数。
但无论如如何,四个变量中,总处理单量和总处理时间是先被确定的,换句话说需要关注是单笔请求处理时间和并发数,也就是降低单笔请求处理时间或者增加并发数。
对于单笔请求处理时间,其公式为:
单笔请求处理时间 = 数据计算时间 + 数据读写时间+其它技术导致时间消耗
很显然降低单笔请求处理时间就需要降低三个因素消耗的时间。
1.降低单笔请求处理时间第一原则是, 只计算一次.缓存计算结果
2.降低数据读取时间,分三种
2.1. Global的,系统启动时加载
文章来源于领测软件测试网 https://www.ltesting.net/