obsidian/笔记文件/2.笔记/centos 7服务器压力测试.md
2025-05-23 17:04:49 +08:00

2.3 KiB
Raw Blame History

#杂七杂八常识

压力测试,可以使用go的hey工具需要先安装golang环境然后htop和iftop分别是用来监控硬件性能和网络性能的如果要安装的话需要先安装好额外的软件库参考centos 7 额外软件库

yum install -y golang htop iftop

安装完成后,输入htop可以监控硬件性能

!Pasted image 20250523161626.png

iftop可以监控网络性能相关

!Pasted image 20250523161715.png

然后可以通过go环境安装hey压力测试工具再顺便设置一下go到linux的环境变量使能一共3条指令

go install github.com/rakyll/hey@latest
echo 'export PATH=$PATH:$HOME/go/bin' >> ~/.bashrc
source ~/.bashrc

这里是测试发送性能监控数据通过hey指令

hey -n 100000 -c 500 -m POST \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "appId=10000" \
  -d "uid=player_1234" \
  -d "isEditor=No" \
  -d "sys=Android 13" \
  -d "model=SM-G991B" \
  -d "device=Galaxy S21" \
  -d "cpuCoreCount=8" \
  -d "gpuMemorySizeMB=8096" \
  -d "currentFPS=57" \
  -d "targetFPS=60" \
  -d "ver=2.1.3" \
  -d "scene=level_5" \
  -d "luaMemoryMB=32.1" \
  -d "totalMemoryMB=6144" \
  -d "usedMemoryMB=2873" \
  -d "score=85" \
  -d "graphicsDeviceName=Adreno 660" \
  -d "processorType=Snapdragon 888" \
  -d "fpsData=player_1234,57,60,2024-05-21T14:30:00|player_1234,55,60,2024-05-21T14:30:01" \
  http://192.168.1.177:82/collect

指令解析参考:

!Pasted image 20250523162718.png

复制后通过xshell打开虚拟机直接粘贴即可

!Pasted image 20250523162047.png

!Pasted image 20250523162219.png

直接敲击回车即可

!Pasted image 20250523162237.png

处理完成后,会生成一份性能报告:

!Pasted image 20250523162324.png

性能报告解析:

!Pasted image 20250523162426.png

!Pasted image 20250523162434.png

QPS计算

!Pasted image 20250523162542.png

服务端逻辑,是分割字符,然后写入数据库的

!Pasted image 20250523163435.png

查询数据一共发起了10万次请求写入然后总数据量20万是符合预期的

!Pasted image 20250523163631.png

SELECT COUNT(*) FROM `performance_2025-05-23`;

!Pasted image 20250523163557.png