阿里云主机SSD实例磁盘测试及IO调度算法调整
测试背景及环境说明
阿里云ECS
主机配置:
4C8G
root@zabbix-master:~# grep -i "model name" /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
model name : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
model name : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
model name : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
root@zabbix-master:~#
root@zabbix-master:~# free -m
total used free shared buffers cached
Mem: 8008 7863 144 0 209 6666
-/+ buffers/cache: 987 7020
Swap: 0 0 0
root@zabbix-master:~#
系统盘: SSD优化实例 20GB
数据盘: SSD 300GB
root@zabbix-master:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 254:0 0 20G 0 disk
├─vda1 254:1 0 20G 0 part /
└─vda2 254:2 0 1M 0 part
vdb 254:16 0 300G 0 disk /data
sr0 11:0 1 1024M 0 rom
root@zabbix-master:~#
操作系统:Debian 8.2
root@zabbix-master:~# cat /etc/debian_version
8.2
root@zabbix-master:~#
测试目的
测试阿里云SSD的IO性能(主要是写入),并选取合适的IO调度算法
测试步骤
查看系统支持的IO调度算法
root@zabbix-master:~# dmesg |grep -i scheduler
[ 0.489195] io scheduler noop registered
[ 0.489196] io scheduler deadline registered
[ 0.489447] io scheduler cfq registered (default)
root@zabbix-master:~#
测试系统盘vda
查看vda使用IO调度算法,是cfq
root@zabbix-master:/tmp# cat /sys/block/vda/queue/scheduler
noop deadline [cfq]
root@zabbix-master:/tmp#
测试cfq下vda的写入
root@zabbix-master:/tmp# dd bs=1M count=1024 if=/dev/zero of=/tmp/test.w conv=fdatasync
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,17.1651 秒,62.6 MB/秒
root@zabbix-master:/tmp#
root@zabbix-master:/tmp# du -sh test.w
1.1G test.w
root@zabbix-master:/tmp#
将调整为noop进行测试
root@zabbix-master:/tmp# echo noop > /sys/block/vda/queue/scheduler
root@zabbix-master:/tmp# cat /sys/block/vda/queue/scheduler
[noop] deadline cfq
root@zabbix-master:/tmp#
root@zabbix-master:/tmp# rm -f test.w
root@zabbix-master:/tmp#
root@zabbix-master:/tmp# dd bs=1M count=1024 if=/dev/zero of=/tmp/test.w conv=fdatasync
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,17.5197 秒,61.3 MB/秒
root@zabbix-master:/tmp#
测试数据盘vdb
查看vdb使用IO调度算法,是cfq
root@zabbix-master:/data/dd_test# cat /sys/block/vdb/queue/scheduler
noop deadline [cfq]
root@zabbix-master:/data/dd_test#
测试cfq下vdb的写入
root@zabbix-master:/data/dd_test# dd bs=1M count=1024 if=/dev/zero of=/data/dd_test/test.w conv=fdatasync
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,5.5823 秒,192 MB/秒
root@zabbix-master:/data/dd_test#
root@zabbix-master:/data/dd_test# du -sh test.w
1.1G test.w
root@zabbix-master:/data/dd_test#
调整为noop进行测试
root@zabbix-master:/data/dd_test# echo noop > /sys/block/vdb/queue/scheduler
root@zabbix-master:/data/dd_test# cat /sys/block/vdb/queue/scheduler
[noop] deadline cfq
root@zabbix-master:/data/dd_test#
root@zabbix-master:/data/dd_test# rm -f test.w
root@zabbix-master:/data/dd_test#
root@zabbix-master:/data/dd_test# dd bs=1M count=1024 if=/dev/zero of=/data/dd_test/test.w conv=fdatasync
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,5.73825 秒,187 MB/秒
root@zabbix-master:/data/dd_test#
调整为deadline进行测试
root@zabbix-master:/data/dd_test# echo deadline > /sys/block/vdb/queue/scheduler
root@zabbix-master:/data/dd_test# cat /sys/block/vdb/queue/scheduler
noop [deadline] cfq
root@zabbix-master:/tmp#
root@zabbix-master:/data/dd_test# du -sh test.w
1.1G test.w
root@zabbix-master:/data/dd_test#
root@zabbix-master:/data/dd_test# rm -f test.w
root@zabbix-master:/data/dd_test#
root@zabbix-master:/data/dd_test# dd bs=1M count=1024 if=/dev/zero of=/data/dd_test/test.w conv=fdatasync
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,5.63042 秒,191 MB/秒
root@zabbix-master:/data/dd_test#
顺便测试跨盘(vda-->vdb)读写
root@zabbix-master:/data/dd_test# dd if=/dev/vda1 of=/data/dd_test/test.w bs=1M count=1024 conv=fdatasync
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,18.1907 秒,59.0 MB/秒
root@zabbix-master:/data/dd_test#
测试结果
疑问
最终IO调度算法的选择
参考调优准则:
原因:
将IO调度算法的配置持久化写入
root@zabbix-master:/data/dd_test# grep scheduler /etc/rc.local
echo deadline > /sys/block/vdb/queue/scheduler
root@zabbix-master:/data/dd_test#
--此致--
阿里云主机SSD实例磁盘测试及IO调度算法调整的更多相关文章
- 阿里云主机(aliyun-Linux) x64安装Redis详解
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/97.html?1455870336 如何在Linux上安装Redis呢, ...
- 阿里云主机安装Memcached
http://www.zyuns.com/?page_id=354 前言最近发现阿里云主机在使用中,并发访问量稍大,页面加载速度就很慢.于是学习了一些服务器优化的文章,决定安装Memcached,优化 ...
- 阿里云主机Nginx下配置NodeJS、Express和Forever
https://cnodejs.org/topic/5059ce39fd37ea6b2f07e1a3 AngularJS中文社区即运行在阿里云主机上,本站使用Nginx引擎,为了AngularJS,我 ...
- VisualVM监控远程阿里云主机
一.前言 使用VisualVM监控远程主机,主要是要在远程主机上部署JMX服务和jstat服务,jstat服务的部署花了我半天的时间,而且,网上的资基本都是缺胳膊少腿的,没有一篇是一个整体(行得通的) ...
- 在阿里云主机的Debian操作系统上安装Docker
因为需要新搭建饭团网站,所以需要在阿里云的主机上跑数据库,java环境. 考虑到可扩展性和模块化,所以准备最近流行的docker技术.Docker -- 从入门到实践 阿里云主机1核1G,资源不多,所 ...
- 放弃阿里云主机,选择高性价比Vultr VPS免备案
阿里云主机ECS推广多年后,质量有所改善,但我依然强烈不推荐阿里云主机.考虑性价比带宽速度等因素后,我推荐的vps品牌有vultr和digitalocean,还有大名鼎鼎的linode,是中国用户的最 ...
- 【小技巧解决大问题】使用 frp 突破阿里云主机无弹性公网 IP 不能用作 Web 服务器的限制
背景 今年 8 月份左右,打折价买了一个阿里云主机,比平常便宜了 2000 多块.买了之后,本想作为一个博客网站的,毕竟国内的服务器访问肯定快一些.满心欢喜的下单之后,却发现 http 服务,外网怎么 ...
- 阿里云弹性容器实例产品 ECI ——云原生时代的基础设施
阿里云弹性容器实例产品 ECI ——云原生时代的基础设施 1. 什么是 ECI 弹性容器实例 ECI (Elastic Container Instance) 是阿里云在云原生时代为用户提供的基础计算 ...
- 花1台的钱入手2台【最能抗DDoS】阿里云主机【攻略】
花1台的钱入手2台[最能抗DDoS]阿里云主机[攻略]: 第一步:先申请0元半年 http://click.aliyun.com/m/335/:注:0元机器只有新帐号可申请第二步:再买6折37/月 h ...
随机推荐
- abstract修饰符,具体类与抽象类的区别
abstract修饰符 abstract可以修饰类,表示一个抽象类,注意:抽象类和具体类唯一的区别:类不能创建对象,而具体类是可以创建对象的 1.具体类有构造方法,抽象类也有构造方法 2.具体类可以有 ...
- Oracle除去换行符的方法
Oracle除去换行符的方法 很多数据存进数据库后,可能需要将整条数据取出,并用特殊 符号分割,而且整条数据必须是处于一行,如此,如果数据出现 换行的情况,那么读取时就有问题. 这个时候就 ...
- 服务器重启后Oracle监听服务没有自动启动的解决方案
最近一直在被这样一个问题烦恼,就是服务器断电重启后,Oracle监听服务没有正常自动启动(监听服务已经设置为自启动). 具体是这样的,监听服务设置为开机自启动,Oracle数据库服务设置为开机延时启动 ...
- php 邮件发送代码-php邮件群发
php 邮件发送如何进行的呢? php邮件发送是通过smtp协议进行的. 下面是一个php邮件发送的类的一个函数. 文件下载 function sendmail($to, $from, $subjec ...
- (六)backbone - API学习 - Backbone路由
Backbone路由本质 Backbone路由分为两个大块,Router以及History用户在Router中定义相关规则,然后开启history.start进行路由监控,执行默认的回调所以,Rout ...
- mysql快速入门
一.下载并解压 $ wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-5.5.42-1.el6.x86_64.rpm-bundle.tar 解压后 ...
- JSONP的原理
JSONP的原理 JSONP的最基本的原理是:动态添加一个<script>标签,而script标签的src属性是没有跨域的限制的. <script type="text/j ...
- linux下安装eclipse
最开始的版本OpenSuse + jre-7u25-linux-i586.tar.gz + eclipse-cpp-kepler-R-linux-gtk.tar.gz 配置好java环境后启动ecli ...
- Android学习笔记--Handler用法总结
不错的例子:http://www.cnblogs.com/menlsh/archive/2013/06/07/3125341.html 转自:一叶知秋的博客 http://blog.sina.com. ...
- tomcat文件夹与文件解析
今天看到一篇不错的文章,如下: /bin:存放启动和关闭tomcat的脚本文件: /conf:存放tomcat的各种配置文件,比如:server.xml/ server/lib:存放tomcat服务器 ...