压测

压测流程规范:

1. 压测机器申请

压测域名: 询问运维人员

压测机器: 看公司使用的服务器

     例如:服务机器(和线上机器一致(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相关信息;


需要熟悉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, 内存观察信息, 可用来做结果分析;


4. 数据分析

a. 接口优化压测:

对比接口优化前后在各个压测参数下的qps, 响应时间, tomcat线程数, gc最大时间, error异常情况;

b. 新上线业务接口:

计算该接口在线上能承受的最大qps, 响应时间, 异常压测出现的error

c. 性能瓶颈分析

对于线上出现cpu告警, 内存告警, 磁盘告警, 502告警等问题, 需要考虑分析系统的性能瓶颈, 瓶颈可能存在

于网络, cpu, 内存, 以及web服务的处理性能; 对于此类问题, 需要根据线上数据, 进行压测环境模拟, 观察

监控数据, 进行分析;

压测相关知识整理:

监控:

网络流量监控:

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 增加插件

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容

  • 压测流程规范: 1. 压测机器申请 压测域名: press.XXX.com 压测机器: 服务机器(和线上机器一致(...
    Nubin4939阅读 2,117评论 0 1
  • 我们经常需要对程序进行压测,怎么压才合适?压到什么样才说明应用达到了性能瓶颈?用什么指标来衡量才合适?一些指标异常...
    FlySheep_ly阅读 15,505评论 1 11
  • 绘图部分 需要部署gnuplot yum install -y gnuplot 关于绘图相关脚本的使用 TPCC部...
    飞翔的Tallgeese阅读 4,525评论 0 2
  • 去年在某中学代课,一位同是代课老师的年轻同事忐忑跟我说:“老师,我都不知道该怎么让孩子们听我的话。尤其像我这样没经...
    边水临阅读 162评论 0 0
  • 凯东书画阅读 69评论 0 0