性能测试初分析

定位-----分析
分析-----定位

基于数据分析,跟性能相关的数据
数据越全面,观测到的数据越充分,推断的结果越准确




流量大--负载均衡服务器nginx--转发到多个应用服务器

数据量大--数据库服务器主从分离,一主多从,多主多从,主库负责写,从库负责读
读操作是大于写的
拆库分表解决单表数据量大的问题

流量为什么是漏斗原理
如果数据是从redis缓存取的怎么避免命中查询缓存
主库需要扩吗

mysql的数据最终是落盘的
redis,memchache的数据在内存里,redis的查询速度是mysql的几十倍
必须保证redis高的命中率


1 搞清楚整个系统架构图 /拓扑图
2. 结合架构图/拓扑图搞清楚被测请求的 完整请求链路
3 获取完整请求链路上的性能监控数据 进行问题分析
4 排查法


如何分析性能:

1. 硬件维度(cpu mem io)
2. 网络tcp
3. 容器 (tomcat,)
4. 代码质量(代码质量,数据库连接池)
5. 数据库性能
6. 编译语言特性(jvm)


如果你的测试结果跟开发不一致并且日志里面记录的时间比较小:
1. 开发和测试使用的工具,脚本,测试方式,对比排查
2. 服务日志里不包括client-service建立连接的时间,一一般是从接受请求-中间处理-返回结果的时间,
所以日志中的时间会比较小

如果sql耗时比较大,问题可能出现在数据库性能,网络,cpu,mem,io,数据库连接池
如果接口耗时计较大,问题可能出现在应用服务器cpu,mem,io,代码质量,jvm
如果工具耗时比较大,其他ok,问题可能出现在负载服务器的cpm,mem,io,网络,tcp,
线程池,应用服务器的cpu,mem,io
posted @ 2022-04-07 16:56  LDM_datos  Views(41)  Comments(0Edit  收藏  举报