drbd mysql性能_drbd性能测试

当前已经有应用在使用DRBD,没有过多的关注性能,准备对性能做个测试。

一. 硬件环境:

192.168.2.38 DELL 2950

192.168.2.39 DELL 2950

硬盘:4 x 146G + 2 x 300G SAS 做RAID1+0

硬盘详细信息如下:

scsi0 : LSI SAS based MegaRAID driver

Vendor:

SEAGATE Model:

ST3146855SS Rev: S527

Vendor:

SEAGATE Model:

ST3146855SS Rev: S527

Vendor:

SEAGATE Model:

ST3146855SS Rev: S527

Vendor:

SEAGATE Model:

ST3146855SS Rev: S527

Vendor:

SEAGATE Model:

ST3300657SS Rev: ES02

Vendor:

SEAGATE Model:

ST3300657SS Rev: ES02

二. 软件环境:

drbd83-8.3.2-6.el5_3.x86_64.rpm

kmod-drbd83-8.3.2-6.el5_3.x86_64.rpm

sysbench-0.4.12(make install)

三. 利用sysbench进行OLTP测试:

sysbench --test=oltp \

--num-threads=4 \

--oltp-table-size=10000 \

--mysql-host=localhost \

--db-driver=mysql --mysql-port=5555 \

--mysql-socket=/tmp/mysql5555.sock \

--mysql-user=root \

--mysql-password=jackbillow \

--mysql-db=test \

--mysql-table-engine=myisam run

上面的参数中,mysql使用myisam engine进行测试.

在DRBD机器执行消耗时间:

20.1039s

在硬盘执行消耗时间:

20.5973s

sysbench --test=oltp --num-threads=4 \

--oltp-table-size=10000 \

--mysql-host=localhost \

--db-driver=mysql \

--mysql-port=5555 \

--mysql-socket=/tmp/mysql5555.sock \

--mysql-user=root \

--mysql-password=jackbillow \

--mysql-db=test \

--mysql-table-engine=innodb prepare

上面的参数中,mysql使用innodb engine进行测试.

在DRBD机器执行消耗时间:

6.6680s

在硬盘执行消耗时间:

6.2485s

注:my.cnf使用的参数不够优化,但两次测试使用相同的cnf文件,测试中使用的参数比较小,为了减少等待时间.

四.

利用sysbench针对IO进行测试:sysbench --test=fileio

--file-num=1000 --file-total-size=5G --file-block-size=16384

--num-threads=1 --file-test-mode=rndwr run

利用1000个文件,总共5G,每个文件5.12M,1个线程,每个文件块大小16K,测试随机写。

在DRBD机器执行消耗时间:

0.2861s

在硬盘执行消耗时间:

0.0783s

sysbench --test=fileio --file-num=1000 --file-total-size=10G

--file-block-size=16384 --num-threads=1 --file-test-mode=rndwr

run

利用1000个文件,总共10G,每个文件10.24M,1个线程,每个文件块大小16K,测试随机写。

在DRBD机器执行消耗时间:

1.7098s

在硬盘执行消耗时间:

1.4850s

sysbench --test=fileio --file-num=100 --file-total-size=20G

--file-block-size=16384 --num-threads=1 --file-test-mode=rndwr

run

利用100个文件,总共20G,每个文件204.8M,1个线程,每个文件块大小16K,测试随机写。

在DRBD机器执行消耗时间:

58.5059s

在硬盘执行消耗时间:

56.2888s

sysbench --test=fileio --file-num=100 --file-total-size=100G

--file-block-size=16384 --num-threads=4 --file-test-mode=rndwr

run

利用100个文件,总共100G,每个文件1G,4个线程,每个文件块大小16K,测试随机写。

在DRBD机器执行消耗时间:

24.1317s

在硬盘执行消耗时间:

20.5762s

注:上面只写出了随机IO的写操作测试结果,对随机IO的读和顺序IO的读写也测试了一下,表现和上面表现差不多。

四.

利用dd,hdpram命令测试结果显示如下:

1.没有做DRBD时:

利用hdparm测试硬盘速度:

[root@localhost jackbillow]# hdparm -Tt /dev/sda7

/dev/sda7:

Timing cached

reads: 11436 MB

in 2.00 seconds = 5726.02 MB/sec

Timing buffered disk reads: 1120 MB in 3.00 seconds = 373.32 MB/sec

利用dd测试硬盘速度:

[root@localhost jackbillow]# time dd of=aaa if=/dev/zero

count=10240000

10240000+0 records in

10240000+0 records out

5242880000 bytes (5.2 GB) copied, 52.8158 seconds, 99.3 MB/s

real 0m52.951s

user 0m2.475s

sys 0m32.107s

2.部署了DRBD时:

利用hdparm测试硬盘速度:

[root@localhost jackbillow]# hdparm -Tt /dev/drbd0

/dev/drbd0:

Timing cached

reads: 11500 MB

in 2.00 seconds = 5757.92 MB/sec

HDIO_DRIVE_CMD(null) (wait for flush complete) failed:

Inappropriate ioctl for device

Timing buffered disk reads: 1120 MB in 3.00 seconds = 372.94 MB/sec

HDIO_DRIVE_CMD(null) (wait for flush complete) failed:

Inappropriate ioctl for device

利用dd测试硬盘速度:

[root@localhost jackbillow]# time dd of=aaa if=/dev/zero

count=10240000

10240000+0 records in

10240000+0 records out

5242880000 bytes (5.2 GB) copied, 38.4402 seconds, 136 MB/s

real 0m38.448s

user 0m2.526s

sys 0m35.319s

五.

