当前位置:网站首页>2022-07-05 使用tpcc对stonedb进行子查询测试
2022-07-05 使用tpcc对stonedb进行子查询测试
2022-07-06 14:28:00 【帝尊悟世】
目录
摘要:
记录使用tpcc对stonedb进行压测流程
tpcc:
一. 编译
git clone https://github.com/Percona-Lab/tpcc-mysql.git
cd tpcc-mysql/src
make
cd ..
#由于我们测试的是STONEDB引擎,所以需要修改create_table.sql里面的表结构引擎为Atomstore
vim create_table.sql
:%s/InnoDB/STONEDB/g
二. 创建tpcc库
mysql -e “create database tpcc”三. 导入修改过引擎的表结构:
mysql tpcc < create_table.sql四. 导入数据
ln -s /stonedb56/install/tmp/mysql.sock /var/lib/mysql/mysql.sock./tpcc_load -h localhost -d tpcc -u root -P 3306 -w 10五. 执行测试:
./tpcc_start -h localhost -d tpcc -u root -P 3306 -w 10 -c32 -r10 -l60六. 测试数据:
MEASURING START.
10, trx: 0, 95%: 0.000, 99%: 0.000, max_rt: 0.000, 0|0.000, 0|0.000, 0|0.000, 0|0.000
20, trx: 0, 95%: 0.000, 99%: 0.000, max_rt: 0.000, 0|0.000, 0|0.000, 0|0.000, 0|0.000
30, trx: 0, 95%: 0.000, 99%: 0.000, max_rt: 0.000, 0|0.000, 0|0.000, 0|0.000, 0|0.000
40, trx: 0, 95%: 0.000, 99%: 0.000, max_rt: 0.000, 0|0.000, 0|0.000, 0|0.000, 0|0.000
50, trx: 0, 95%: 0.000, 99%: 0.000, max_rt: 0.000, 0|0.000, 0|0.000, 0|0.000, 0|0.000
60, trx: 0, 95%: 0.000, 99%: 0.000, max_rt: 0.000, 0|0.000, 0|0.000, 0|0.000, 0|0.000
STOPPING THREADS
<Raw Results>
[0] sc:0 lt:0 rt:0 fl:0 avg_rt: -nan (5)
[1] sc:0 lt:0 rt:0 fl:0 avg_rt: -nan (5)
[2] sc:0 lt:0 rt:0 fl:0 avg_rt: -nan (5)
[3] sc:0 lt:0 rt:0 fl:0 avg_rt: -nan (80)
[4] sc:0 lt:0 rt:0 fl:0 avg_rt: -nan (20)
in 60 sec.
<Raw Results2(sum ver.)>
[0] sc:0 lt:0 rt:0 fl:0
[1] sc:0 lt:0 rt:0 fl:0
[2] sc:0 lt:0 rt:0 fl:0
[3] sc:0 lt:0 rt:0 fl:0
[4] sc:0 lt:0 rt:0 fl:0
<Constraint Check> (all must be [OK])
[transaction percentage]
Payment: -nan% (>=43.0%) [NG] *
Order-Status: -nan% (>= 4.0%) [NG] *
Delivery: -nan% (>= 4.0%) [NG] *
Stock-Level: -nan% (>= 4.0%) [NG] *
[response time (at least 90% passed)]
New-Order: -nan% [NG] *
Payment: -nan% [NG] *
Order-Status: -nan% [NG] *
Delivery: -nan% [NG] *
Stock-Level: -nan% [NG] *
<TpmC>
0.000 TpmC
子查询:
查询语句:
select
o_carrier_id,
count(*) as order_count
from
orders
where
o_entry_d >= date '1993-07-01'
and o_entry_d < date '2022-07-06' + interval '3' month
and exists (
select
*
from
item
where
i_name = i_data
or i_id > i_price
)
group by
o_carrier_id
order by
o_carrier_id;stonedb执行结果:
mysql> select
-> o_carrier_id,
-> count(*) as order_count
-> from
-> orders
-> where
-> o_entry_d >= date '1993-07-01'
-> and o_entry_d < date '2022-07-06' + interval '3' month
-> and exists (
-> select
-> *
-> from
-> item
-> where
-> i_name = i_data
-> or i_id > i_price
-> )
-> group by
-> o_carrier_id
-> order by
-> o_carrier_id;
+--------------+-------------+
| o_carrier_id | order_count |
+--------------+-------------+
| NULL | 90000 |
| 1 | 21113 |
| 2 | 20850 |
| 3 | 20965 |
| 4 | 20854 |
| 5 | 21050 |
| 6 | 21123 |
| 7 | 21028 |
| 8 | 21062 |
| 9 | 21015 |
| 10 | 20940 |
+--------------+-------------+
11 rows in set (0.26 sec)
mysql> explain select
-> o_carrier_id,
-> count(*) as order_count
-> from
-> orders
-> where
-> o_entry_d >= date '1993-07-01'
-> and o_entry_d < date '2022-07-06' + interval '3' month
-> and exists (
-> select
-> *
-> from
-> item
-> where
-> i_name = i_data
-> or i_id > i_price
-> )
-> group by
-> o_carrier_id
-> order by
-> o_carrier_id \G
*************************** 1. row ***************************
id: 1
select_type: PRIMARY
table: NULL
type: NULL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: NULL
Extra: Impossible WHERE
*************************** 2. row ***************************
id: 2
select_type: SUBQUERY
table: item
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 100000
Extra: Using where with pushed condition (t0) Pckrows: 2, susp. 2 (0 empty 0 full). Conditions: 1
2 rows in set (0.00 sec)
对比mysql的innodb引擎:
mysql版本:
[[email protected] ~]# mysqld --version
/usr/libexec/mysqld Ver 8.0.26 for Linux on x86_64 (Source distribution)
数据:
mysql> select
-> o_carrier_id,
-> count(*) as order_count
-> from
-> orders
-> where
-> o_entry_d >= date '1993-07-01'
-> and o_entry_d < date '2022-07-06' + interval '3' month
-> and exists (
-> select
-> *
-> from
-> item
-> where
-> i_name = i_data
-> or i_id > i_price
-> )
-> group by
-> o_carrier_id
-> order by
-> o_carrier_id;
+--------------+-------------+
| o_carrier_id | order_count |
+--------------+-------------+
| NULL | 90000 |
| 1 | 21218 |
| 2 | 20976 |
| 3 | 20727 |
| 4 | 21098 |
| 5 | 21084 |
| 6 | 20878 |
| 7 | 21114 |
| 8 | 20800 |
| 9 | 21265 |
| 10 | 20840 |
+--------------+-------------+
11 rows in set (0.11 sec)
mysql> explain select
-> o_carrier_id,
-> count(*) as order_count
-> from
-> orders
-> where
-> o_entry_d >= date '1993-07-01'
-> and o_entry_d < date '2022-07-06' + interval '3' month
-> and exists (
-> select
-> *
-> from
-> item
-> where
-> i_name = i_data
-> or i_id > i_price
-> )
-> group by
-> o_carrier_id
-> order by
-> o_carrier_id \G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: item
partitions: NULL
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 92192
filtered: 40.00
Extra: Using where; Using temporary; Using filesort; FirstMatch
*************************** 2. row ***************************
id: 1
select_type: SIMPLE
table: orders
partitions: NULL
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 271048
filtered: 11.11
Extra: Using where; Using join buffer (hash join)
2 rows in set, 1 warning (0.00 sec)
边栏推荐
- 中国1,4-环己烷二甲醇(CHDM)行业调研与投资决策报告(2022版)
- Seata聚合 AT、TCC、SAGA 、 XA事务模式打造一站式的分布式事务解决方案
- 【sdx62】WCN685X将bdwlan.bin和bdwlan.txt相互转化操作方法
- Unity3d minigame-unity-webgl-transform插件转换微信小游戏报错To use dlopen, you need to use Emscripten‘s...问题
- Spatial domain and frequency domain image compression of images
- Assembly and Interface Technology Experiment 6 - ADDA conversion experiment, AD acquisition system in interrupt mode
- Shell product written examination related
- Barcodex (ActiveX print control) v5.3.0.80 free version
- 2500个常用中文字符 + 130常用中英文字符
- [MySQL] online DDL details
猜你喜欢

