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

性能测试-性能测试中的经典面试题二

一、实战场景与问题排查

  1. 经典性能瓶颈定位

    • CPU飙高

      @bash

      top→top -H -p [PID] → printf "%x" [线程ID] → jstack [PID] | grep [十六进制ID]  

      定位到代码方法。

    • 内存泄漏
      jmap -heap 观察老年代占用 → jvisualvm 分析堆转储 → 定位未释放对象。

    • TPS上不去
      检查压力机负载 → 网络带宽 → 中间件连接池 → 外部依赖超时。

  2. 线上问题应急案例

    • MQ消息积压:扩容Consumer → 日志快照 → 复盘根因(如消费逻辑阻塞)。

    • 数据库CPU高:慢SQL分析(EXPLAIN执行计划)→ 索引优化/查询拆分。

四、架构与高阶实践

  1. 全链路压测核心要点

    • 影子库/数据隔离:避免污染生产数据

    • 流量染色:标识测试请求,隔离日志监控

    • 渐进式施压:从10%流量逐步提升。

  2. 性能优化策略

    • JVM层:调整新生代比例(-XX:NewRatio)、避免FGC(-XX:+UseG1GC)

    • 中间件:Tomcat线程池优化(maxThreads ≈ 单核TPS × 响应时间)

    • 缓存策略:Redis抗读并发,DB抗写。

  3. 团队级性能体系建设

    • 左移测试:需求阶段定义性能指标。

    • 自动化流水线:CI集成基准测试。

    • 线上监控:建立实时告警(如TPS下跌30%)。

Q:描述一次性能调优成功案例?
A

在电商大促项目中,压测发现订单提交接口TP50达5秒。
定位:Arthas追踪显示85%耗时在库存查询SQL → 执行计划发现全表扫描。
优化:添加复合索引(product_id + warehouse_id)→ 引入Redis缓存热点库存。
结果:TP50降至200ms,TPS从120提升至600。

 

Q:如何评估线下环境压测数据的线上可信度?
A

  • 配置对齐:CPU/内存/磁盘类型同比例缩放

  • 损耗补偿:网络延迟增加20%~30%冗余

  • 影子流量:复制生产流量模型回放

  • 容量公式:线下单机TPS × 节点数 × 0.7(集群损耗系数)。

http://www.dtcms.com/a/311403.html

相关文章:

  • 超级人工智能+无人机操控系统,振兴乡村经济的加速器,(申请专利应用),严禁抄袭!
  • spring-ai-alibaba 学习(十九)——graph之条件边、并行节点、子图节点
  • linux编译基础知识-库文件标准路径
  • Docker 的网络模式
  • 3 使用 Jenkins 构建镜像:将你的应用打包成镜像
  • 【20min 急速入门】使用Demucs进行音轨分离
  • ffmpeg命令和ffplay命令详解
  • Java高性能编程实践指南
  • ARM Cortex-M异常处理高级特性详解
  • OpenCV 全解读:核心、源码结构与图像/视频渲染能力深度对比
  • [硬件电路-121]:模拟电路 - 信号处理电路 - 模拟电路中常见的难题
  • 网络编程之原始套接字
  • Anthropic:跨越生产效能拐点的AI增长飞轮
  • [硬件电路-123]:模拟电路 - 信号处理电路 - 常见的高速运放芯片、典型电路、电路实施注意事项
  • 淘宝小程序的坑
  • 阿里云部署微调chatglm3
  • 音视频学习(四十七):模数转换
  • 文心4.5开源测评:国产大模型的轻量化革命与全栈突破
  • Unity_数据持久化_C#处理XML文件
  • Ubuntu18网络连接不上也ping不通网络配置问题排查与解决方法
  • Pyspark的register方法自定义udf函数
  • Android13文件管理USB音乐无专辑图片显示的是同目录其他图片
  • JVM 02 垃圾回收
  • PyTorch基础 :三角函数与特殊运算
  • 隧道照明“隐形革命”:智能控制如何破解安全与节能双重命题
  • k8s集群部署(脚本版)
  • 面经——电子电路技术知识详解
  • 【Leetcode hot 100】49.字母异位词分组
  • 详解Python标准库之互联网数据处理
  • winscp 连openwrt 返回127错误码