美文网首页
关于系统的压测总结

关于系统的压测总结

作者: 天草二十六_简村人 | 来源:发表于2019-03-20 11:57 被阅读0次

    1、压测环境:
    选择线上环境作为压测环境,好处是:1)环境真实,不需要担心配置不一致等;2)压测的结果更为精确,不用担心压测结果是否同比例放大等。
    需要注意的是:1)压测的时间窗口需限定在低峰期;2)不能搞垮线上系统,做好数据隔离。

    2、压测小组
    协调资源,梳理涉及的业务。

    3、压测数据
    需要和线上真实数据区分开来。包括测试用户等数据。直接从线上用户的数据(剔除敏感信息)进行筛选。切记做好压测数据隔离。

    4、压测场景模型
    规定哪些业务场景,每个场景下压测多大量。
    分析业务模型和数据模型:
    1)是否关键路径
    2)业务的调用关系
    3)业务的提供的接口列表
    4)接口类型(http、thrift、soa等)
    5)读接口还是写接口?
    6)各接口之间的比例关系

    5、压测流量
    TCP引流。
    首先要求压测流量能被识别,采用的做法是所有的压测流量都带有特殊的标记,并且这些标记能够随中间件协议的调用关系进行传递;应用系统根据标记识别压测流量;在缓存和存储时,通过存储和缓存过滤器将压测数据存储到影子区域(表)而不是覆盖原有数据。
    上述所有操作都遵循一个原则:能够用中间件解决的问题,绝不对业务系统进行改造。

    6、压测工具
    选用Jmeter,原因有:开源轻量级,能够了解甚至修改其每个控件的实现;
    方便开发插件,可以支持如thrift等类型请求;
    支持丰富(如RemoteServer,设定集合点等);
    压测结果数据与公司监控指标是否吻合。

    7、压测指标的监控与收集
    1)应用层面
    错误率
    吞吐量
    响应时间(中位线,90线,95线,99线)
    GC
    2)服务器资源
    CPU利用率及负载
    内存
    磁盘I/O
    网络I/O
    连接数
    3)基础服务
    MQ
    Redis
    mysql
    mongodb
    4)注意点
    响应时间不要用平均响应时间,关注95线;
    吞吐量和响应时间挂钩
    吞吐量和成功率挂钩

    二、优化点
    1、可以根据各种介质IO访问的性能来优化(内存缓存>文件>数据库>网络),基本上通过缓存和异步处理这两颗银弹就可以解决80%的性能问题
    2、APM工具:通过全链路监控可以发现整个业务流程在哪个节点耗时最长,那么这个耗时最长的节点就是我们需要优化的地方

    image.png

    相关文章

      网友评论

          本文标题:关于系统的压测总结

          本文链接:https://www.haomeiwen.com/subject/dphzcqtx.html