美文网首页网络already
【网络】一次徒手全链路性能分析

【网络】一次徒手全链路性能分析

作者: Bogon | 来源:发表于2022-07-28 00:10 被阅读0次

强调徒手是缺少工具和监控,强调全链路是不纠缠某段代码、业务逻辑的问题,而是需要找到问题瓶颈在哪个环节上。


场景描述

某客户通过PTS(一个打压力工具)来压选号业务(HTTP服务在9108端口上),一个HTTP请求对应一次select seq-id 和 一次insert

PTS端看到RT900ms+,QPS大概5万(期望20万), 数据库代理服务 rt 5ms,QPS 10万+


调用链路

pts发起压力 -> 5个eip -> slb -> app(300个容器运行tomcat监听9108端口上) -> slb -> 数据库代理服务集群 -> RDS集群

问题

性能不达标,怀疑数据库代理服务或者RDS性能不行,作为数据库需要自证清白,所以从RDS和数据库代理服务开始分析问题在哪里。

app业务方也尝试过增加app容器对性能没啥提升,所以怀疑问题在数据库上

分析过程

这里缺各个环节的RT监控,所以定位不了哪个环节瓶颈了

先到app服务上抓到数据库代理服务上的包,快速确认下从app到后端有没有瓶颈,如图1

重点在如何分析图1的数据,我从图1可以得到 数据库代理服务 RT是 15ms,也就是单连接的TPS是1000/15=70, 实际一条连接一秒钟才给后面发20个请求。

所以结论是后端能扛40万 QPS,压力没有从app服务打给后端

继续在app上抓包,这次抓服务端口9108的响应时间(如图2),分析如图1,结论是压力根本就没有打到9108上

临门一脚得结论

如图2,netstat 一看就知道问题在app服务前面,总结在图4

这次只是在各种监控缺乏的场景下,如何借助最原始的手段来有理有据地甩锅,其实核心理论在图1的分析过程,也是能力的体现,这后面是对并发、RT、QPS的理解。

图1 图2 图3 图4

参考 

Learn X in Y minutes

https://learnxinyminutes.com/

10+倍性能提升全过程–优酷账号绑定淘宝账号的TPS从500到5400的优化历程

https://plantegg.github.io/2018/01/23/10+%E5%80%8D%E6%80%A7%E8%83%BD%E6%8F%90%E5%8D%87%E5%85%A8%E8%BF%87%E7%A8%8B/

相关文章

  • 【网络】一次徒手全链路性能分析

    强调徒手是缺少工具和监控,强调全链路是不纠缠某段代码、业务逻辑的问题,而是需要找到问题瓶颈在哪个环节上。 场景描述...

  • 使用 requestId 标记全链路日志

    标记全链路日志有助于更好的解决 bug 和分析接口性能,本篇文章使用 node 来作为示例 代码示例 本文地址 g...

  • 2022年 读书清单

    1、测试技术-性能性能测试实战 30 讲高楼的性能工程实战课 doing全链路压测实战30讲 todo性能工程高...

  • 分布式链路追踪实践(一) - 分布式链路追踪方案对比

    分布式链路追踪(全链路追踪)是分布式系统或者微服务架构中服务监控、性能优化的有效手段。分布式链路追踪有 Jaege...

  • 爬取淘宝商品+可视化(上篇)

    全链路数据分析思路 数据分析学习,就要全链路的学习,就是从获取数据源,到数据清洗,再到数据分析,可视化的展现, 一...

  • 全链路压测含义

    全链路性能测试是基于真实的用户场景、实际线上环境、按照既定流量、对各个业务链路进行压力测试的过程。通常是在生产环境...

  • OkHttp 全链路 网络监控

    前言 移动互联网时代,极大部分的APP都需要依赖Server来获取数据,如果因为网络请求慢或者请求失败,导致用户无...

  • 3.14:全链路跟踪

    本文将从以下三个方面阐述全链路跟踪设计与实践 为什么要做全链路跟踪 怎么做全链路跟踪 开源框架选型 为什么要做全链...

  • 全链路压测文档汇总

    一文带你了解携程第四代全链路测试系统 全链路压测方案梳理 全链路监控(一):方案概述与比较 微服务:全链路压测和容...

  • 基于JavaAgent的全链路监控一《嗨!JavaAgent》

    全链路监控又名分布式监控系统全链路追踪,目前市面的全链路监控系统基本都是参考Google的Dapper(大规模分布...

网友评论

    本文标题:【网络】一次徒手全链路性能分析

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