服务端压测流程

2019-03-01  本文已影响0人  Nubin4939

压测流程规范:

1. 压测机器申请

压测域名: press.XXX.com

压测机器: 服务机器(和线上机器一致(2核8G的机器)), 压测机器(32核16G的机器)

获取压测机器ip: @运维配置, 使用xshell之类工具登录到压测机器上进行压测;

2. 压测工具:

wrk之类工具可以作为轻量压测工具, 具体使用见压测资料文档;

demo: wrk 命令 -t 并发线程数,根据机器cpu核心数进行配置,  -c 每个线程发起的http请求连接数 -d 压测持续时间, -timeout 设置请求超时时间并记录

wrk -t2 -c100 -d1m --timeout 5  http:/press.ufotosoft.com/sns/sceneApi/listResource?version=2.17.203&lang=en&sceneId=158&apiLevel=4&compressType=7z&resolution=480&lastStamp=1509179278&eCode=1

阿里云日志:

服务器日志会采集到阿里日志上(包含access访问日志, tomcat线程日志, gc日志, error日志), 可以观察到qps, 响应时间等信息;

账号和密码以及使用方式可找@管理员, 开发人员以及运维人员确认;

控制台地址:http://signin.aliyun.com

服务器状态观察: pingpoint上可以观察到服务具体信息, 包括内存, cpu, jvm相关信息;

账号密码以及使用方式找@管理员, 开发人员确认;

beta地址:

http://54.175.230.211:9192/#/main

需要熟悉Linux的常用命令, 如cd, ls, pwd, top, free, ds, du 等命令, 使用这些命令进行服务器操作;

3. 压测策略

a. 测试空接口, 逐步增加并发请求数, 测试服务处理上限;

b. 测试业务接口, 因为接口有缓存, 为了模仿不同用户访问, 请使用不同参数进行压测;

c. 观察阿里日志, 请指定压测时间, 方便观察qps, 服务处理异常等信息;

d. 压测时, 可在压测机器上使用dstat观察机器状态, 使用pingpoint观察服务的cpu, 内存, jvm虚拟机信息;

e. 请使用excel记录每次压测的参数, wrk 结果, qps, tomcat线程, error, cpu, 内存观察信息, 可用来做结果分析;

压测相关知识整理:

监控:

网络流量监控:

sudo apt install nload  监控机器出入流量, 命令: nload

sudo apt install iftop  监控机器网卡流量: 命令: 通过ifconfig 判断哪个网卡再用, 然后 iftop -i ech0, // ech0 网卡名称

文件句柄数:

ulimit -a, 查看open files, 最大值65535, 不修改会影响socket文件数上限, 导致请求上限较低;

设置文件句柄数: ulimit -n 65535

cpu和内存监控;

压测工具:

tsung:

ubuntu下安装: sudo apt install tsung

tsung 配置文件http_sample.xml:

/usr/share/doc/tsung/examples 对应案例

配置文件详解:

官网地址:

http://tsung.erlang-projects.org/  官网介绍地址

http://tsung.erlang-projects.org/user_manual/conf-file.html  官网配置文件讲解地址

相关概念了解:

系统吞吐量:

系统承压能力, 与request请求对cpu消耗, 磁盘io, 网络传输等紧密相关;

重要指标:

QPS(每秒请求量), TPS(每秒事务量), 并发数(系统同时处理的request请求数或事务数), 响应时间(各个区间的平均响应时间)

关联关系: 并发数 = QPS * 平均响应时间, QPS(TPS) = 并发数/ 平均响应时间;

常用系统监测命令:

top: 系统进程监控, 显示出 CPU 的使用、内存的使用、交换内存、缓存大小、缓冲区大小等;

htop: 升级版top,

安装命令: sudo apt install htop

netstat: 网络统计, -p 显示进程pid, -a 显示端口

netstat -ntlp 查看进程所占端口

netstat -a |more 查看所有的服务端口

vmstat: 用于显示虚拟内存、内核线程、磁盘、系统进程、I/O 模块、中断、CPU 活跃状态等更多信息;

lsof:

iotop: 监控磁盘i/o

安装命令: sudo apt install iotop

iostat: 输入输出统计

安装命令: sudo apt install sysstat

iftop: 网络带宽监控

dstat: 性能监控, dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品

  安装命令: sudo apt install dstat 

  命令介绍: https://linux.cn/article-3215-1.html

  强烈推荐

注: linux相关压测工具使用说明: https://shimo.im/docs/lmimulUb7eUh801R

推荐资料:

https://www.cnblogs.com/wangiqngpei557/p/7953453.html 大佬压测实例

https://lihz1990.gitbooks.io/transoflptg/content/ 强烈推荐

https://blog.csdn.net/MenofGod/article/details/79009646 jmeter 增加插件

上一篇下一篇

猜你喜欢

热点阅读