[转帖]dd 自动压测与结果解析脚本
测试串行、并发、读、写 4类操作,每类操作又可以指定各种bs及count值,循环压测。每种场景一般执行3次,取平均值。
一、 串行写
-
#!/bin/sh
-
-
bs_list=(256k 1024k 10M 20M 50M 100M 1G)
-
cnt_list=(40000 10000 1000 500 200 100 10)
-
-
for i in {0..6}
-
do
-
-
for j in {0..2}
-
do
-
-
logfile=dd_${bs_list[$i]}_cnt${cnt_list[$i]}_${j}.txt
-
-
echo -e "test ${j} started\n" > $logfile
-
echo -e "started time `date`\n" >> $logfile
-
-
dd if=/dev/zero of=testfile1 bs=${bs_list[$i]} count=${cnt_list[$i]} oflag=direct,nonblock 2>> $logfile
-
-
echo -e "\nfinished time `date`" >> $logfile
-
echo -e "\ntest ${j} finished" >> $logfile
-
sleep 5
-
-
done
-
-
sleep 30
-
done
二、 4并发写
-
#!/bin/sh
-
-
# ddtest_write_conc.sh
-
-
bs_list=(256k 1024k 10M 20M 50M 100M 1G)
-
cnt_list=(40000 10000 1000 500 200 100 10)
-
-
for i in {0..6}
-
do
-
-
for j in {0..2}
-
do
-
-
logfile=dd_conc_${bs_list[$i]}_cnt${cnt_list[$i]}_${j}.txt
-
-
echo -e "test ${j} started\n" > $logfile
-
echo -e "started time `date`\n" >> $logfile
-
-
for conc in {0..3}
-
do
-
{
-
dd if=/dev/zero of=testfile1 bs=${bs_list[$i]} count=${cnt_list[$i]} oflag=direct,nonblock 2>> $logfile
-
} &
-
done
-
-
wait
-
-
echo -e "\nfinished time `date`" >> $logfile
-
echo -e "\ntest ${j} finished" >> $logfile
-
sleep 5
-
-
done
-
-
sleep 30
-
done
三、 串行读
-
#!/bin/sh
-
-
# ddtest_read_serial.sh
-
-
bs_list=(256k 1024k 10M 20M 50M 100M 1G)
-
cnt_list=(40000 10000 1000 500 200 100 10)
-
-
for i in {0..6}
-
do
-
-
for j in {0..2}
-
do
-
-
logfile=dd_${bs_list[$i]}_cnt${cnt_list[$i]}_${j}.txt
-
-
echo -e "test ${j} started\n" > $logfile
-
echo -e "started time `date`\n" >> $logfile
-
-
dd if=testfile1 of=/dev/null bs=${bs_list[$i]} count=${cnt_list[$i]} iflag=direct,nonblock 2>> $logfile
-
-
echo -e "\nfinished time `date`" >> $logfile
-
echo -e "\ntest ${j} finished" >> $logfile
-
sleep 5
-
-
done
-
-
sleep 30
-
done
四、 4并发读
-
#!/bin/sh
-
-
bs_list=(256k 1024k 10M 20M 50M 100M 1G)
-
cnt_list=(40000 10000 1000 500 200 100 10)
-
-
for i in {0..6}
-
do
-
-
for j in {0..2}
-
do
-
-
logfile=dd_conc_${bs_list[$i]}_cnt${cnt_list[$i]}_${j}.txt
-
-
echo -e "test ${j} started\n" > $logfile
-
echo -e "started time `date`\n" >> $logfile
-
-
for conc in {0..3}
-
do
-
{
-
dd if=testfile1 of=/dev/null bs=${bs_list[$i]} count=${cnt_list[$i]} iflag=direct,nonblock 2>> $logfile
-
} &
-
done
-
-
wait
-
-
echo -e "\nfinished time `date`" >> $logfile
-
echo -e "\ntest ${j} finished" >> $logfile
-
sleep 5
-
-
done
-
-
sleep 30
-
done
五、 输出解析
取执行时间
cat dd_* | grep -E 'MB/s|GB/s' | awk '{ print $6 }'
取吞吐量
cat dd_* | grep -E 'MB/s|GB/s' | awk '{ print $8 }'
[转帖]dd 自动压测与结果解析脚本的更多相关文章
- [转帖]dd命令详解
dd命令详解 https://czmmiao.iteye.com/blog/1748748 之前一直对linux的命令很恐惧 现在发现 其实不是那么复杂 要仔细学习就可以了 比如 dd = disk ...
- [转帖] dd 命令图解
dd命令-->dd是disk dump的缩写,指定大小的块拷贝一个文件,同时进行指定的转换,起到一个初始化磁盘的作用 https://blog.csdn.net/jerry_1126/arti ...
- 百度brpc 压测工具rpc_press解析
1. 背景 昨天看到一段brpc中的压测代码rpc_press, 看着不错.整理一下. 发压工具的难点不是发送请求,而是要注意下面的2点: 保证能发出足够的qps,比如上万qps 控制发送合理的qps ...
- 实践作业2:黑盒测试实践——在被测系统上录制脚本 Day 5
1.处理了学生信息管理系统运行的小细节 2.总结了katalon的使用流程如下 a.在Katalon Studio中创建一个自动化测试项目. b.创建一个测试案例,用来写入所有必要的测试步骤 c.编写 ...
- ab压测返回结果解析
Server Software: Apache/2.2.25 (服务器软件名称及版本信息)Server Hostname: localhost (服务器主机名)Server ...
- SSM自测错题解析
试题解析:spring 中bean的作用域有:singleton.session.prototype.request.global Session 试题解析:使用import导入子元素需要用prope ...
- [转帖]Marvell第二代ARM处理器ThunderX2解析
Marvell第二代ARM处理器ThunderX2解析 https://www.cnbeta.com/articles/tech/853137.htm 长久以来,服务器数据中心市场一直被x86 CPU ...
- C语言深度剖析自测题8解析
#include <stdio.h> int main(void) { int a[5] = {1, 2, 3, 4, 5}; int* ptr1 = (int*)(&a ...
- Python Locust对指定网站“一键压测”
[本文出自天外归云的博客园] 前篇 前篇:Python Locust性能测试框架实践 本篇 承上——归纳过程 在前篇的基础上,我们可以利用Locust性能测试框架编写python脚本对指定网站或者接口 ...
- 日新进用户200W+,解密《龙之谷》手游背后的压测故事
2017年3月,腾讯正式于全平台上线了<龙之谷>手游,次日冲到了App Store畅销排行第二的位置,并维持到了现在.上线当日百度指数超过40万,微信游戏平台数据显示预约数780多万,而据 ...
随机推荐
- Log4Shell 漏洞披露已近一年,它对我们还有影响吗?
在 Log4Shell 高危漏洞事件披露几乎整整一年之后,新的数据显示,对全球大多数组织来说,补救工作是一个漫长.缓慢.痛苦的过程. 根据漏洞扫描领先者 Tenable 公司的遥测数据来看,截至今年1 ...
- Consider defining a bean of type 'org.springframework.security.authentication.AuthenticationManager' in your configuration.
Consider defining a bean of type 'org.springframework.security.authentication.AuthenticationManager' ...
- 大数据 - ClickHouse
https://clickhouse.com/ 概念 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库(DBMS),使用 C++语言编写,主要用于在线分析处理查询( ...
- Profile Config 多环境不同配置
应用场景如:我们可以在开发.测试环境中,启用 Swagger,在生产环境中不启用 package com.vipsoft.web.boot.config; import springfox.docum ...
- GPT应用开发:运行你的第一个聊天程序
本系列文章介绍基于OpenAI GPT API开发大模型应用的方法,适合从零开始,也适合查缺补漏. 本文首先介绍基于聊天API编程的方法. 环境搭建 很多机器学习框架和类库都是使用Python编写的, ...
- Grafana--Min step与Resolution
问题: 今天在统计机房请求量的时候,发现时间选择12 hours时还是正常的,但是选择24 hours时就有一些线条出不来,数据也有缺失,如下: 12 hours 24 hours 问了同事,说是数据 ...
- 通义千问预体验,如何让 AI 模型应用“奔跑”在函数计算上?
立即体验基于函数计算部署通义千问预体验: https://developer.aliyun.com/topic/aigc_fc AIGC 浪潮已来,从文字生成到图片生成,AIGC 的创造力让人惊叹,更 ...
- vue Promise的使用
一.Promise是什么? Promise是异步编程的一种解决方案. 二.那什么时候我们会来处理异步事件呢? 1. 一种很常见的场景应该就是网络请求了. 我们封装一个网络请求的函数,因为不能立即拿到结 ...
- 深度学习(三)——Transforms的使用
一.Transforms的结构及用法 导入transforms from torchvision import transforms 作用:图片输入transforms后,可以得到一些预期的变换 1. ...
- 双非本科拿下oppo sp!这位粉丝太强了!
哈喽,大家好,我是仲一.今天分享的是一位双非本科生拿下oppo sp的秋招经验.当时,这位粉丝咨询我offer选择的时候,看到年薪31W这个数字,我以为他是研究生.后来,再三确认了,他确实是本科生. ...