性能测试从需求分析开始 (2)

③、打铁也要自身硬!因此不断学习提高自己的技术能力,不断总结沟通,才能更好和同事交流,从解决问题的角度出发,去解决问题,创造价值!

五、回归问题本身

上面说的有点跑题了,回到问题本身,说说我对这个性能需求的一些优化建议吧,仅供参考:

1、数据库优化

问题点:从上面描述的情况来看,每天产生的数据大概有10W+条,且只有一张表存储;

解决方案:分库分表,表可以拆分为问卷主表、问卷对应的问题表、问题对应的答案明细表等,长期来说数据量不小,可以考虑分库,主从分离等,查询添加索引等方法。

2、处理逻辑优化

问题点:一次性查询的数据过多,导致前端展示较慢;

解决方案:查询结果分批次展示(比如有100W条数据,分为100个批次,每个批次10000条数据)。

3、存储优化

问题点:没有缓存,直接从DB单表读取,容易造成超时和表锁;

解决方案:将数据放入缓存服务器(比如Redis),设定查询次数或者有效时间,多级缓存,提高缓存命中,防止缓存穿透和同时失效带来的瞬间DB压力。

4、业务优化

问题点:多人短时间内查询大量数据,对服务造成巨大压力;

解决方案:和产品业务沟通,让查询操作时间在业务平缓期,拉长查询操作的时间线等。

5、服务优化

问题点:单台服务器;

解决方案:做服务集群和负载均衡,增加监控,设定阈值,超过阈值则临时增加新的服务器,分流。

本来问题本身只是想说需求分析的,不知不觉扯了很多相关的内容,当然其中有些内容也值得拆开详细讨论,性能测试,水太深啊。。。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwfpgz.html