Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add benchmark for doris #38

Open
wants to merge 28 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
f298cba
spark benchmark optimize
HuangFru Nov 22, 2022
bc7d84f
polish document and change some settings in config
HuangFru Nov 23, 2022
3d0b850
polish document and change some settings in config
HuangFru Nov 23, 2022
0f14f37
Merge remote-tracking branch 'origin/master'
HuangFru Nov 23, 2022
30cbcf2
polish document and change some settings in config
HuangFru Nov 23, 2022
6315e06
Merge branch 'NetEase:master' into master
HuangFru Nov 23, 2022
f73576c
polish document and change some settings in config
HuangFru Nov 30, 2022
1f179cc
add suffix in java -D param
HuangFru Nov 30, 2022
548493f
add suffix in java -D param
HuangFru Nov 30, 2022
ef861ac
add suffix in java -D param
HuangFru Nov 30, 2022
b7dbbe7
add suffix in java -D param
HuangFru Nov 30, 2022
91410f4
Merge branch 'NetEase:master' into master
HuangFru Nov 30, 2022
dcd04d1
add suffix in java -D param
HuangFru Nov 30, 2022
456fa91
polish doc
HuangFru Nov 30, 2022
170e5d4
Merge branch 'NetEase:master' into master
HuangFru Nov 30, 2022
7bcb87f
polish doc
HuangFru Nov 30, 2022
41cf42b
change spark guidance
HuangFru Dec 1, 2022
ad84fff
Merge branch 'NetEase:master' into master
HuangFru Dec 1, 2022
6a4b8b0
Merge branch 'NetEase:master' into master
HuangFru Dec 1, 2022
2bcb81b
change spark guidance
HuangFru Dec 2, 2022
18d827c
Merge branch 'NetEase:master' into master
HuangFru Dec 2, 2022
b60b09c
change init sql
HuangFru Dec 2, 2022
f62671e
Merge branch 'NetEase:master' into master
HuangFru Dec 5, 2022
274608b
add wait-for-it.sh to waite for service which depends on other service.
HuangFru Dec 5, 2022
c49f919
add wait-for-it.sh to waite for service which depends on other service.
HuangFru Dec 5, 2022
ce47c48
Merge branch 'NetEase:master' into master
HuangFru Dec 6, 2022
2852eaa
Merge branch 'NetEase:master' into master
HuangFru Dec 12, 2022
9ae3a22
add CHBenchmark for doris
HuangFru Feb 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
140 changes: 140 additions & 0 deletions config/doris/sample_chbenchmark_config.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
<?xml version="1.0"?>
<parameters>

<!-- Connection details -->
<type>MYSQL</type>
<driver>com.mysql.cj.jdbc.Driver</driver>
<url>jdbc:mysql://doris:9033/doris_100w_0215?rewriteBatchedStatements=true</url>
<!-- <url>jdbc:mysql://hz11-trino-arctic-0.jd.163.org:3306/icebergdb10w?rewriteBatchedStatements=true</url>-->
<username>root</username>
<password></password>
<isolation>TRANSACTION_READ_UNCOMMITTED</isolation>
<batchsize>128</batchsize>

<!-- Scale factor is the number of warehouses in TPCC -->
<scalefactor>100</scalefactor>

<!-- The workload -->
<!-- Number of terminal per workload -->
<terminals>10</terminals>

<!-- Extra Features (Commented Out) -->
<!-- Can be workload-specific -->
<!-- <terminals bench="tpcc">128</terminals>-->

<!-- Workload-specific options a marked with @bench=[workload_name] -->
<!-- Workload-specific number of terminals -->
<!-- <terminals bench="chbenchmark">2</terminals> -->

<works>
<work>
<!-- 需要测试至少10min左右-->
<time>1800</time>

<!-- <rate bench="tpcc">2000</rate>-->
<rate>200</rate>
<rate bench="tpcc">disabled</rate>

<rate bench="chbenchmark4doris">unlimited</rate>

<!-- NOTE: TPCC workers won't be distributed evenly between warehouses if not all workers are active -->
<!-- <active_terminals>4</active_terminals>-->
<!-- <active_terminals bench="tpcc">128</active_terminals>-->

