【面试】线上压测,常见的几个问题

1、 为什么要做线上压测?

        传统的压测都是在线下环境进行,但其有以下局限性 a> 线下压测需要搭建一套压测环境,尤其一些架构复杂的系统,工作量比较大 b> 线下环境的机器配置一般都比较低,规模数量小,测试结果不能反映线上真实性能 情况

2、 线上压测用什么工具

        压测工具没有什么特殊要求,跟线下压测一样,像 Loadrunner、Jmeter 都可以

3、 线上压测时间选择

        线上压测有一个核心原则,就是不能影响真实用户的使用。因此时间都是选择每天业务 最低峰,一般都是在 0:00-6:00 之间,这样对系统的影响最小

4、 线上压测数据准备

        线上压测不能使用真实的用户数据,一般都是提前准备一批线上压测专用账号。这些账 号往往都比较特殊,比如用户 id 都以 xx 开始,或者用户 id 的长度都是多少位等。 根据业务不同,其他可能还需要一些业务数据。 如果涉及到一些金钱的操作,比如发短信,提前把开关关闭。否则后果很严重(别问我 怎么知道的)

5、 线上压测报备和预案

        5.1 、压测前一定下报备,通知相关的责任人,如运维、DBA、研发、运营、测试团队等

        5.2、 各团队必须有指定人员现场支持,出现紧急情况便于及时处理

        5.3、 对业务系统压测前,要和开发和运维团队做好预案,比如系统宕机后,怎么恢复

        5.4、如果压测涉及到写库操作的,一定提前做好数据清理方案

6、 线上压测执行策略

        6.1、 起始并发一定要小一些,防止系统性能不好,直接崩溃

        6.2、压测时间不宜过长,除特殊场景外,一般 3-5 分钟即可

        6.3、 压测时系统要做系统全链路监控(例如:skywalking工具),一旦出现异常情况,如机器负载高、报错率上升 等,应立即停止压测,排查问题。

7、 数据清理

        压测结束后,要根据提前制定的数据清理方案,将压测产生的垃圾数据清理掉,比如执 行 SQL脚本等

你可能感兴趣的:(性能测试,面试)