阿里云主机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 ...
随机推荐
- (一)《Java编程思想》学习——按位运算符、移位运算符
(第三章) (一)按位运算符 按位逻辑运算符有: “与”(AND) & 1&1=1;1&0=0;0&0=0 “或”(OR) | 1|1=1;1|0=1;0 ...
- $(document).ready(); $().ready(); $()
$(document).ready(function(){}); $().ready(function(){}); $(function(){}), 三者效果是一样的,在文档加载完成之后执行()中的代 ...
- 找两个string[ ]里不同的元素
方法 1:string[] strListOne = new string[] {"Type", "Parent Id","Status"} ...
- OpenXML_导入Excel到数据库
(1).实现功能:通过前台选择.xlsx文件的Excel,将其文件转化为DataTable和List集合 (2).开发环境:Window7旗舰版+vs2013+Mvc4.0 (2).在使用中需要用到的 ...
- Xcode使用xib拖线时出现: could not insert new outlet connection
解决方法: 1.在新建类的时候没有选择将这个类加入到对应的"Target"中. 2.重新将文件加入项目 操作步骤就是选中出问题的.m和.h文件,点删除键,然后选"Remo ...
- cocos2dx SpriteBatchNode 精灵的渲染优化类
用处是减少对精灵的渲染次数,用法如下 SpriteFrameCache::getInstance()->addSpriteFramesWithFile("person.plist&qu ...
- VC实用小知识总结 (一),转http://blog.csdn.net/myiszjf/article/details/10007431
在上一篇中,我们以经介绍了程序的流程和框架,在本篇将详细讨论各个功能的实现主要包括 1.获取磁盘信息2.获取目录信息3.获取文件信息4.运行指定文件5.删除指定文件6.删除指定目录7.创建指定目录8. ...
- Html5 学习之 Html5功能判断插件 Modernizr
---恢复内容开始--- Modernizr 浏览器对HTML5和CSS3开发的功能检测类库 由于当前用户使用的浏览器版本较多,对H5和CSS3的支持也各不相同.前端的开发者,在使用一些新的特性的时候 ...
- Centos common software install
1.本地安装soft yum localinstall xxx.rpm 2.kolourpaintyum install kolourpaint
- Spring ioc 原理
java程序员都知道:java程序中的每个业务逻辑至少需要两个或以上的对象来协作完成,通常,每个对象在使用他的合作对象时,自己均要使用像new object() 这样的语法来完成合作对象的申请工作.你 ...