The installation and use of flexAsynch testing tool of MySQL clusters

Recommended for you: Get network issues from WhatsUp Gold. Not end users.
A, compile and install flexAsynch
MySQL Cluster performance testing tool Oracle official recommended are DBT2, flexAsynch etc. Here flexAsynch is used, it is a very good NDB testing tool. Because the Oracle does not provide flexAsynch binary file download, only providing the test tool source code in MySQL Cluster source code package, so you must manually compiled MySQL Cluster to get the flexAsynch executable file. The following commands are in RHEL 6.4 root account permissions to run.


1 download
cd /root/Downloads
wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.4.tar.gz
tar -xvzf mysql-cluster-gpl-7.3.4.tar.gz
cd mysql-cluster-gpl-7.3.4



The 2 configuration
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


Before using the cmake configuration, to ensure that libaio-devel is installed in the system, otherwise, execute the following command:
yum install libaio-devel





3 compiler
make VERBOSE=1





4 installation
make install





5 copy
After compiling the installation is complete, flexAsynch located in the /usr/local/mysql/bin directory, copy it to the MySQL Cluster management node /usr/local/mysql/bin directory or other appropriate directory, you can test the performance of MySQL Cluster.
If you are running flexAsynch report can't find some lib library error, you need to add the following to the /etc/profile file:
LD_LIBRARY_PATH=/usr/local/mysql/lib
export LD_LIBRARY_PATH



Two, parameters
-t: The total number of threads to start, the default value is 1

-p: The total number of transactions per thread, the default value is 1

-o: The total number of transactions per cycle, the default value is 500

-l: Total cycle to run, the default value is 1, 0 infinite loop

-load_factor: Load factor in the index, expressed as a percentage(40 ~ 99)

-a: Attribute (the database table column number), the default value is 25

-c: The total number of operations per transaction

-s: Each property size, default is 1 byte (primary key size is 1 bytes, irrespective of the parameter values)

-simple: The use of simple read mode to read the database

-dirty: The use of dirty read mode to read the database

-write: In the insert and update, use writeTuple mode

-n: The use of standard table name

-no_table_create: Don't create the tables in the database

-temp: Create table, but not log

-no_hint: Do not give a transaction coordinator execution where tips

-adaptive: The routing algorithm using adaptive (default)

-force: When the communication is forced to send

-non_adaptive: To send interval time of 10 ms

-local: 1 that each thread has its own node performs; 2 represent more than one node executes each parallel transaction; 3 represent more than one node random execute each parallel transaction

-ndbrecord: Use NDB record

-r: The total number of additional cycles

-insert: The standard table only performs an insert operation

-read: The standard table only read operation

-update: The standard table only perform the update operation

-delete: The standard table only delete operation

-create_table: The standard table only create table operation

-drop_table: The standard table only delete table operation

-warmup_time: Before the start of the preheating time measurement

-execution_time: The measurement is completed execution time

-cooldown_time: After the completion of the cooling time measurement

-table: The total number of standard form, the default value is 0





Frequently used parameters -l (test cycle number), -t (the number of threads), -p (parallel transaction number), -o (number of each cycle of the transaction), -c (number of operations per transaction), so the total number of operating performance test for l*t*p*o*c.


For example, you can perform the following performance test:
/usr/local/mysql/bin/flexAsynch -ndbrecord -temp -con 1 -t 4 -p 10 -a 2 -l 3 -r 2

The performance test based on MySQL cluster the following article structures:




If the following error:
Configuration error: Error: Could not alloc node id at localhost port 1186: Connection done from wrong host ip 127.0.0.1.



Then there is no idle "slot" can accept the connection performance test is established, then need to add more "[MYSQLD]" in the config.ini configuration file management node, can be understood as the management node itself is configured as a SQL node. Can refer to the following information:

Add the following content in the config.ini configuration file, and then restart the MySQL cluster:
[MYSQLD]
NodeId=6
Hostname=192.168.124.141



Results of the performance test for example:




Three, other testing tools
Database Test Suit is a set of database cluster performance testing tool is excellent, DBT-1~5 corresponding to the different usage scenarios to test database cluster.


Database Test 1 (DBT-1: Web Server)
DBT-1 is a transaction based WEB performance testing tool. It can simulate WEB user activity, such as from an online bookstore, browse and purchase of goods. DBT-1 is the transaction processing performance Council (TPC) is a very useful to achieve the TPC-W benchmark test specification. Given a test run results include transactions per second, CPU usage, memory usage, I/O activity.

The GIT link:
git://osdldbt.git.sourceforge.net/gitroot/osdldbt/dbt1



Database Test 2 (DBT-2: OLTP)
DBT-2 is a OLTP transaction performance testing tool. It simulates a wholesale suppliers, there are a number of staff will access the database, update customer information, and check parts inventory. DBT-2 is a very useful TPC-C benchmark test specification of TPC. Given a test run results include transactions per second, CPU usage, memory usage, I/O activity.

The GIT link:
git://osdldbt.git.sourceforge.net/gitroot/osdldbt/dbt2



Database Test 3 (DBT-3: DSS)
DBT-3 can be used for decision support system load test. It consists of a set of business oriented ad-hoc queries and concurrent data modification. DBT-3 is a very useful TPC-H benchmark test specification of TPC.

The GIT link:
git://osdldbt.git.sourceforge.net/gitroot/osdldbt/dbt3



Database Test 4 (DBT-4: Web Services)
DBT-4 can be used to reference the server and the WEB service work load test. It is composed of a series of similar to a B2B transaction environment activities. DBT-4 is a very useful TPC-App benchmark test specification of TPC.

The GIT link:
git://osdldbt.git.sourceforge.net/gitroot/osdldbt/dbt4



Database Test 5 (DBT-5: OLTP)
DBT-5 can be used for the OLTP load test, it simulated a Broker's Firm's activities. DBT-5 is a very useful TPC-ETM benchmark test specification of TPC.

The GIT link:
git://osdldbt.git.sourceforge.net/gitroot/osdldbt/dbt5




Over time will be released for Database Test Suit the use of tutorials, please look!
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download

Posted by Armand at March 22, 2014 - 2:53 AM