十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

MySQL集群的flexAsynch测试工具的安装和使用

上一篇 / 下一篇  2014-03-15 20:28:38 / 个人分类:Oracle

文章来源
  • 文章来源:【转载】
一、编译安装flexAsynch
Oracle官方推荐的MySQL Cluster性能测试工具有DBT2,flexAsynch等。此处采用了flexAsynch,它是一种非常好的NDB测试工具。由于Oracle并不提供flexAsynch的二进制文件下载,仅仅在MySQL Cluster的源码包中提供这个测试工具的源码,所以必须手动编译MySQL Cluster才能获得flexAsynch的执行文件。以下命令都是在RHEL 6.4中以root账户权限运行。
 
1. 下载
cd /root/Downloads51Testing软件测试网AG\7_tS9L
wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.4.tar.gz51Testing软件测试网)bX R"j4u*Z4~
tar -xvzf mysql-cluster-gpl-7.3.4.tar.gz
O7X1M,Qd f A0cd mysql-cluster-gpl-7.3.4
 
2. 配置
cmake . -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_NDB_TEST=ON -DWITH_BUNDLED_LIBEVENT=ON -DWITH_BUNDLED_MEMCACHED=ON -DWITH_NDBMTD=ON -DWITH_NDB_TEST=ON
 
在使用cmake进行配置之前,要确保系统中安装了libaio-devel,否则执行以下命令:
yum install libaio-devel
 
 
3. 编译
ri7z$LlT#X3eZ/B0
make VERBOSE=1
 
 
4. 安装
make install
 
 
5. 拷贝
编译安装完成之后,flexAsynch位于/usr/local/mysql/bin目录中,将其拷贝至MySQL Cluster管理结点的/usr/local/mysql/bin目录或者其他合适的目录中,即可对MySQL Cluster进行性能测试
如果运行flexAsynch时报告找不到某些lib库的错误,那么需要添加以下内容到/etc/profile文件中:
LD_LIBRARY_PATH=/usr/local/mysql/lib51Testing软件测试网A toq4d)jUH
export LD_LIBRARY_PATH
 
二、参数说明
-t:想要启动的线程总数,默认值为1
51Testing软件测试网5y e~#t zk"v
-p:每个线程的并行事务总数,默认值为1
51Testing软件测试网#P9[po"q-c
-o:每个循环的事务总数,默认值为500

O5dDt#G t+p,n2T0-l:想要运行的循环总数,默认值为1,0表示无限循环
51Testing软件测试网T H*l'f xb%{Mb
-load_factor:索引中的负载因数,以百分比表示(40 ~ 99)

8Uni}Ub l DN9H0-a:属性(数据库表的列)总数,默认值为25
51Testing软件测试网;Yq{AW6j3\'Q3Zt M
-c:每次事务的操作总数

zg)V*I*s`0-s:每项属性的大小,默认为1字节(主键大小总是为1字节,与这项参数值无关)
51Testing软件测试网9`Pd9em/a
-simple:使用简单读模式来读取数据库
51Testing软件测试网oo6|&r ?q
-dirty:使用脏读模式来读取数据库
51Testing软件测试网~lF4JH t0\K#M*E
-write:在插入和更新时,使用writeTuple模式

0V H+V1Zz+FEQg0-n:使用标准表名

)|bBc FO0-no_table_create:不要在数据库中创建表
51Testing软件测试网4ezr9rb-U9O1_(}%E
-temp:创建表,但不记录日志
51Testing软件测试网B r"En&C,Sk/J\Z
-no_hint:不给出事务处理协调器执行到哪儿的提示

1~ u5j$c"{8ED_5E?V0-adaptive:使用自适应的发送算法(默认选项)

6}:G[8{!S.RdS0-force:当通信时强制发送
51Testing软件测试网:b2} _/} rL4Y
-non_adaptive:以10毫秒的间隔时间发送

