前言

新上线系统,为公司业务发展助力,大家满怀期待, 系统除了在业务上满足需要,为客户带来价值。在上线后系统是否能承受住线上压力,在高峰会不会挂掉,给公司带来损失,因此在系统上线前越早做一些事情保障未来线上平稳运行。

系统预评估

首先一般会对系统进行预评估,到底系统有多少用户在线,同时某个功能有多少人使用。需要对重要的接口进行压力测试,根据压测结果评估是否可以上线。

压力测试前要做的事情

  1. 梳理数据库表结构,事先建立合理的索引 梳理业务SQL,让所有SQL尽量用上索引, 重点关注查询频繁及涉及大表的SQL
  2. 建立模拟外部环境,可以使用MockServer模拟第三方接口返回 评估测试环境及生产环境机器性能差异,建立合理的评估值
  3. 测试数据尽量能覆盖尽可能多的业务分支 怎么能发现系统的薄弱环节 优先关注数据库相关问题 优先关注系统单点问题
  4. 数据库是系统的单点,如果在线上出现问题,结果是灾难性的,如果是应用还可以通过新建实例来增加系统处理能力, 数据库则没有很好的方法在线上做扩容,而不影响业务

压力测试

  1. 推荐Jmeter压力测试工具,基本能满足所有的测试场景
  2. 设计压力测试场景,每种测试场景多少并发,并发时长
  3. 压力测试过程中监控jvm,机器内存及CPU指标

昌松
306 声望460 粉丝

系统优化,系统架构,线上问题处理