sysbench、iostat测试服务器的iops

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: sysbench、iostat测试服务器的iops

1.对于一台安装mysql数据库的服务器来说比较重要的资源就是iops(I/O per second)与内存,所以在安装部署一台数据库服务器来说最好先测试一下该服务器的iops性能,这里使用sysbench测试。
2.sysbench的安装与使用
下载地址https://github.com/akopytov/sysbench/releases 找到对应版本下载
解压tar包:
cd sysbench
./autogen.sh
./configure
make && make install
3.使用某一目录生成测试文件:
cd /data/test
sysbench --test=fileio --file-num=4 --file-block-size=8k --file-total-size=4G --file-test-mod=rndrd --file-extra-flags=direct --max-requests=0 --time=1200 --threads=4 prepare
--test=fileio ##测试服务器的io性能,还可以测试内存,cpu等
--file-num=4 ##生成4个测试文件
--file-block-size=8k ##文件块大小,这个值最好与mysql数据库的innodb_page_size大小一致
--file-total-size=4G ##4个文件总大小
--file-test-mod=rndrd ##测试随机io读性能,随机io写为rndwr,一般只用测试随机读写io,顺序io性能不测试
--file-extra-flags=direct ##测试文件写入磁盘,跳过缓存,对应mysql中的参数innodb_flush_method=O_DIRECT,直接跳过先写入文件系统缓存,直接落盘。会影响mysql性能,但是可以提高数据安全性.
--max-requests=0##最多请求次数,0表示不限制
--time=1200 ##最大持续时间
--threads=4 ##处理线程数
prepare ##生成文件,对应参数还有run开始测试,cleanup清理测试文件
1
生成对应文件后开始测试,使用run参数
3.开始测试磁盘随机读性能
2
--report-interval=3 每3秒生成一次报告信息
4.在运行sysbench时,通过iostat查看磁盘信息:
3
iostat -xm 3##每3秒刷新一次信息,xm扩展输出信息的单位为m/s
比较重要的值为r/s,w/s,%util这边查看到%util为100.说明磁盘基本满载,达到性能上限.
5.查看sysbench运行完成信息并计算iops值。
4
在上面中,测试的是随机读性能,可以通过这个参数计算出对于数据库比较重要的iops值:
4.67X1024/8(file-block-size)=597 ##磁盘这就是每秒随机读性能,属于比较高的值,正常SSD磁盘基本在300iops,另外在正式环境中应该测试时间设置为一天或两天测试出的值,才是比较准确的.
6.查看服务器磁盘调度算法:
image
这里直接为deadline,无需修改。如果为 noop或cfq建议改为deadline. 修改方法echo deladline >/sys/block/xvde/queue/scheduler

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6天前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
62 32
|
6天前
|
缓存 监控 测试技术
服务器压力测试
【10月更文挑战第11天】服务器压力测试
58 31
|
12天前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
29 4
|
14天前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
41 4
|
14天前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
41 3
|
14天前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
32 1
|
5天前
|
弹性计算 网络协议 Linux
云服务器评估迁移时间与测试传输速度
云服务器评估迁移时间与测试传输速度
|
9天前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
18 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
1月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
167 7
Jmeter实现WebSocket协议的接口测试方法
|
1月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
159 3
快速上手|HTTP 接口功能自动化测试