当前位置: 首页 > news >正文

北京云网站建设徐州品牌网站建设

北京云网站建设,徐州品牌网站建设,ps网上教程,深圳网站设计哪家好目标#xff1a;在不打穿下游的前提下#xff0c;验证入口链路的高并发承载能力#xff0c;并形成可复制的压测脚本。一、为什么要先压“入队链路”#xff1f;很多系统的重任务#xff08;报表、地图/视频处理、机器人调度等#xff09;都会走 “请求→入消息队列→异步… 目标在不打穿下游的前提下验证入口链路的高并发承载能力并形成可复制的压测脚本。 一、为什么要先压“入队链路”很多系统的重任务报表、地图/视频处理、机器人调度等都会走 “请求→入消息队列→异步消费” 的模式。 上线前必须回答三个问题峰值请求能不能稳稳接住网关限流能不能把洪峰挡在外面队列是否按预期累积不触发级联雪崩本实践选择 Dry-Run 禁用消费者 的“用法 A”请求只入队不真正执行耗时任务既能压出真实入口 QPS又不会把下游打穿观测面SkyWalking/RabbitMQ/JMeter一样齐全。 二、压测目标与环境目标100 QPS × 3 分钟可 50→100→200 QPS 梯度爬坡接口POST /external/gs/async/_mqSmoke创建“烟囱任务”仅入队网关策略必须带 X-Dry-Run:true否则 403命中限流返回 429观测SkyWalkingruoyi-gateway、ruoyi-robotRabbitMQ 控制台JMeter 报表结果判定JMeter Error%≈0SW SuccessRate≈100%、Apdex 高RabbitMQ Ready 累积三、脚本结构可直接照抄3.1 Test Plan 变量User Defined Variables BASE_SCHEMEhttp BASE_HOSTlocalhost BASE_PORT8080 # 或直连 9300 SUBMIT_PATH/xxxxxx/_mqSmoke POLL_PATH/xxxxxxx AUTH_HEADER POLL_INTERVAL_MS1200 MAX_POLLS20提示A 策略通常不启用轮询只压入队链路。 3.2 HTTP Header ManagerContent-Type: application/jsonX-Request-Id: ${__UUID()}Authorization: ${AUTH_HEADER}如需X-Dry-Run: true ← 关键3.3 SamplerSubmit Task (POST)Path${SUBMIT_PATH}Body {xxxxx:dummy,taskName:mq-smoke} 3.4 线程组Thread Group调试Threads5, Ramp-up10s, Loop Count1正式Threads50, Ramp-up60s勾选 Specify Thread lifetime → Duration180s3.5 恒定吞吐定时器Constant Throughput TimerTarget throughput (samples per minute) 6000≈100 QPSCalculate Throughput based on this thread group only 小公式目标 QPS × 60 每分钟样本数。比如 100 QPS ⇒ 6000 samples/min。 3.6 断言与 429 处理Response AssertionResponse Code 允许 200 / 202 / 429JSR223 PostProcessor 将 429 记为成功 if (prev.getResponseCode() 429) { prev.setSuccessful(true) } 3.7可选轮询逻辑非 Dry-Run 时用JSON Extractor变量xxxxJsonPathxxxxxxxWhile Controller 条件 ${__groovy((vars.get(done)!true) ((vars.get(polls) as int ?: 0) (${MAX_POLLS} as int)))} 轮询定时器Constant Timer → ${POLL_INTERVAL_MS}JSR223 PostProcessor def s (vars.get(status) ?: vars.get(state) ?: ).toString().toUpperCase() def code (vars.get(code) ?: ).toString() def doneVals [DONE,SUCCESS,FINISHED,COMPLETED,OK] if (doneVals.contains(s) || code 200) { vars.put(done,true) } int p (vars.get(polls) as int ?: 0) 1 vars.put(polls, String.valueOf(p)) 四、执行步骤预热1 分钟 / 5 线程JMeter View Results Tree 绿灯SW“服务列表/端点负载”出现。正式压测100 QPS × 3 分钟打开 Aggregate Report同时观看SkywalkingRabbitMQ 队列 robot.tempTask.qReady 累积曲线。非 GUI 推荐更稳 jmeter -n -t async-submit-poll.jmx -l result.jtl -e -o html 五、观测与判读JMeter关注 #Samples / Average / P95 / P99 / Error% / Throughput。示例多轮实测Error%0P95≈6msP99≈9–10msThroughput≈41–100/sec视目标而定。SkyWalking关注 Service Loadcalls/min、Success Rate、Apdex、P95/P99。示例ruoyi-gateway Load ≈ 2300–2900/minSuccess 100%Apdex≈0.83–0.94ruoyi-robot Load ≈ 2800–4700/minSuccess 100%Apdex≈1.0。RabbitMQA 策略下消费者禁用Ready 持续累积是预期Unacked≈0。 六、SkyWalking“防自杀”设置很关键压测期间观测系统太“勤奋”也会被打爆建议Java Agentagent.config 增量 sample_n_per_3_secs10 trace.ignore_path/external/gs/async/_mqSmoke 采样降低到“每 3 秒 ~10 条”并忽略高频压测路径。    2.OAP Server 内存Windows 示例 set SW_OAP_OPTIONS-Xms512m -Xmx1024m -XX:UseG1GC bin\oapService.bat stop bin\oapService.bat start3.UI 时间范围         只看“今天”避免渲染大量历史数据变卡。七、常见问题与排错清单Q1另一台机器跑出来 Success 只有 50%Apdex 0.30.4 A一般是本机资源/网络/观测开销导致JMeter 用 GUI 跑 开很多监听器CPU 飙高网络丢包/代理/防火墙没有把 429 记为成功SW 采样太高/OAP 内存太小网关策略不一致是否强制 Dry-Run是否命中限流。Q2SW 过 2 分钟就“白屏/转圈”降采样见上忽略高频路径给 OAP 多点内存缩短 UI 时间窗口。Q3JMeter 吞吐达不到配置的 QPSThreads 不够、Ramp-up 太短、Timer 作用域不对脚本夹了多余“思考时间”机器顶不住CPU/内存/网络/磁盘。Q4网关 403确认头 X-Dry-Run: true未带头被路由策略拦截是对的。Q5换一台电脑为什么 SkyWalking 上看到的成功率、Apdex、负载和上一台不一样 现象同一套后端与脚本不同压测机跑出来的 SW 成功率/Apdex/Load 有明显差异甚至一台高、一台低。 根因分类 快速排查压测端JMeter差异GUI 监听器过多、开着 View Results Tree/GraphsCPU 抢占高 → 真实吞吐达不到配置值。机器性能/电源模式不同省电/节能模式、CPU 频率被限。Java/JMeter 版本/JVM 参数不同GC/HTTP 堆栈差异。脚本细节不一致线程数、Ramp-up、Constant Throughput Timer 的“作用域”不是 this thread group only或 429 未被标记为成功JMeter 与 SW 统计口径不一致。建议非 GUI 模式运行 jmeter -n ...只保留 Aggregate Report固定 Java 版本核对 .jmx 差异把 429 设为成功。网络路径差异一台走 公司代理/本机代理/VPN、一台直连DNS 解析落到不同网关实例丢包/抖动导致重传与超时。建议两机都 tracert/ping 网关禁用代理/VPN固定目标 IP同时抓一小段 tcpdump/Wireshark 看重传/RTT。SkyWalking 观测口径差异时间窗口不同另一台选了更大范围或不是“今天”筛选条件实例/端点不同。采样率不同另一台机器或另一环境的 sample_n_per_3_secs/sampleRate 不一致或者没有 trace.ignore_path导致 UI/存储压力大指标被稀释或 UI 卡顿。OAP 内存不足/存储后端压力大 → 指标迟到/掉点。建议两边统一时间范围Today 同步 NTP清空所有筛选统一 Agent 配置采样 忽略压测路径OAP 增内存例如 -Xms512m -Xmx1024m必要时只看压测时段 2–5 分钟窗口。网关/服务端策略差异限流/熔断/鉴权配置在不同实例不一致请求头如 X-Dry-Run:true / Authorization在一台机器未携带导致 403/429 比例变化。建议抓包或开启网关 access log 校验请求头对比实例配置将压测流量固定到同一实例临时关闭负载均衡或用权重/灰度。时钟偏差与统计口径压测机与 SW/OAP 时钟不同步导致“每分钟调用数Load”按窗口聚合时分桶不齐。建议所有机器启用 NTPSW UI 选择近实时小窗口例如最近 5 分钟。一键对齐清单两台压测机都做用 非 GUI 模式跑Aggregate Report 保存到文件检查 .jmx 完全一致线程/Timer 作用域/断言/429 处理固定 Java 版本关闭省电模式统一 Agent 配置sample_n_per_3_secs10、trace.ignore_path/external/gs/async/_mqSmokeOAP-Xms512m -Xmx1024m -XX:UseG1GCUI 只看“今天/最近 5 分钟”关闭代理/VPN固定网关实例或检查负载均衡所有节点开启 NTP 对时。 结论压测端供给能力 网络路径 观测采样/窗口 是造成 SW 指标差异的三大源头。把三者对齐后两台机器的曲线会非常接近。 八、可复用产物async-submit-poll.jmx线程组 恒定吞吐 Header POST 可选轮询/断言/JSR223网关路由与限流规则/external/gs/async/** 强制 X-Dry-Run:true 统一 429SW 配置片段sample_n_per_3_secs、trace.ignore_path、OAP JVM 参数 九、实战结论在“Dry-Run 禁消费”的保护模式下入口链路稳定撑住 100 QPS×3minJMeter Error%0P95/P99 低网关/业务 Success≈100%、Apdex 高RabbitMQ Ready 按预期累积无 Unacked 积压。
http://www.zqtcl.cn/news/830087/