<!-- Specifies transaction weight for each workload. -->
<weights bench="tpcc">45,43,4,4,4</weights>
<weights bench="chbenchmark4doris">3, 2, 3, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5</weights>

</work>
</works>


<!-- CH specific -->
<transactiontypes bench="chbenchmark4doris">
<transactiontype>
<name>Q1</name>
</transactiontype>
<transactiontype>
<name>Q2</name>
</transactiontype>
<transactiontype>
<name>Q3</name>
</transactiontype>
<transactiontype>
<name>Q4</name>
</transactiontype>
<transactiontype>
<name>Q5</name>
</transactiontype>
<transactiontype>
<name>Q6</name>
</transactiontype>
<transactiontype>
<name>Q7</name>
</transactiontype>
<transactiontype>
<name>Q8</name>
</transactiontype>
<transactiontype>
<name>Q9</name>
</transactiontype>
<transactiontype>
<name>Q10</name>
</transactiontype>
<transactiontype>
<name>Q11</name>
</transactiontype>
<transactiontype>
<name>Q12</name>
</transactiontype>
<transactiontype>
<name>Q13</name>
</transactiontype>
<transactiontype>
<name>Q14</name>
</transactiontype>
<transactiontype>
<name>Q15</name>
</transactiontype>
<transactiontype>
<name>Q16</name>
</transactiontype>
<transactiontype>
<name>Q17</name>
</transactiontype>
<transactiontype>
<name>Q18</name>
</transactiontype>
<transactiontype>
<name>Q19</name>
</transactiontype>
<transactiontype>
<name>Q20</name>
</transactiontype>
<transactiontype>
<name>Q21</name>
</transactiontype>
<transactiontype>
<name>Q22</name>
</transactiontype>
</transactiontypes>

<!-- TPCC specific -->
<transactiontypes bench="tpcc">
<transactiontype>
<name>NewOrder</name>
</transactiontype>
<transactiontype>
<name>Payment</name>
</transactiontype>
<transactiontype>
<name>OrderStatus</name>
</transactiontype>
<transactiontype>
<name>Delivery</name>
</transactiontype>
<transactiontype>
<name>StockLevel</name>
</transactiontype>
</transactiontypes>
</parameters>
1 change: 1 addition & 0 deletions config/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@
<plugin name="chbenchmarkForTrino">com.oltpbenchmark.benchmarks.chbenchmarkForTrino.chbenchmark.CHBenCHmark</plugin>
<plugin name="chbenchmarkForSpark">com.oltpbenchmark.benchmarks.chbenchmarkForSpark.chbenchmark.CHBenCHmark</plugin>
<plugin name="chbenchmark4impala">com.oltpbenchmark.benchmarks.chbenchmark4impala.CHBenCHmark</plugin>
<plugin name="chbenchmark4doris">com.oltpbenchmark.benchmarks.chbenchmark4doirs.CHBenCHmark</plugin>
</plugins>
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/*
* Copyright 2020 by OLTPBenchmark Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/

package com.oltpbenchmark.benchmarks.chbenchmark4doirs;


import com.oltpbenchmark.WorkloadConfiguration;
import com.oltpbenchmark.api.BenchmarkModule;
import com.oltpbenchmark.api.Loader;
import com.oltpbenchmark.api.Worker;
import com.oltpbenchmark.benchmarks.chbenchmark4doirs.queries.Q1;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.ArrayList;
import java.util.List;

public class CHBenCHmark extends BenchmarkModule {
private static final Logger LOG = LoggerFactory.getLogger(CHBenCHmark.class);

public CHBenCHmark(WorkloadConfiguration workConf) {
super(workConf);
}

protected Package getProcedurePackageImpl() {
return (Q1.class.getPackage());
}

@Override
protected List<Worker<? extends BenchmarkModule>> makeWorkersImpl() {
// HACK: Turn off terminal messages
List<Worker<? extends BenchmarkModule>> workers = new ArrayList<>();

int numTerminals = workConf.getTerminals();
LOG.info(String.format("Creating %d workers for CHBenCHMark", numTerminals));
for (int i = 0; i < numTerminals; i++) {
workers.add(new CHBenCHmarkWorker(this, i));
}

return workers;
}

protected Loader<CHBenCHmark> makeLoaderImpl() {
return new CHBenCHmarkLoader(this);
}

}
Loading