全年铁算盘 六合拳彩开奖结果 本港台现场报码 香港六彩开奖结果 香港马会资料 六和合彩开奖结果
全年铁算盘 24小时首发穿越小说、校园言情小说、都市言情小说在线阅读,所有的言情小说都提供txt免费下载!

2017版:KVM 性能优化之磁盘IO优化

2017-06-11 05:30

  磁盘方面,是用Virtio模式,在CentOS7.1 中,磁盘的类型有IDE 、SATA 以及virtio 三种。磁盘这块也有完全虚拟化和半虚拟化之分。virtio它就是半虚拟化的,最初是由的一个天才级程序员Rusty Russell编写,是一个在hypervisor之上的抽象API接口,它让客户机知道自己运行在虚拟化中,从而与hypervisor一起根据 virtio 标准协作,因此,virtio能让客户机中达到更好的性能(特别是I/O性能)。

  所以大家在选择磁盘模式的时候,注意选择virtio模式,特别是在云里,你制作的虚拟机模版,最好选择virtio模式。

  writethrough:(直写模式)数据直接写入磁盘里,不使用缓存;在数据更新时,同时写入缓存Cache和后端存储。此模式的优点是操作简单;缺点是因为数据修改需要同时写入存储,数据写入速度较慢。

  writeback:(回写模式)在数据更新时只写入缓存Cache。只在数据被替换出缓存时,被修改的缓存数据才会被写到后端存储。此模式的优点是数据写入速度快,因为不需要写存储;缺点是一旦更新后的数据未被写入存储时出现系统掉电的情况,数据将无法找回。

  低于QEMU-KVM1.2的版本kvm默认的cache方式是writethrouh,这种方式是最安全的,不会造成数据的不一致性,但是性能也是最差的。

  其中淡紫色的是 none模式,我们发现它的性能数据几乎很平均,所以选择它是最合适的方式,既安全稳定性能又不错。设置的方法也很简单,直接在XML里定义:driver name=qemu type=qcow2cache=none/ 加上cache=none即可

  Threaded aio : linux用户空间异步IO的实现,其实它不是真正的异步IO,是通过启动一定数量的 blocking IO线程来模拟异步IO。这种实现有不少缺点,毕竟有不少线程开销,还在改进中。

  Deadline I/O scheduler :用过期时间来排序io操作顺序,先出现的io请求有最短的延迟时间,相对于写操作,给读操作更优先的级别,是比较好的一个调度模式。特别适合于读取较多的(比如数据库,Oracle 10G 之类)。

  NOOP (elevator=noop): 这个调度模式会把所有的数据请求直接合并到一个简单的队列里。在有些SAN 下,这个选择可能是最好选择。适用于随机存取设备, 不适合有机械结构的存储器。因为没有优化顺序,会增加额外的寻道时间。属于最简单的一个调度模式,io操作优先级和复杂性,执行完一个再执行一个,如果读写操作繁多的话,就会造成效率降低。

  CFQ I/O scheduler:完全公平队列,是anticipatory模式的替代品,没有过多的做预测性调度,而是根据给定的进程io优先级,直接来分配操作的顺序。这个模式在linux上表现良好,但也许并不是最适合android的io调度模式,太强调均衡,而降低了连续读写数据的性能。适用于有大量进程的多用户系统。

  宝哥,云技术社区专家,资深IT运维工程师,多年IT运维经验,擅长Linux,VMware&Openstack虚拟化,ELK大数据日志分析等运维技术,扎实的一线运维经验,目前在某大型云计算公司担任openstack高级运维工程师。