性能优化参考

压测性能优化

压测结果老是达不到预期,首先要大体判断性能可能出现的瓶颈点,再有针对性的具体分析,这种状况下能够从如下几个方面来排查:数据库

一、压测策略设置是否合理,正常状况下,压测过程分为起压、加压、稳定施压几个阶段,起压不能设置的太高,加压不能递增得过快;缓存

二、带宽是否足够用,可根据一次报文请求、响应大小 * QPS * 8 与带宽大小进行比较判断带宽是否够用;性能优化

三、接口请求的报文、报文头参数、响应结果报文等是否过大,过大的报文会影响用户请求时间和响应时间,致使系统并发处理能力降低;服务器

四、同一个页面(特别是首页、活动承接页的)请求接口是否过多,通常建议同一个页面的接口不要超过3个;架构

五、SLB/NGINX参数设置是否合理,如链接数大小、空闲关闭时间等参数;并发

六、HTTP线程池参数设置是否合理;负载均衡

七、数据库是否存在慢SQL,通常耗时超过0.5s的都认为是潜在的慢SQL,超过1s的都认为是慢SQL,建议在测试环境(非线上环境)作一遍全面的慢SQL排雷压测,PR链路涉及到的全部关键表,压测前建议单表数据量在800W以上进行压测,数据量太少不容易发现慢SQL;性能

八、数据库方面优化:经过SQL逻辑优化、索引优化、历史数据定时备份(单表数据量建议不要超过500W)、读写分离、分库分表等提高数据库查询能力;测试

九、缓存更新策略是否正常,若有些系统设置每5分钟缓存和数据库进行一次更新同步,此时性能出现明显降低,这种状况下明显更新策略有问题,缓存更新策略须要重点关注是否可能存在雪崩、穿透的的状况;优化

十、代码优化,如线程阻塞问题等;

十一、架构方面的优化,如没有缓存的能够经过增长缓存来下降数据库压力从而提高系统性能、或者单台服务器的能够考虑负载均衡等等;

相关文章
相关标签/搜索