初始化时速度最高能达到200M/s,详细信息如下:

[root@localhost ~]# cat /proc/drbd

version: 8.3.2 (api:88/proto:86-90)

GIT-hash: dd7985327f146f33b86d4bff5ca8c94234ce840e build by

mockbuild@v20z-x86-64.home.local,

2009-08-29 14:07:55

0: cs:SyncSource ro:Primary/Secondary

ds:UpToDate/Inconsistent C r----

ns:39072404

nr:0 dw:0 dr:39080032 al:0 bm:2383 lo:10 pe:12 ua:248 ap:0 ep:1

wo:b oos:509475156

[>....................] sync'ed: 3.3% (497532/514352)M

finish: 0:40:26 speed: 209,600 (114,064) K/sec

[root@localhost data0]# cat /proc/drbd

version: 8.3.2 (api:88/proto:86-90)

GIT-hash: dd7985327f146f33b86d4bff5ca8c94234ce840e build by

mockbuild@v20z-x86-64.home.local,

2009-08-29 14:07:55

0: cs:SyncSource ro:Primary/Secondary

ds:UpToDate/Inconsistent C r----

ns:111762420

nr:0 dw:8742152 dr:103028648 al:6895 bm:6334 lo:1 pe:11 ua:246 ap:0

ep:1 wo:b oos:437769472

[==>.................] sync'ed: 16.9%

(427508/514352)M

finish: 0:33:39 speed: 216,408 (106,884) K/sec

version: 8.3.2 (api:88/proto:86-90)

GIT-hash: dd7985327f146f33b86d4bff5ca8c94234ce840e build by

mockbuild@v20z-x86-64.home.local,

2009-08-29 14:07:55

0: cs:SyncSource ro:Primary/Secondary

ds:UpToDate/Inconsistent C r----

ns:194591000

nr:0 dw:8742152 dr:185856824 al:6895 bm:11470 lo:20 pe:7 ua:252

ap:0 ep:1 wo:b oos:354940752

[=====>..............] sync'ed: 32.7%

(346620/514352)M

finish: 0:26:59 speed: 218,936 (109,960) K/sec

六.

write近30G的文件,花费时间大约4分钟,能达到120M/S,iowait大约8-18之间,负载大约2左右:

[root@db38 jackbillow]# time dd of=aaa if=/dev/zero

count=52400000

52400000+0 records in

52400000+0 records out

26828800000 bytes (27 GB) copied, 223.127 seconds, 120 MB/s

real 3m43.226s

user 0m12.916s

sys 3m7.123s

10.71.20.38:

12:27:07 PM CPU %user %nice %sys

%iowait %irq %soft %steal %idle intr/s

12:27:08 PM all 0.75 0.00 17.46 16.08 1.25 2.49 0.00 61.97 20398.02

12:27:09 PM all 0.87 0.00 17.23 10.99 1.12 2.87 0.00 66.92 20371.29

12:27:10 PM all 0.62 0.00 17.60 17.60 1.37 2.87 0.00 59.93 20082.00

12:27:11 PM all 0.75 0.00 17.25 10.00 1.38 3.25 0.00 67.38 21685.86

12:27:12 PM all 0.87 0.00 16.60 14.86 1.50 3.25 0.00 62.92 20861.00

12:27:13 PM all 0.75 0.00 16.85 9.74 1.25 2.87 0.00 68.54 20162.00

12:27:14 PM all 0.75 0.00 16.90 9.01 1.38 2.50 0.00 69.46 20828.00

12:27:15 PM all 0.87 0.00 17.21 9.85 1.25 2.87 0.00 67.96 20808.00

12:27:16 PM all 0.62 0.00 17.23 10.36 1.12 3.00 0.00 67.67 20282.18

12:27:17 PM all 0.87 0.00 17.48 16.23 1.37 2.62

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Re: MySQL 高可用工具 DRBD 实战部署详解 ========================================# DRBD 是什么(用三句话总结) 目的:类似于 rsync + inotify 数据目录(/data)变化时,实现数据同步 功能:类似于本地磁盘阵列 raid-1,保持磁盘或者分区的一致性,但最终的目的是(/data)数据目录的一致性。 原理:类似于MySQL的主从复制,一份写在磁盘中,一份写在二进制日志中;DRBD原理也是一份写在磁盘中,另一份通过DRBD软件,经过tcp/ip协议,基于block变化,传输到远程磁盘中做记录。 # DRBD 的功能 Distributed Replicated Block Divice(缩略:DRBD)(分布式复制块设备) 基于高可用 HA 服务器之间的数据同步解决方案 基于块设备在不同的高可用服务器之间同步和镜像数据的软件,通过它可以实现在网络中的两台服务器之间基于“块”(block)设备级别的实时或异步镜像或同步复制(【原理】:类似MySQL主从复制) # DRBD 的目的 类似于DRBD ≈(rsync + inotify)的架构:单inotify基于文件系统‘上层’,当文件系统中有数据发生变化,就调用 rsync 服务,将文件系统中的文件同步到备库。 但是DRBD是基于文件系统底层(主要区别),即 block 块级别的更‘底层’,而 inotify是在文件系统之上的实际物理文件(文件复制),因此DRBD效率更高(类似克隆方式 GHOST 克隆软件)! 相对而言:(rsync + inotify)工作原理(效率低...)... # DRBD 的应用 heartbeat + DRBD + nfs/mfs/gfs    下章演示... heartbeat + DRBD + mysql    本章演示... heartbeat + DRBD + oracle   甚至放弃 Oracle 原厂 RAC + DataGuard 等标配 HA方案        

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值