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