相关文章:

  • 长沙建站挺找有为太极wordpress eshop 教程
  • 郑州平台类网站网站开发常见面试题
  • 城乡建设网站职业查询系统做网站设计的需要什么材料
  • ui做的好看的论坛网站加工制造网
  • 南庄网站开发厦门建设局网站城市建设
  • 常州网站建设效果重庆招聘网
  • 做视频网站需要多大的带宽公众号怎么开通直播功能
  • 信息化网站建设引言南宁 网站建设
  • 怎么做外贸网站的邮箱签名做网站页面怎么做
  • 做文库网站怎么赚钱吗百度网盘下载官网
  • 带后台的网站模板下载wordpress文章置顶插件
  • 云阳营销型网站建设北京梵客装饰公司地址电话
  • 北京有哪些网站建设公司好网站做配置文件的作用
  • 网站制作定制做网站顾客提现金额后台
  • 歙县建设银行网站人员优化是什么意思
  • 网站建设需解决问题wp商城
  • 简单房地产网站在哪老版建设银行网站
  • 外贸网站如何做推广苏州小程序需要写网站建设方案书
  • 哪些企业会考虑做网站婚庆策划公司简介
  • php网站开发个人个人学做网站
  • php网站开发最新需求网站建设实习心得
  • 深圳公司的网站设计网页制作视频教程下载
  • 动漫网站开发优势网站做电话线用
  • 河南移动商城网站建设广州营销型企业网站建设
  • 佛山做网站公司个人账号密码网站建设
  • 做零售网站智慧建筑信息平台
  • 山西住房建设厅官方网站建设部建造师网站
  • 加大门户网站安全制度建设wordpress切换数据库
  • 百度代理服务器株洲seo优化
  • 即刻搜索网站提交入口网站中的打赏怎么做的