笔记: Xen VM 里面的 MySQL 服务器优化

标签: Free software Systems Admin mysql Xen | 发表时间:2012-10-15 16:45 | 作者:raynix
出处:http://raynix.info

我一直都对公司 Xen VM 的数据库服务器不满, 因为实在是太慢了. 但是几百个 GB 的商业数据我可不敢动, 于是先在测试服务器上证实一下我的想法. 测试环境是:

  • Dom0: Debian 6 Xen Hypervisor 64-bit, Xen 4.0
  • DomU: Debian 6  64-bit
  • MySQL server 5.1, innodb_file_per_table, pool=1GB, log=256MB
  • 硬盘就是普通的 SATA 7200RPM, VM 用的是 LVM 分区

然后我用之前写的一个小程序做批量更新, 32K 记录. 缺省配置下, 运行时长达到24分钟, 而优化后则只需要27秒. 差不多60倍?? 我都有点不敢相信了. 下面是对应的配置和测试数据. 每次更改配置后都会重启 MySQL, 因此不大可能是缓存在起作用.

Updating 32606 records (client table), InnoDB table, autocommit=true, file_per_table, pool=1GB, log=256MB

Default(Xen):
real 24m46.195s
TPS 21.9

(Xen)With innodb_flush_method=O_DIRECT
real 24m45.024s
TPS 21.95

(Xen)With innodb_flush_method=O_DIRECT, innodb_flush_log_at_trx_commit=0
real 0m37.873s
TPS 860.9

(Xen)With innodb_flush_method=O_DSYNC, innodb_flush_log_at_trx_commit=0
real 0m27.352s
TPS 1192

看来 innodb_flush_log_at_trx_commit 是关键, 按照文档设置为 0 的话每秒 flush 一次, 而不是每个 transaction.

通过实验, 我的判断基本被验证, 看来 Xen 对于磁盘 IO 的额外开销还真不小. 有机会还是把数据库直接跑在真刀真枪的物理层吧.

:)


© raynix for #raynix's notes, 2012. | Permalink | 唉, 一个评论都没 | Add to del.icio.us
Post tags: ,

Feed enhanced by Better Feed from Ozh

相关 [笔记 xen vm] 推荐:

笔记: Xen VM 里面的 MySQL 服务器优化

- - #raynix's notes
我一直都对公司 Xen VM 的数据库服务器不满, 因为实在是太慢了. 但是几百个 GB 的商业数据我可不敢动, 于是先在测试服务器上证实一下我的想法. 硬盘就是普通的 SATA 7200RPM, VM 用的是 LVM 分区. 然后我用之前写的一个小程序做批量更新, 32K 记录. 缺省配置下, 运行时长达到24分钟, 而优化后则只需要27秒.

VM將可跨LAN移轉

- MorrisC - iThome Online
思科與VMware合作,推出跨LAN進行VMotion的新網通技術VXLAN(Virtual Extensible LAN),改變原先IEEE 802.1Q用於辨識位於不同LAN虛擬機器的封包格式,從12位元增加為24位元,可記錄更多的封包資訊,以分辨不同網段.

Xen 的漫漫人生路

- Nowings - 开源小厨
[友情提示] 一不小心,这篇文章写的又臭又长,连我自己都不忍卒观,请您见谅. 在 Linus 明确表示 Linux Kernel 3.0 只是一个版本号的改变,而非里程碑式的飞跃后,许多人对此表达了失望,一个没有重量级功能的新版本似乎配不上这个新的版本号. 不过对有些人来说,其中的一个新功能或许可以担的上这个重任,那就是 Xen 的 block backend driver.

Xen 虚拟机架构

- - 博客园_知识库
  Xen 是一个基于开源软件组织的虚拟机监控器(即 Virtual Machine Monitor 简称 VMM),可以允许在单一的物理机器上同时运行多个操作系统实例.   虚拟计算机的概念最早由 IBM 公司在上世纪六七十年代提出,并将其运用于 VM/370 系统中以共享昂贵的大型机系统(Main Frame).

虚拟机Oracle VM VirtualBox安装windows8

- - 牛B博客 niub.us
昨天晚上微软公布了Windows 8 Release Preview下载地址:. 中文(简体)32 位 (x86)(2.48 GB) http://iso.esd.microsoft.com/WRPDL/D29D6C5B1D8AF956B5DA9DF738CFD92DFD4F6C8FB/Windows8-ReleasePreview-32bit-ChineseSimplified.iso.

Java HotSpot VM中的JIT编译

- - 并发编程网 - ifeve.com
原文地址 译者:郭蕾 校对:丁一. 本文是Java HotSpot VM and just-in-time(JIT) compilation系列的第一篇. Java HotSpot虚拟机是Oracle收购Sun时获得的,JVM和开源的OpenJDK都是以此虚拟机为基础发展的. 如同其它虚拟机,HotSpot虚拟机为字节码提供了一个运行时环境.

java 1.6.0_38-b05 vm 20.13-b02优化手记

- - 五四陈科学院-坚信科学,分享技术
以下内容由 [五四陈科学院]提供. rose框架(底层是spring). -Xmx5000M // max的heap的大小. -Xms5000M // min的heap的大小,就是一初始给的大小,不够先GC,还不够再加,直到max. -Xmn2000M //young区的大小,一般来讲:heap=Y+O,P是额外的值.

VM性能的快速测试方法

- - 婉兮清扬
前段时间陆续发布了一些对公有云服务性能评测的数据. 经常有同行问我怎么样去做这些性能评测. 其实这些性能评测都很简单,任何一个具备Linux基础知识的工程师都可以完成. 我们通常使用UnixBench来评估虚拟机整机性能,mbw来评估内存性能,iozone来评估磁盘IO性能,iperf来评估网络性能,pgbench来评估数据库性能.

xen 虚拟机安装教程

- - MySQLOPS 数据库与运维自动化技术分享
大家都知道现在市场有很多虚拟机都是基于xen的,本篇文章不讨论xen的原理,我们先讨论下虚拟化的使用场景.. 以及虚拟化虚拟化应用场景限制.. 一.虚拟化适用的场景:. 1.对I/O性能或响应要求不是很高,如云IaaS基础服务等. 2.物理机匮乏,开发测试等. 二.虚拟化应用场景限制:. 1.使用半虚拟或全虚拟化的主机在其运行有高I/o需求的应用程序的情况.

dell T110 安装xen 虚拟化

- - CSDN博客系统运维推荐文章
利用xen安装Windows虚拟机. 由于Windows的引导方式与Linux不同,所以安装过程需要虚拟光驱的支持. 这里介绍利用virt-manager工具安装Windows虚拟机的步骤,这些步骤也可以用于安装Linux虚拟机. 要注意的是,Windows内核无法定制,不支持xen的半虚拟化,因此,必须得到CPU和主板的硬件虚拟化支持,如果所用平台不支持硬件虚拟化,那么安装将失败.