[转] 进行压测前的准备工作

作者: Rethink | 来源:发表于2018-11-18 15:15 被阅读5次

线上压测策略

  • 为什么要进行线上压测?
    线下环境的机器配置低,规模数量小,测试结果不能反映线上真实性能情况;

  • 线上压测时间选择
    核心原则是不能影响真实用户的使用。因此压测时间要选择每天业务的最低峰,这样对系统的影响最小

  • 数据准备
    线上压测不能使用真实的用户数据,一般都是提前准备一批线上压测专用账号。为了与真实账号有所区分,可以给账号加上前缀,如id_xxxx等,也方便压测完成后进行数据清理。

  • 线上压测报备和预案

  1. 压测前一定要预先通知团队相关人员,如运维、DBA、研发、运营等;
  2. 压测开始时,必须最好恢复预案,出现紧急情况时便于及时处理;
  3. 如果压测涉及到写库操作,需要做好数据清理方案,不然可能会影响到后续的报表统计;
  • 线上压测执行策略
  1. 初始并发一定要小一些,然后逐渐网上升,直至到底目标并发;
  2. 压测时间不宜过长(负载测试除外),一般5min以下即可;
    3.压测时系统要做全链路监控,一旦出现异常情况,如机器负责过高、报错率上升等,应立即停止测试,排查问题;

判断网络性能瓶颈

  • 确定本次压测链路上网络流量上限值
    在压测之前,提前确定本地压测的数据流向,即压测请求从压力机上发出后,经过了哪些环节,最终到达服务器上。响应数据经过哪些环节,又返回到压力机。并且每个环节中的网络上限是多少,最终我们整个网络环路的流量上限,就取决于环路中最低的那个上限值(木桶原理)。
    举例说明,如下图所示:



    网络请求数据首先是从压力机的网卡发出,一般的网卡都是千兆网卡,然后网络带宽也会有限制,比如是100Mb,可能还会经过一些网络设备,如路由器、交换机、防火墙等,这些设备也都有网络上限,假如都是10000Mb,最后到达目标服务器的网卡(千兆网卡)。所以从上面的网络架构来看,整体链路最高支持100Mb的数据流量,大约是100/8=12.5MB。
    如果在局域网内,几乎就不用考虑带宽和网络设备的问题了,所以局域网内网卡的上限就是整个链路的网络上限。

  • 压测过程中,当前网络上的流量大小是多少
    一般在目标服务器上,通过一些工具对网络进行监控,如nmon、dstat、sar、nload等,可以查看到实时的网络数据。按照上面图中的分析,假如通过监控Linux服务器,发现服务器的网卡流量已经达到12.5MB左右,那么就说明当前网络链路上的流量已经达到上限了。当前网络已经出现了瓶颈。

参考资料

  1. 线上压测,如何避免从宕机到跑路?——Testfan打卡学测开1115
  2. 两招轻松判断网络性能瓶颈——Testfan打卡学测开1114

相关文章

  • [转] 进行压测前的准备工作

    线上压测策略 为什么要进行线上压测?线下环境的机器配置低,规模数量小,测试结果不能反映线上真实性能情况; 线上压测...

  • 压测tips

    压测前: 明确压测的目的,观测指标; 准备好压测方案,几组case,case分别压测多久; 申请压测环境,告知进行...

  • jmeter压测数据库

    jmeter压测数据库 JDBC request压测MysqL讲解 简介:讲解jdbc压测mysqL相关准备工作,...

  • mac安装压力测试工具siege

    brew install siege 搞定 siege使用说明 压测前的准备工作 一、修改系统的文件描述符限制 当...

  • jmeter压测

    jmeter压测 做压测的目的 找到功能的极限(然后进行代码优化或升级设备) 压测对象 挑选重要的接口进行测试,例...

  • 流量录制,基于常态化压测

    简介 常态化压测、业务压测、集群压测、全链路压测、等基于特定需求的对后台接口进行的并发式请求,接口自动化压测数据的...

  • 从优化http接口的QPS说起--Java线程池的任务堆积

    一、背景 测试对http接口进行压测,压测请求并发数为300,每隔1秒进行持续加压直至1200。压测端发现,有20...

  • 怎样进行压测?

    大家好,我是IT修真院郑州分院第6期的学员李亚衡,一枚正直纯洁善良的JAVA程序员 今天给大家分享一下,怎样进行压...

  • Jmeter压测生成多维度图形化HTML测试报告

    指令:(在进行压测前,要创建对应的目录:jtl,result) ./jmeter -n -t/usr/local/...

  • Spring 异步实现原理与实战分享

    最近因为全链路压测项目需要对用户自定义线程池 Bean 进行适配工作,我们知道全链路压测的核心思想是对流量压测进行...

网友评论

    本文标题:[转] 进行压测前的准备工作

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