zoukankan      html  css  js  c++  java
  • 性能优化参考

    压测性能优化

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

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

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

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

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

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

    6、HTTP线程池参数设置是否合理;

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

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

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

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

    11、架构方面的优化,如没有缓存的可以通过增加缓存来降低数据库压力从而提升系统性能、或者单台服务器的可以考虑负载均衡等等;

     
  • 相关阅读:
    ES6中map数据结构学习
    React中,input外边如果包一个div,可以把input的onChange事件绑定到div上面,并且也生效
    筛数组
    字符串slice、substring、substr
    DVA-subscriptions
    react hooks学习
    React会自动把虚拟DOM数组展开
    React+Redux+Dva学习
    [转] 关于卫星轨道的科普
    边缘计算在智慧城市中的应用【摘录】
  • 原文地址:https://www.cnblogs.com/SparkProgram/p/14096674.html
Copyright © 2011-2022 走看看