测试数据报告/Day7

测试数据报告/Day7

关于我简历内数据吞吐量“2-3”倍怎么来的这回事

一、测试目标

  • 验证本项目秒杀接口在“异步链路(Kafka)”与“同步链路(直落库)”下的性能差异。
  • 在可接受延迟目标下评估可用吞吐量。
  • 本轮最终对比口径采用:HTTP p95 < 300ms

二、测试对象

  • 接口:POST /voucher-order/seckill/{id}
  • 券ID:voucher_id=1
  • 压测脚本:k6_seckill_ab.js

三、测试环境

  • 时间:2026-03-18(本地)
  • 后端:hmdp-core-service 本地 java -jar 启动,端口 8085
  • 中间件:Docker 启动 MySQL(3306) / Redis(6379) / Kafka(9092)
  • 压测工具:k6 v1.6.1
  • 数据准备:
    • 秒杀券库存调到 200000
    • 活动时间窗口设为当前有效
    • 清理秒杀相关 Redis key,避免旧缓存干扰

四、测试流程

  1. 启动中间件与后端,校验 actuator/health=UP
  2. 调整券库存、时间窗口并清缓存。
  3. 冒烟验证:发验证码 -> 登录 -> 下单 成功。
  4. 跑异步链路压测。
  5. 为保证“同步 vs 异步”同代码可比,加了链路开关并切到同步链路压测。
  6. 逐档调整 VUS,找到 p95 < 300ms 的可用上限。

五、关键实现与参数说明

  • 新增链路开关:seckill.order.mode=sync|async
    文件:VoucherOrderServiceImpl.java
  • 压测过程使用了临时运行参数(未改配置文件):
    • -Dseckill.access.token.enabled=false
    • -Drate-limit.*=100000(放开限流,避免入口限流掩盖链路能力)
  • 脚本使用 per-vu-iterations,每个虚拟用户下单 1 次。

六、测试规模

  • 异步链路测试档位:VUS=100/250/280/320
  • 同步链路测试档位:VUS=30/40/45/50/100

七、结果展示

异步链路(Kafka):

  • VUS=280http_req_duration p95=297.8msbiz_success_total=280biz_success_rate≈132.37/s
  • VUS=320p95=355.19ms(超 300ms)

同步链路(直落库):

  • VUS=45http_req_duration p95=249.62msbiz_success_total=45biz_success_rate≈58.84/s
  • VUS=50p95=415.64ms(明显超 300ms)

p95 < 300ms 的可用点对比:

  • 异步可用上限约 VUS=280
  • 同步可用上限约 VUS=45
  • 并发承载比:280 / 45 ≈ 6.2x
  • 成功业务速率比(k6 biz_success_total 速率):132.37 / 58.84 ≈ 2.25x(2-3倍)

八、结论

  • 在本次同环境、同接口、同数据规模下,异步链路显著优于同步链路。
  • 若以 p95 < 300ms 作为准入标准:
    • 异步链路可用吞吐明显更高,业务成功速率约为同步的 2.25x
    • 并发可承载上限约为同步的 6.2x

九、产物文件

  • 脚本:k6_seckill_ab.js
  • 关键结果:
真实数据
业务成功吞吐量
p95延迟

十、备注

  • 当前压测是“下单链路”能力评估,不包含完整支付回调闭环吞吐。

Read more

Agent Ai全栈开发记录

Agent Ai全栈开发记录

持续更新 star感谢! GitHub - xianingawa-wq/context-verify-agent: Contract Review AgentContract Review Agent. Contribute to xianingawa-wq/context-verify-agent development by creating an account on GitHub.GitHubxianingawa-wq 关于该Agent系统的想法 该系统灵感由大创项目而来 具体目标是 RAG + MCP 的合同校审Agent 我将该项目扩大为公司内部合同校审的SaaS平台 写完这一版后把后端平台重构为Java来承接 并尝试使用RPC进行调用 这样我的RPC也有了真实的使用场景 模型(现在先调api 以后美美白嫖老师的服务器用ollama): Qwen-max Qwen-text-embedding-v4 Qwen-rerank-v3 关于基础 看了一点hello agent 也多了解了一下概念之类的东西 觉得亲手做更好更沉浸理解本质 所以开始做 我认为这种就是

By XnLemon

面经

腾讯PCG-大数据ai平台一面 处女面 50min 面试官人超级好 可惜我真的软脚然后答偏/答不出来还给自己挖坑乱跳.... 1.自我介绍 2.有没有用过你刚刚讲过的一些技术去实现一些项目之类的?(java技术栈+常用中间件) 夏柠从这里开始节奏直接爆炸,引到了第二个虽然是自己写过的 但是拷打会很去死的项目 3.你从rpc提到了微服务,你知道有哪些比较常见的微服务架构? 其实我简历上根本没写微服务相关而且我也没学过 引到这里纯粹是节奏爆炸了 答了springcloud 4.springcloud常用的模块? 5.你做的这个rpc项目的框架是怎么做的,你怎么去思考如何做一个rpc项目的(从最小可用开始 服务消费者 -> rpcrequest -> 序列化到注册中心并负载均衡找到一个实例 -> 序列化服务名和方法名反射调用 -> 服务提供者) 6.服务提供者某个节点挂了怎么办?答的主动下线有钩子 被动挂掉有心跳机制 7.如果节点挂掉了,但是心跳机制还没发现这个时间段中间 调用方法正好调用到这个实例怎么办?(设置连接超时和请求超时,避免一直卡住。

By XnLemon

Day4 / 5

这两天脑子昏昏的 感觉就是笔试题害怕出hot100之外然后写不上然后被卡 但是越刷脑子越昏越不想思考 是不是有点太累了 day4去了招聘会 感觉能碰到门槛的其他厂也挺不错的 好像不一定要冲很高。 想了一会打算回去更新一波简历让各位大佬能看到确实有不一样的地方 那就足够了 我的代码能力可能是真的很差?已经在保持手感了刷一次忘一次是真的很难过 我觉得更应该去理解开发流程和项目 正常开发时候代码量什么的也不会很爆炸...? 打算今天把脑子放松一会

By XnLemon