硬盘类型选择

在CentOS7中有IDE、SATA和virtio三种,建议用virtio三种。virtio是半虚拟化的,性能媲美原生。

缓存模式选择

缓存模式有五种,不过常用的只有三种:writethrough、writeback和none。centos默认为none

  • writethrough:数据直接写入硬盘,不使用缓存。优点是操作简单,但写入速度较慢。
  • writeback:数据更新时只写入缓存cache,数据更新时再写入到硬盘。优点是写入速度快;缺点是一旦数据从缓存写入到硬盘的时候发生掉电,数据无法找回。
  • none:数据写入到宿主机的硬盘缓存,性能还行。

性能:writeback > none > writethrough

安全:writethrough > none > writeback

异步AIO读写方式选择

aio分两种:native和thread

  • native:kernel的原生异步IO
  • thread:线程模拟异步,缺点不少。

选择native即可。

硬盘IO调度器选择

目前linux的IO调度器有三种:NOOP、Deadline、CFQ

  • Deadline:用过期时间排序io操作顺序,保证先出现的io请求有最短的延迟时间。适用于读操作较多的场景。
  • NOOP:设计最简单,读写较多时会造成效率降低。
  • CFQ:完全公平队列。性能均衡,但影响数据连续读写。适用于有大量进程的多用户系统。

如果要更改模式:

echo SCHEDULER_NAME > /sys/block/DEVICE_NAME/queue/scheduler
# 示例
echo cfq > /sys/block/sdb/queue/scheduler

[kvm]硬盘IO优化的更多相关文章

  1. kvm磁盘io优化以及性能测试以及与物理机对比

    ubuntu下kvm的磁盘io性能优化步骤 1.virsh shutdown wcltest2 2.virsh edit wcltest2 <driver name='qemu' type='q ...

  2. linux硬盘IO优化相关资料整理

    内核相关参数 相关内核参数,有条件的话可以修改参数测试验证一下. 1./proc/sys/vm/dirty_ratio 这个参数则指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如10%),系统 ...

  3. linux io优化

    场景:xml文件解析入库:并备份 问题:磁盘io异常,经常100%busy: linux io优化方法: 1.修改磁盘挂着参数,修改为writeback模式:对于文件读取频繁的可以设置noatime: ...

  4. Centos硬盘IO性能检测命令iostat[转]

    Centos硬盘IO性能检测命令iostat[转] 在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都 ...

  5. 性能调优3:硬盘IO性能

    数据库系统严重依赖服务器的资源:CPU,内存和硬盘IO,通常情况下,内存是数据的读写性能最高的存储介质,但是,内存的价格昂贵,这使得系统能够配置的内存容量受到限制,不能大规模用于数据存储:并且内存是易 ...

  6. 通过iostat来查看linux硬盘IO性能|实例分析

    iostat查看linux硬盘IO性能 rrqm/s: 每秒进行 merge 的读操作数目.即 delta(rmerge)/s wrqm/s: 每秒进行 merge 的写操作数目.即 delta(wm ...

  7. 用iostat对linux硬盘IO性能进行检测

    近期公司安装了几台DELL PE2650和2850的服务器,统一安装的是RHLE5.132位系统,而服务器的SCSI硬盘都统一做了raid1.公司老总要求对硬盘IO作统一检测报告,在Linux下找了许 ...

  8. Innodb IO优化-配置优化

    作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式: wubingxi#gmail.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究. 对于数据库来讲 ...

  9. KVM虚拟机IO处理过程(二) ----QEMU/KVM I/O 处理过程

    接着KVM虚拟机IO处理过程中Guest Vm IO处理过程(http://blog.csdn.net/dashulu/article/details/16820281),本篇文章主要描述IO从gue ...

  10. dd命令测试硬盘IO

    1.用Linux自带的命令dd测试硬盘IO,如下------------------------------------写: [root@server102 ~]# time dd count= of ...

随机推荐

  1. Pwn系列之Protostar靶场 Stack3题解

    (gdb) disass main Dump of assembler code for function main: 0x08048438 <main+0>: push ebp 0x08 ...

  2. 解决pod健康检查问题

    解决pod健康检查问题 引自:Solving the mystery of pods health checks failures in Kubernetes.原文中的某些描述并不清晰,本文作了调整. ...

  3. Spring AOP 分享

    初级篇 AOP是什么? Aspect-oriented Programming (AOP) 即面向切面编程.简单来说,AOP 是一种编程范式,允许我们模块化地定义横跨多个对象的行为.AOP 可以帮助我 ...

  4. 文心一言 VS chatgpt (13)-- 算法导论3.1 8题 3.2 1题

    八.可以扩展我们的记号到有两个参数n和m的情形,其中的n和m可以按不同速率独立地趋于无穷.对于给定的函数g(n, m),用O(g(n, m))来表示以下函数集: O(g(n, m)) = 对Ω(g(n ...

  5. 2021-09-29:不同路径。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为

    2021-09-29:不同路径.一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" ).机器人每次只能向下或者向右移动一步.机器人试图达到网格的右 ...

  6. [AGC001E] BBQ Hard题解

    Problem [AGC001E] BBQ Hard 计算: \[\sum_{i=1}^{n}\sum_{j=i+1}^n\binom{a_i+b_i+a_j+b_j}{a_i+a_j} \] 其中\ ...

  7. 使用4G通信模块和MQTT协议,完成物联网设备开发。

    使用4G通信模块和MQTT协议,完成物联网设备开发. (1)安装并使用4G模块通信模块,建立microPython开发环境: (2)使用提供的Demo开发例程,使用MQTT传输协议连接阿里或腾讯网站, ...

  8. HTB靶场之Busqueda

    准备: 攻击机:虚拟机kali和win10(常规操作就直接用本机win10来操作了). 靶机:Inject,htb网站:https://www.hackthebox.com/,靶机地址:https:/ ...

  9. 使用 React Three Fiber 和 GSAP 实现 WebGL 轮播动画

    参考:Building a WebGL Carousel with React Three Fiber and GSAP 在线 demo github 源码 效果来源于由 Eum Ray 创建的网站 ...

  10. UCOS II 源码分析一

    再进行ucos操作系统源码分析前,先对ucos源码文件结构说个简单说明,只有掌握了源码文件结构才能在接下来的源码分析中逐渐感受到会当凌绝顶, 一览众山小,最后的感受就是RTOS也不是很神秘!下面以正点 ...