链接
https://help.aliyun.com/document_detail/405018.html
阿里云团队已经把里面的benchmarksql.tar.gz已经对mysql进行定制,比较方便
Mycat2在只涉及单库分表或一个mysql,无论使用XA还是Proxy都能通过TPC-C测试,因为事务仍然是本地事务
导入数据使用下面命令//tpcc_load [server] [DB] [user] [pass] [warehouse]server:数据库 IPDB:数据库名称user:用户名pass:密码warehouse:仓库数量# ./tpcc_load 127.0.0.1 8066 tpcc root 123456 10
运行测试
# ./tpcc_start --help****************************************** ###easy### TPC-C Load Generator ******************************************./tpcc_start: invalid option -- '-'Usage: tpcc_start -h server_host -P port -d database_name -u mysql_user -p mysql_password -w warehouses -c connections -r warmup_time -l running_time -i report_interval -f report_file -t trx_file
# ~/tpcc-mysql/tpcc_start -h 127.0.0.1 -P 8066 -d tpcc -u root -p 123456 -w 10 -c 10 -r 120 -l 300 -f /tmp/tpcc_mysql.log -t /tmp/tpcc_mysql.rtx
或者
cd benchmarksql/run./runBenchmark.sh props.mysql
建表语句
CREATE DATABASE if not exists tpcc;USE tpcc;CREATE TABLE config (cfg_name VARCHAR(30) PRIMARY KEY,cfg_value VARCHAR(50));CREATE TABLE warehouse (w_id INTEGER NOT NULL,w_ytd DECIMAL(12,2),w_tax DECIMAL(4,4),w_name VARCHAR(10),w_street_1 VARCHAR(20),w_street_2 VARCHAR(20),w_city VARCHAR(20),w_state CHAR(2),w_zip CHAR(9),PRIMARY KEY (w_id)) dbpartition BY HASH(`w_id`);CREATE TABLE district (d_w_id INTEGER NOT NULL,d_id INTEGER NOT NULL,d_ytd DECIMAL(12,2),d_tax DECIMAL(4,4),d_next_o_id INTEGER,d_name VARCHAR(10),d_street_1 VARCHAR(20),d_street_2 VARCHAR(20),d_city VARCHAR(20),d_state CHAR(2),d_zip CHAR(9),PRIMARY KEY (d_w_id, d_id)) dbpartition BY HASH(`d_w_id`);CREATE TABLE customer (c_w_id INTEGER NOT NULL,c_d_id INTEGER NOT NULL,c_id INTEGER NOT NULL,c_discount DECIMAL(4,4),c_credit CHAR(2),c_last VARCHAR(16),c_first VARCHAR(16),c_credit_lim DECIMAL(12,2),c_balance DECIMAL(12,2),c_ytd_payment DECIMAL(12,2),c_payment_cnt INTEGER,c_delivery_cnt INTEGER,c_street_1 VARCHAR(20),c_street_2 VARCHAR(20),c_city VARCHAR(20),c_state CHAR(2),c_zip CHAR(9),c_phone CHAR(16),c_since TIMESTAMP,c_middle CHAR(2),c_data VARCHAR(500),PRIMARY KEY (c_w_id, c_d_id, c_id)) dbpartition BY HASH(`c_w_id`);CREATE sequence hist_id_seq;CREATE TABLE history (hist_id INTEGER,h_c_id INTEGER,h_c_d_id INTEGER,h_c_w_id INTEGER,h_d_id INTEGER,h_w_id INTEGER,h_date TIMESTAMP,h_amount DECIMAL(6,2),h_data VARCHAR(24)) dbpartition BY HASH(`h_w_id`);CREATE TABLE new_orders (no_w_id INTEGER NOT NULL,no_d_id INTEGER NOT NULL,no_o_id INTEGER NOT NULL,PRIMARY KEY (no_w_id, no_d_id, no_o_id)) dbpartition BY HASH(`no_w_id`);CREATE TABLE `orders` (o_w_id INTEGER NOT NULL,o_d_id INTEGER NOT NULL,o_id INTEGER NOT NULL,o_c_id INTEGER,o_carrier_id INTEGER,o_ol_cnt INTEGER,o_all_local INTEGER,o_entry_d TIMESTAMP,PRIMARY KEY (o_w_id, o_d_id, o_id)) dbpartition BY HASH(`o_w_id`);CREATE TABLE order_line (ol_w_id INTEGER NOT NULL,ol_d_id INTEGER NOT NULL,ol_o_id INTEGER NOT NULL,ol_number INTEGER NOT NULL,ol_i_id INTEGER NOT NULL,ol_delivery_d TIMESTAMP,ol_amount DECIMAL(6,2),ol_supply_w_id INTEGER,ol_quantity INTEGER,ol_dist_info CHAR(24),PRIMARY KEY (ol_w_id, ol_d_id, ol_o_id, ol_number)) dbpartition BY HASH(`ol_w_id`);CREATE TABLE item (i_id INTEGER NOT NULL,i_name VARCHAR(24),i_price DECIMAL(5,2),i_data VARCHAR(50),i_im_id INTEGER,PRIMARY KEY (i_id)) dbpartition BY HASH(`i_id`);CREATE TABLE stock (s_w_id INTEGER NOT NULL,s_i_id INTEGER NOT NULL,s_quantity INTEGER,s_ytd INTEGER,s_order_cnt INTEGER,s_remote_cnt INTEGER,s_data VARCHAR(50),s_dist_01 CHAR(24),s_dist_02 CHAR(24),s_dist_03 CHAR(24),s_dist_04 CHAR(24),s_dist_05 CHAR(24),s_dist_06 CHAR(24),s_dist_07 CHAR(24),s_dist_08 CHAR(24),s_dist_09 CHAR(24),s_dist_10 CHAR(24),PRIMARY KEY (s_w_id, s_i_id)) dbpartition BY HASH(`s_w_id`);
参考
https://www.cnblogs.com/lfri/p/10735739.html
https://help.aliyun.com/document_detail/405018.html
