前言
新上线系统,为公司业务发展助力,你们满怀期待, 系统除了在业务上知足须要,为客户带来价值。在上线后系统是否能承受住线上压力,在高峰会不会挂掉,给公司带来损失,所以在系统上线前越早作一些事情保障将来线上平稳运行。数据库
系统预评估
首先通常会对系统进行预评估,到底系统有多少用户在线,同时某个功能有多少人使用。须要对重要的接口进行压力测试,根据压测结果评估是否能够上线。并发
压力测试前要作的事情
- 梳理数据库表结构,事先创建合理的索引 梳理业务SQL,让全部SQL尽可能用上索引, 重点关注查询频繁及涉及大表的SQL
- 创建模拟外部环境,可使用MockServer模拟第三方接口返回 评估测试环境及生产环境机器性能差别,创建合理的评估值
- 测试数据尽可能能覆盖尽量多的业务分支 怎么能发现系统的薄弱环节 优先关注数据库相关问题 优先关注系统单点问题
- 数据库是系统的单点,若是在线上出现问题,结果是灾难性的,若是是应用还能够经过新建实例来增长系统处理能力, 数据库则没有很好的方法在线上作扩容,而不影响业务
压力测试
- 推荐Jmeter压力测试工具,基本能知足全部的测试场景
- 设计压力测试场景,每种测试场景多少并发,并发时长
- 压力测试过程当中监控jvm,机器内存及CPU指标