ubuntu下kvm的磁盘io性能优化步骤

1、virsh shutdown wcltest2

2、virsh edit wcltest2

<driver name='qemu' type='qcow2'/>
<source file='/kvm-data/kvm/wcltest2_os_disk.qcow2'/>
<backingStore/>
<target dev='hda' bus='ide'/>
<alias name='ide0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>

 磁盘优化:

<driver name='qemu' type='qcow2' cache='none' io='native'/>
<target dev='vda' bus='virtio'/>
同时删除
<address type='drive' controller='0' bus='0' target='0' unit='0'/>

3、ubuntu下安装sysbench1.0

wget https://github.com/akopytov/sysbench/archive/1.0.zip -O "sysbench-1.0.zip"
unzip sysbench-1.0.zip
apt-get install automake -y
apt-get install libtool -y
./autogen.sh
./configure --without-mysql
备注( --without-mysql 不编译测试mysql的相关环境)
make
make install

4、io测试随机读写

sysbench --test=fileio --num-threads=50 --file-total-size=2G --file-test-mode=rndrw prepare  准备测试
sysbench --test=fileio --num-threads=50 --file-total-size=2G --file-test-mode=rndrw run 开始测试
sysbench --test=fileio --num-threads=50 --file-total-size=2G --file-test-mode=rndrw cleanup 清除测试文件

物理机执行结果:

File operations:
reads/s: 469.90
writes/s: 312.81
fsyncs/s: 1000.35 Throughput:
read, MiB/s: 7.34
written, MiB/s: 4.89 General statistics:
total time: 10.1041s
total number of events: 18024 Latency (ms):
min: 0.00
avg: 27.86
max: 1047.11
95th percentile: 153.02
sum: 502103.21 Threads fairness:
events (avg/stddev): 360.4800/49.51
execution time (avg/stddev): 10.0421/0.03

 kvm优化前执行结果:File operations:

    reads/s:                      243.34
writes/s: 162.23
fsyncs/s: 513.40 Throughput:
read, MiB/s: 3.80
written, MiB/s: 2.53 General statistics:
total time: 10.1048s
total number of events: 9290 Latency (ms):
min: 0.00
avg: 54.13
max: 769.09
95th percentile: 297.92
sum: 502877.36 Threads fairness:
events (avg/stddev): 185.8000/65.60
execution time (avg/stddev): 10.0575/0.02

 kvm优化后结果:

File operations:
reads/s: 438.57
writes/s: 289.51
fsyncs/s: 911.55 Throughput:
read, MiB/s: 6.85
written, MiB/s: 4.52 General statistics:
total time: 10.1056s
total number of events: 16577 Latency (ms):
min: 0.01
avg: 30.30
max: 311.64
95th percentile: 123.28
sum: 502289.90 Threads fairness:
events (avg/stddev): 331.5400/28.37
execution time (avg/stddev): 10.0458/0.02

 结论:

kvm优化的io随机读写性能达到接近物理机的磁盘io性能

kvm磁盘io优化以及性能测试以及与物理机对比的更多相关文章

  1. nginx 的磁盘IO优化

    磁盘IO优化的几个方面 优化读取 Sendfile 零拷贝.内存盘.SSD盘 减少写入 AIO 增大error_log级别的日志 关闭access_log  压缩access_log 是否启用prox ...

  2. KVM总结-KVM性能优化之磁盘IO优化

    前面讲了KVM CPU(http://blog.csdn.net/dylloveyou/article/details/71169463).内存(http://blog.csdn.net/dyllov ...

  3. MySQL 调优基础(四) Linux 磁盘IO

    1. IO处理过程 磁盘IO经常会成为系统的一个瓶颈,特别是对于运行数据库的系统而言.数据从磁盘读取到内存,在到CPU缓存和寄存器,然后进行处理,最后写回磁盘,中间要经过很多的过程,下图是一个以wri ...

  4. CentOS7.0 内核(3.10.0-123.el7.x86_64)bug导致KVM物理机重启

    一.问题描述 服务器硬件:DELL R720 系统版本:CentOS7.0 内核版本:3.10.0-123.el7.x86_64 故障现象:偶尔会重启 二.问题原因 经查看dmesg日志发现是kern ...

  5. 降低磁盘IO使Oracle性能优化(转)

    文章转自:http://blog.chinaunix.net/uid-26813519-id-3207996.html 硬件方面虽然只占Oracle性能优化的一个方面(另一方面是软件),但是仍不可忽视 ...

  6. 【好书摘要】性能优化中CPU、内存、磁盘IO、网络性能的依赖

    系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上 ...

  7. linux性能优化cpu 磁盘IO MEM

    系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上 ...

  8. 性能优化中CPU、内存、磁盘IO、网络性能的依赖(转)

    关于系统性能优化,推荐一篇不错的博客! 系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试 ...

  9. 磁盘IO概念及优化入门知识

    在数据库优化和存储规划过程中,总会提到IO的一些重要概念,在这里就详细记录一下,对这个概念的熟悉程度也决定了对数据库与存储优化的理解程度,以下这些概念并非权威文档,权威程度肯定就不能说了. 读/写IO ...

随机推荐

  1. 幻想乡三连C:狂飙突进的幻想乡

    题解: 不难发现,对于每一条从$S$到$T$的路径,设其$x.y$的和为$S_x.S_y$,其对答案的贡献是$a\cdot S_x+(1-a)\cdot S_y$,这是一个关于$a$的一次函数.而所有 ...

  2. boost asio中io_service类的几种使用

    io_service类 你应该已经发现大部分使用Boost.Asio编写的代码都会使用几个io_service的实例.io_service是这个库里面最重要的类:它负责和操作系统打交道,等待所有异步操 ...

  3. Redis的安装和配置文件

    实验环境:Centos6.8 Redis版本:3.0.6 下载Redis,并放到/usr/local/soft下: yum -y install gcc automake autoconf libto ...

  4. TP5隐藏url中的index.php

    在public文件夹下,有个.htacess文件,没有则新建一个, 如果已有这个文件,原文件内容如下: <IfModule mod_rewrite.c> Options +FollowSy ...

  5. Ajax调用后台方法报未定义

    需要在web.config中<system.webServer>节点下添加如下内容 <handlers> <add name="ajax" verb= ...

  6. 从Github远程库安装Node.JS

    3)从Github远程库安装Node.JS在这个方法中我们需要一些步骤来把Node.js的从Github上的远程的仓库克隆到本地仓库目录 在开始克隆(克隆)包到本地并且配制之前,我们要先安装以下依赖包 ...

  7. DBVisualizer Pro for mac

    公司使用的是DB2数据库,支持DB2的数据库客户端常用的有DBeaver和DBVisualizer.DBeaver是免费的,但本人电脑安装后,启动一直报错,问题一直没解决就放弃了.改用DBVisual ...

  8. raspberry是个什么玩意

    今天Wilson同学取回一个书本大小的包裹,说买回来一台小电脑,只有信用卡大小! 这是第一次听说和看见raspberry Pi. 一块开发板上有四个USB.一个视频接口.一个音频接口.一个网线接口和电 ...

  9. asp.net core 邮件发送

    由于core不带smpt 所以借助MimeKit 以163邮箱为例 var message = new MimeMessage ();message.From.Add (new MailboxAddr ...

  10. Sharepoint2013商务智能学习笔记之Excel Service服务配置(四)

    第一步,新建Excel Service应用程序 第二步,管理中心,在应用程序管理区域点管理服务应用程序,进入应用程序管理列表, 再点击刚才新建好的ExcelServiceApplication进入ex ...