性能测试之全链路压测优化思路,一般可以从3个层面去进行优化:
优化单个系统性能
就算不进行全链路压测,单个系统的性能优化也是要考虑的问题,对单个系统的优化,其实方法有很多,但是万变不离其宗,就是在压测过程中监控系统各项指标,从中挑出慢交易,针对慢交易进行优化,对于联机系统大部分都是因为各种IO问题导致性能上不去。可以根据各种介质IO访问的性能来优化,内存缓存>文件>数据库>网络,基本上通过缓存和异步处理这两颗银弹就可以解决80%的性能问题。
当链路上的单个系统性能提升了,整体的全链路性能自然就提升了。
优化关联路径
但是在优化的过程中,我们常常发现绝大部分系统性能都很高,但是总的TPS还是很低,这就需要去根据监控了解下目前整个链路上的性能瓶颈到底在哪?通过全链路监控可以发现整个业务流程在哪个节点耗时较长,那么这个耗时较长的节点就是我们需要优化的地方,只要这些关键路径的性能提升上来以后整体的性能就上来了。关键节点的优化方式和单系统优化思路一致。
优化业务流程
很多开发人员都会将优化思路集中在技术层面,但是很多时候从业务流程上进行优化效果可能更好,而且提升的效果会非常明显。业务层面的优化主要是从分散IO的角度去考虑,将实际业务场景中的用户请求进行分散,例如常见的大秒系统、验证码系统、游戏工具等都是为了进行业务层面的IO分散来保证。这类业务流程的优化首先要梳理清楚整个业务流程,包括所有的细节。然后针对每个环节在保证用户体验的情况下分散用户请求,这样可以较大限度的保证体验。