当前位置:网站首页>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)
边栏推荐
- Oracle Performance Analysis 3: introduction to tkprof
- Kohana database
- 3DMAX assign face map
- [线性代数] 1.3 n阶行列式
- Adjustable DC power supply based on LM317
- 硬件開發筆記(十): 硬件開發基本流程,制作一個USB轉RS232的模塊(九):創建CH340G/MAX232封裝庫sop-16並關聯原理圖元器件
- PVL EDI project case
- Maximum product of three numbers in question 628 of Li Kou
- 2020 Bioinformatics | GraphDTA: predicting drug target binding affinity with graph neural networks
- 2500 common Chinese characters + 130 common Chinese and English characters
猜你喜欢

2500 common Chinese characters + 130 common Chinese and English characters

Barcodex (ActiveX print control) v5.3.0.80 free version

Oracle-控制文件及日志文件的管理

2021 geometry deep learning master Michael Bronstein long article analysis

Search element topic (DFS)

Management background --1 Create classification
Learn the principle of database kernel from Oracle log parsing

Seata聚合 AT、TCC、SAGA 、 XA事务模式打造一站式的分布式事务解决方案

硬件开发笔记(十): 硬件开发基本流程,制作一个USB转RS232的模块(九):创建CH340G/MAX232封装库sop-16并关联原理图元器件

C#實現水晶報錶綁定數據並實現打印4-條形碼
随机推荐
2021 geometry deep learning master Michael Bronstein long article analysis
HDU 2008 digital statistics
About the professional ethics of programmers, let's talk about it from the way of craftsmanship and neatness
Adjustable DC power supply based on LM317
[10:00 public class]: basis and practice of video quality evaluation
基于LM317的可调直流电源
[linear algebra] determinant of order 1.3 n
2500 common Chinese characters + 130 common Chinese and English characters
HDU 2008 数字统计
Wechat red envelope cover applet source code - background independent version - source code with evaluation points function
Research and investment strategy report of China's VOCs catalyst industry (2022 Edition)
NetXpert XG2帮您解决“布线安装与维护”难题
MongoDB(三)——CRUD
GPS从入门到放弃(十九)、精密星历(sp3格式)
解决项目跨域问题
GPS from getting started to giving up (XIII), receiver autonomous integrity monitoring (RAIM)
[线性代数] 1.3 n阶行列式
MariaDB database management system learning (I) installation diagram
BarcodeX(ActiveX打印控件) v5.3.0.80 免费版使用
做接口测试都测什么?有哪些通用测试点?