|.j{ `;Q;q9I6Q+a.t&K'?0-local:1表示每个线程都有自己的结点执行;2表示多个结点循环执行每个并行事务;3表示多个结点随机执行每个并行事务
51Testing软件测试网e5Bx`4ym-k2F4Q%c!|
-ndbrecord:使用NDB记录
51Testing软件测试网 uF_ Z^H
-r:额外循环的总数
51Testing软件测试网!Mu&f8lql-_ M3qI
-insert:对标准表仅执行插入操作
51Testing软件测试网"te'|&M5IB
-read:对标准表仅执行读操作
51Testing软件测试网ph(X0k^$@3Ci
-update:对标准表仅执行更新操作
51Testing软件测试网y)X6~-Ol8D#d
-delete:对标准表仅执行删除操作
51Testing软件测试网p{ X/?5?sN-b
-create_table:对标准表仅执行创建表操作

%Lm9q U {'`-@0-drop_table:对标准表仅执行删除表操作

+m-J%{YZ$k0-warmup_time:测量开始之前的预热时间
51Testing软件测试网5gl+SVoRB
-execution_time:测量完成时的执行时间
51Testing软件测试网8n$i/u+T9R NF
-cooldown_time:测量完成之后的冷却时间

AIn"E\U0-table:标准表的总数,默认值为0
 
 
常用的参数有-l(测试循环次数)、-t(线程数量)、-p(并行事务数量)、-o(每次循环的事务数量)、-c(每次事务的操作数量),所以性能测试的总操作数量为l*t*p*o*c。
 
例如,可以执行以下性能测试:
/usr/local/mysql/bin/flexAsynch -ndbrecord -temp -con 1 -t 4 -p 10 -a 2 -l 3 -r 2
F;l} w k4dh)V _/?051Testing软件测试网 pMb K8E.?+{ p
上述性能测试基于以下文章搭建的MySQL集群:http://www.linuxidc.com/Linux/2014-03/98118.htm
 
如果出现以下错误:
Configuration error: Error: Could not alloc node id at localhost port 1186: Connection done from wrong host ip 127.0.0.1.
 
那么就说明没有空闲的“slot”可以接受性能测试建立的连接,这时候需要在管理结点的config.ini配置文件中添加更多的“[MYSQLD]”项,可以理解为将管理结点自身也配置为SQL结点。可以参考以下资料:
在config.ini配置文件中添加以下内容,然后重启MySQL集群:
[MYSQLD]51Testing软件测试网{5] KZ?G9Kq:G
NodeId=6
$aKP3X]d9]4S0Hostname=192.168.124.141
 
上述示例性能测试得到的结果为:
51Testing软件测试网oQ,i&@rR${
三、其他测试工具
Database Test Suit也是一套优秀的数据库集群性能测试工具,DBT-1~5分别对应不同的使用场景对数据库集群进行测试。
 
Database Test 1 (DBT-1: Web Server)
DBT-1是一个基于WEB的事务性能测试工具。它会模拟WEB用户的活动,例如从一个在线书店浏览和购买商品。DBT-1是事务处理性能委员会(TPC)的TPC-W基准测试规范的一个十分有用的实现。一次测试运行得到的结果包括每秒事务数、CPU使用率、I/O活动、内存使用率。
51Testing软件测试网'?w*d+Mjm
GIT链接:
git://osdldbt.git.sourceforge.net/gitroot/osdldbt/dbt1
 
Database Test 2 (DBT-2: OLTP)
DBT-2是一个OLTP事务性能测试工具。它模拟一个批发零件供应商,有若干个工作人员会访问数据库,更新客户信息,并且检查零件库存情况。DBT-2是TPC的TPC-C基准测试规范的一个十分有用的实现。一次测试运行得到的结果包括每秒事务数、CPU使用率、I/O活动、内存使用率。

^fy7N_0
GIT链接:
git://osdldbt.git.sourceforge.net/gitroot/osdldbt/dbt2
 
Database Test 3 (DBT-3: DSS)
DBT-3可用于决策支持系统的工作负载测试。它由一套面向业务的ad-hoc查询和并发数据修改组成。DBT-3是TPC的TPC-H基准测试规范的一个十分有用的实现。
51Testing软件测试网T(Mz5Y"C? Q"A
GIT链接:
git://osdldbt.git.sourceforge.net/gitroot/osdldbt/dbt3
 
Database Test 4 (DBT-4: Web Services)
DBT-4可用于引用服务器和WEB服务的工作负载测试。它是由一系列类似于一个B2B交易环境的活动所组成的。DBT-4是TPC的TPC-App基准测试规范的一个十分有用的实现。
51Testing软件测试网7S/H:` e#r5D/y
GIT链接:
git://osdldbt.git.sourceforge.net/gitroot/osdldbt/dbt4
 
Database Test 5 (DBT-5: OLTP)
DBT-5可用于OLTP的工作负载测试,它模拟一个经纪公司的活动。DBT-5是TPC的TPC-ETM基准测试规范的一个十分有用的实现。

Ns(s'qgH8x0
GIT链接:
git://osdldbt.git.sourceforge.net/gitroot/osdldbt/dbt5
 
过段时间会发布Database Test Suit的使用教程,敬请期待

TAG:

 

评分:0

我来说两句

Open Toolbar