ZABBIX proxy server and ZABBIX SNMP monitoring

A Mexican airliner bound for the United States was struck by lightning after taking off and then returned safely

About the professional ethics of programmers, let's talk about it from the way of craftsmanship and neatness

labelimg的安装与使用

小满网络模型&http1-http2 &浏览器缓存

每日一题:力扣:225:用队列实现栈

Unity3d Learning Notes 6 - GPU instantiation (1)

二叉(搜索)树的最近公共祖先 ●●

Embedded common computing artifact excel, welcome to recommend skills to keep the document constantly updated and provide convenience for others

GPS从入门到放弃(十三)、接收机自主完好性监测(RAIM)
随机推荐
About the professional ethics of programmers, let's talk about it from the way of craftsmanship and neatness
Maximum product of three numbers in question 628 of Li Kou
Codeforces Round #274 (Div. 2) –A Expression
基于LM317的可调直流电源
小满网络模型&http1-http2 &浏览器缓存
3DMAX assign face map
中国VOCs催化剂行业研究与投资战略报告(2022版)
MongoDB(三)——CRUD
Hardware development notes (10): basic process of hardware development, making a USB to RS232 module (9): create ch340g/max232 package library sop-16 and associate principle primitive devices
GPS从入门到放弃(十一)、差分GPS
i. Mx6ull build boa server details and some of the problems encountered
【sciter Bug篇】多行隐藏
zabbix 代理服务器 与 zabbix-snmp 监控
Wechat red envelope cover applet source code - background independent version - source code with evaluation points function
第4章:再谈类的加载器
What a new company needs to practice and pay attention to
微信红包封面小程序源码-后台独立版-带测评积分功能源码
What is the difference between animators and animators- What is the difference between an Animator and an Animation?
保存和检索字符串
2500 common Chinese characters + 130 common Chinese and English characters