From 482a25ecc8dfdbe3047727c078888386b8cd2d06 Mon Sep 17 00:00:00 2001 From: shaoxiqian Date: Fri, 2 Jun 2023 11:00:42 +0800 Subject: [PATCH 1/9] doc/tidb-cloud add v.7.10 sysbench test result --- media/tidb-cloud/v.7.1.0-oltp_read_write.png | Bin 0 -> 28804 bytes media/tidb-cloud/v7.1.0-oltp_insert.png | Bin 0 -> 27667 bytes media/tidb-cloud/v7.1.0-oltp_select_point.png | Bin 0 -> 28589 bytes media/tidb-cloud/v7.1.0-oltp_update_index.png | Bin 0 -> 27482 bytes .../v7.1.0-oltp_update_non_index.png | Bin 0 -> 30674 bytes ...-performance-benchmarking-with-sysbench.md | 166 ++++++++++++++++++ 6 files changed, 166 insertions(+) create mode 100644 media/tidb-cloud/v.7.1.0-oltp_read_write.png create mode 100644 media/tidb-cloud/v7.1.0-oltp_insert.png create mode 100644 media/tidb-cloud/v7.1.0-oltp_select_point.png create mode 100644 media/tidb-cloud/v7.1.0-oltp_update_index.png create mode 100644 media/tidb-cloud/v7.1.0-oltp_update_non_index.png create mode 100644 tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md diff --git a/media/tidb-cloud/v.7.1.0-oltp_read_write.png b/media/tidb-cloud/v.7.1.0-oltp_read_write.png new file mode 100644 index 0000000000000000000000000000000000000000..0b56a59afcac0f2f068a6bb9338d2938b1f514cd GIT binary patch literal 28804 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 V97n?RTcwdxUS9Ij!FdT={|@mpC#(Pf literal 0 HcmV?d00001 diff --git a/media/tidb-cloud/v7.1.0-oltp_insert.png b/media/tidb-cloud/v7.1.0-oltp_insert.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ea35235abd5806a0b61d2cbea2bba68b376380 GIT binary patch literal 27667 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 literal 0 HcmV?d00001 diff --git a/media/tidb-cloud/v7.1.0-oltp_select_point.png b/media/tidb-cloud/v7.1.0-oltp_select_point.png new file mode 100644 index 0000000000000000000000000000000000000000..943c7d758762744a7142381b1afc750028c717dd GIT binary patch literal 28589 zcmeFa2UL{Vx+Yv|n;UJj0zxZ=3J8c21PN^d3Irr8QAI^Sa*~WW5ws9NqDmG45s(~A zAV`jqL69htbDC$PC(O*fckaxbfByN``dO>j!M3{UtMA+UeV_F1bN8gY6vHaURTK(^ zfhK)Si9%U2NueyJtXPJBQycfv0ROYnO!~AXg|cNm`Dc-Sa5-M}Cxv$Gu*wyk?~M*x zD%Nv(gX3n|E3U1u*rb@DAMSn8aC3c?{duD|vu`v$zvi~ADk%IBW@KE`chSJ#-~Y6M zpXNn_RPT$N;phBiTzBr=b4@FQl6&EzvrA#IK?g--Pq;^1XItyh;?8NYX5Qj}!{VI| z!jHdyznqS%p-^%RVvK5HH?O9NFZ{9TZOPELgPtx{QCGdL_A*h- zICtVp1?=+|GF3Z#_^P>MKD$rKBbnpJkJqJ`hnO>O+ZJ_o$?~*HSE{Ot%B9(<(OmNg z`9Lihh3)!v({_oy>0vKV#UJtZ_Rck*pPSvZeS4qM5{j$tL);*FznK|Fr-8T2bIm)8 z12aW9Mr<;IcjtBnyTmr8+cM?#)hF-9XY=1BH>hQ+Rd2PNqM~B1`KeRBvK$o3?&ahT z=J0J5FnlEZ8zqM(g~u@PsrCJB)srWm-n+Mool4!q!y})SmDORG9o5rg_^qR(;9Pv9 za)kVms_GK-J;(Z+VZjvqS~Xw`wd zGdS`bxMv>M*lKGB4h;=i4YVA_^+al?+YAl1UX`M_J|?T?;PXvfYF*9qbIJ8QU+L|g zoe>_}5A{@Qni`LJeDxHcid?mN^@W7mhOhO>rZq9iO`NozFYzHkjzcu3(JFQO`Pp%I z5upaN>&qAzL)CTcj@Q32_G&cop`PBmnSIx;o~hnA^=#)^w<&IRUS5S@$DzA|#&w}n zQ}&keBGx^jTyYsgcZ^DhhlfXhr1x_Q38`CKTT5oBMyvIdhuxR-V2<+j-Rg6|FV8T^ zuI$!On>94vlq2&Kc@iV<*Gi;h z&M#WDXexVtT0-0Io44d;tR_Ekr!=ZSN|Vl&)}?LXIUnwBupX<`PxoFzDZY#?N(wby3CRm78yy`rp?ToG2z@R7kb5y9wThdQ zv-}Z$xb3(TKa3jB*&Z_8FU^o$^Wp_(=D@qv?qlkjn$g0R9g!IsT0)Ih zUexiL;zGkD#+rwdxv0B^3`;2dFXDgOvv==_KoM(tc6Ro7tGQV=ZVaugR3U%l;K+|D?5;P>7NDnfbzQ<1NM+Z>H(+%dd6+dn=fGx@ z(PZDto%~z2ZGTf*-<$f8Jc&8Q&OqBB&H2@v_m+*JQ`iHSYz>|t*!$DcpnNxr}2dVA6S&cTC0Myg5*V_Vz> zR1opm5#>hQm0V$|1hdv7-j5$M=3 Z?|oDmXq@r%|mfcKgdoJmq2G$ev1w59T2cL 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 BxJ>{6 literal 0 HcmV?d00001 diff --git a/media/tidb-cloud/v7.1.0-oltp_update_index.png b/media/tidb-cloud/v7.1.0-oltp_update_index.png new file mode 100644 index 0000000000000000000000000000000000000000..44b364d7fa924d849712efa7bb676e66c8842e67 GIT binary patch literal 27482 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 U9u?F<{lxnBPS~vdGZ$w616_ZFaR2}S literal 0 HcmV?d00001 diff --git a/media/tidb-cloud/v7.1.0-oltp_update_non_index.png b/media/tidb-cloud/v7.1.0-oltp_update_non_index.png new file mode 100644 index 0000000000000000000000000000000000000000..5337fd7287cb4b6253ace61c5ac8e077b63e86a3 GIT binary patch literal 30674 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 literal 0 HcmV?d00001 diff --git a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md new file mode 100644 index 0000000000000..2fe2d823aa443 --- /dev/null +++ b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md @@ -0,0 +1,166 @@ +--- +title: TiDB Cloud Sysbench Performance Test Report +summary: Introduce the Sysbench performance test results for TiDB Cloud. +--- + +# TiDB Cloud Sysbench Performance Test Report + +This document provides the Sysbench performance test steps and results for a TiDB Dedicated cluster with the TiDB version of v7.1.0. This report can also be used as a reference for the performance of TiDB v7.1.0 clusters. + +## Test overview + +This test aims at showing the Sysbench performance of TiDB v7.1.0 in the Online Transactional Processing (OLTP) scenario. + +## Test environment + +### TiDB cluster + +The test is conducted on a TiDB cluster with the following settings: + +- Cluster type: [Dedicated Tier](/tidb-cloud/select-cluster-tier.md#dedicated-tier) +- Cluster version: v7.1.0 +- Cloud provider: AWS (us-west-2) +- Cluster configuration: + + | Node type | Node size | Node quantity | Node storage | + |:----------|:----------|:----------|:----------| + | TiDB | 16 vCPU, 32 GiB | 2 | N/A | + | TiKV | 16 vCPU, 64 GiB | 3 | 1000 GiB | + + +### Parameter configuration + + Enabling the below parameter can have a positive impact on performance in the 'oltp_insert','oltp_read_write','oltp_update_index','oltp_update_non_index' scenario. + + Disabling this parameter can potentially improve performance in the 'oltp_point_select' scenario. The 'raft-engine.prefill-for-recycle' parameter is disabled by default. + +#### TiKV parameter configuration + +{{< copyable "" >}} + +```yaml +raft-engine.prefill-for-recycle = true +``` + +#### How to edit tikv config +we recommend contacting our support team. Our support team is available to assist you with parameter modifications according to your specific requirements. + +### Benchmark executor + +The benchmark executor sends SQL queries to the TiDB cluster. In this test, its hardware configuration is as follows: + +- Machine type: Amazon EC2 (us-west-2) +- Instance type: c6a.2xlarge + +## Test steps + +This section introduces how to perform the Sysbench performance test step by step. + +1. In the [TiDB Cloud console](https://tidbcloud.com/), create a TiDB Dedicated cluster that meets the [test environment](#tidb-cluster) requirements. + + For more information, see [Create a TiDB cluster](/tidb-cloud/create-tidb-cluster.md). + +2. On the benchmark executor, connect to the newly created cluster and create a database named `sbtest`. + + To connect to the cluster, see [Connect via Private Endpoint](/tidb-cloud/set-up-private-endpoint-connections.md). + + To create the `sbtest` database, execute the following SQL statement: + + ```sql + CREATE DATABASE sbtest; + ``` + +3. Load Sysbench data to the `sbtest` database. + + 1. The test in this document is implemented based on [sysbench](https://github.com/akopytov/sysbench). You can download the test program using the following command: + + ```shell + curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash + sudo apt -y install sysbench + ``` + + 2. Run the following `sysbench prepare` command to import 32 tables and 10 millons rows to the `sbtest` database. Replace `${HOST}`, `${PORT}`, `${THREAD}`, and `${PASSWORD}` with your actual values. + + ```shell + sysbench oltp_common \ + --threads=${THREAD} \ + --db-driver=mysql \ + --mysql-db=sbtest \ + --mysql-host=${HOST} \ + --mysql-port=${PORT} \ + --mysql-user=root \ + --mysql-password=${PASSWORD} \ + prepare --tables=32 --table-size=10000000 + ``` + +5. Run the following `sysbench run` command to conduct stress tests on the TiDB Dedicated cluster. For each concurrency, the test takes 15 minutes. This document conducts three tests with the `${THREAD}` value of `100`, `200`, and `400`. + + ```shell + sysbench oltp_point_select run \ + --mysql-host=${HOST} \ + --mysql-port=${PORT} \ + --mysql-user=root \ + --db-driver=mysql \ + --mysql-db=sbtest \ + --threads=${THREAD} \ + --time=1200 \ + --report-interval=10 + --tables=32 \ + --table-size=10000000 + --mysql-ignore-errors=1062,2013,8028,9007 \ + --auto-inc=false \ + --mysql-password=${PASSWORD} + ``` + +## Test results + +The Sysbench performance of v7.1.0 in the [test environment](#test-environment) is as follows: +### Point Select performance + +| Threads | TPS | 95% latency (ms)| +|:--------|:----------|:----------| +| 100 | 56,039 | 2.34 | +| 200 | 95,908 | 2.78 | +| 400 | 111,810 | 5.57 | + +![Sysbench](/media/tidb-cloud/v7.1.0-oltp_select_point.png) + +### Read Write performance + +| Threads | TPS | 95% latency (ms)| +|:--------|:----------|:----------| +| 100 | 1,789 | 66.8 | +| 200 | 2,842 | 97.6 | +| 400 | 3,090 | 191 | + +![Sysbench](/media/tidb-cloud/v.7.1.0-oltp_read_write.png) + +### Update Non-index performance + +| Threads | TPS | 95% latency (ms)| +|:--------|:----------|:----------| +| 100 | 7,944 | 16.7 | +| 200 | 13,844 | 19.0 | +| 400 | 29,063 | 20.4 | + +![Sysbench](/media/tidb-cloud/v7.1.0-oltp_update_non_index.png) + +### Update Index performance + +| Threads | TPS | 95% latency (ms)| +|:--------|:----------|:----------| +| 100 | 6,389 | 20 | +| 200 | 12,583 | 22.3 | +| 400 | 22,393 | 25.7 | + +![Sysbench](/media/tidb-cloud/v7.1.0-oltp_update_index.png) + +### Insert performance + +| Threads | TPS | 95% latency (ms)| +|:--------|:----------|:----------| +| 100 | 7,671 | 17.3 | +| 200 | 13,584 | 19.7 | +| 400 | 31,252 | 20 | + +![Sysbench](/media/tidb-cloud/v7.1.0-oltp_insert.png) From 211f0c5fcd2757202f0b9f63a5c9c2c8e550b9a8 Mon Sep 17 00:00:00 2001 From: shaoxiqian Date: Fri, 2 Jun 2023 14:28:35 +0800 Subject: [PATCH 2/9] Update v7.1.0-performance-benchmarking-with-sysbench.md --- ...-performance-benchmarking-with-sysbench.md | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md index 2fe2d823aa443..9d4159537d64e 100644 --- a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md +++ b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md @@ -21,6 +21,7 @@ The test is conducted on a TiDB cluster with the following settings: - Cluster version: v7.1.0 - Cloud provider: AWS (us-west-2) - Cluster configuration: +- Sysbench Version: sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2) | Node type | Node size | Node quantity | Node storage | |:----------|:----------|:----------|:----------| @@ -30,10 +31,10 @@ The test is conducted on a TiDB cluster with the following settings: ### Parameter configuration - Enabling the below parameter can have a positive impact on performance in the 'oltp_insert','oltp_read_write','oltp_update_index','oltp_update_non_index' scenario. - - Disabling this parameter can potentially improve performance in the 'oltp_point_select' scenario. The 'raft-engine.prefill-for-recycle' parameter is disabled by default. + The below parameter can make the log recycling effective immediately after initialization. https://docs.pingcap.com/tidb/dev/tikv-configuration-file#prefill-for-recycle-new-in-v700 + We enabled the below parameter in 'oltp_insert, oltp_read_write , oltp_update_index, oltp_update_non_index' and disabled the below parameter in the 'oltp_point_select' scenario. + #### TiKV parameter configuration {{< copyable "" >}} @@ -78,6 +79,23 @@ This section introduces how to perform the Sysbench performance test step by ste curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash sudo apt -y install sysbench ``` + It is recommended to install sysbench from the official binary packages as described in Installing from Binary Packages. Below are instruction for cases when you want to use sysbench on an architecture for which no binary packages are available. https://github.com/akopytov/sysbench#build-requirements + ### Debian/Ubuntu + ```shell + apt -y install make automake libtool pkg-config libaio-dev + # For MySQL support + apt -y install libmysqlclient-dev libssl-dev + # For PostgreSQL support + apt -y install libpq-dev + ``` + ### RHEL/CentOS + ```shell + yum -y install make automake libtool pkgconfig libaio-devel + # For MySQL support, replace with mysql-devel on RHEL/CentOS 5 + yum -y install mariadb-devel openssl-devel + # For PostgreSQL support + yum -y install postgresql-devel + ``` 2. Run the following `sysbench prepare` command to import 32 tables and 10 millons rows to the `sbtest` database. Replace `${HOST}`, `${PORT}`, `${THREAD}`, and `${PASSWORD}` with your actual values. @@ -93,7 +111,7 @@ This section introduces how to perform the Sysbench performance test step by ste prepare --tables=32 --table-size=10000000 ``` -5. Run the following `sysbench run` command to conduct stress tests on the TiDB Dedicated cluster. For each concurrency, the test takes 15 minutes. This document conducts three tests with the `${THREAD}` value of `100`, `200`, and `400`. +5. Run the following `sysbench run` command to conduct stress tests on the TiDB Dedicated cluster. For each concurrency, the test takes 20 minutes. This document conducts three tests with the `${THREAD}` value of `100`, `200`, and `400`. ```shell sysbench oltp_point_select run \ From 7a27555734eefb04e89506c270e32a4eac71b198 Mon Sep 17 00:00:00 2001 From: shaoxiqian Date: Fri, 2 Jun 2023 14:31:11 +0800 Subject: [PATCH 3/9] Update v7.1.0-performance-benchmarking-with-sysbench.md --- tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md index 9d4159537d64e..5a9f3def25542 100644 --- a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md +++ b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md @@ -21,14 +21,13 @@ The test is conducted on a TiDB cluster with the following settings: - Cluster version: v7.1.0 - Cloud provider: AWS (us-west-2) - Cluster configuration: -- Sysbench Version: sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2) + | Node type | Node size | Node quantity | Node storage | |:----------|:----------|:----------|:----------| | TiDB | 16 vCPU, 32 GiB | 2 | N/A | | TiKV | 16 vCPU, 64 GiB | 3 | 1000 GiB | - ### Parameter configuration The below parameter can make the log recycling effective immediately after initialization. https://docs.pingcap.com/tidb/dev/tikv-configuration-file#prefill-for-recycle-new-in-v700 @@ -44,7 +43,7 @@ raft-engine.prefill-for-recycle = true ``` #### How to edit tikv config -we recommend contacting our support team. Our support team is available to assist you with parameter modifications according to your specific requirements. +We recommend contacting our support team. Our support team is available to assist you with parameter modifications according to your specific requirements. ### Benchmark executor @@ -52,6 +51,7 @@ The benchmark executor sends SQL queries to the TiDB cluster. In this test, its - Machine type: Amazon EC2 (us-west-2) - Instance type: c6a.2xlarge +- Sysbench Version: sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2) ## Test steps From 5d4854ea3c71f4d221a26950bd7562a7904a535e Mon Sep 17 00:00:00 2001 From: shaoxiqian Date: Fri, 2 Jun 2023 14:35:38 +0800 Subject: [PATCH 4/9] Update v7.1.0-performance-benchmarking-with-sysbench.md --- tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md index 5a9f3def25542..1bd1ad58e7a78 100644 --- a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md +++ b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md @@ -30,7 +30,8 @@ The test is conducted on a TiDB cluster with the following settings: ### Parameter configuration - The below parameter can make the log recycling effective immediately after initialization. https://docs.pingcap.com/tidb/dev/tikv-configuration-file#prefill-for-recycle-new-in-v700 + The below parameter can make the log recycling effective immediately after initialization. https://docs.pingcap.com/tidb/dev/tikv-configuration-file#prefill-for-recycle-new-in-v700 + The log recycling is enabled by default in v6.3.0, which can improve the performance of write-heavy scenarios. We enabled the below parameter in 'oltp_insert, oltp_read_write , oltp_update_index, oltp_update_non_index' and disabled the below parameter in the 'oltp_point_select' scenario. @@ -43,6 +44,7 @@ raft-engine.prefill-for-recycle = true ``` #### How to edit tikv config + We recommend contacting our support team. Our support team is available to assist you with parameter modifications according to your specific requirements. ### Benchmark executor From 239e12f64262c1660e439627f928fdf9a056750c Mon Sep 17 00:00:00 2001 From: shaoxiqian Date: Fri, 2 Jun 2023 14:48:10 +0800 Subject: [PATCH 5/9] Update v7.1.0-performance-benchmarking-with-sysbench.md --- tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md index 1bd1ad58e7a78..2602a55a955cb 100644 --- a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md +++ b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md @@ -33,7 +33,7 @@ The test is conducted on a TiDB cluster with the following settings: The below parameter can make the log recycling effective immediately after initialization. https://docs.pingcap.com/tidb/dev/tikv-configuration-file#prefill-for-recycle-new-in-v700 The log recycling is enabled by default in v6.3.0, which can improve the performance of write-heavy scenarios. - We enabled the below parameter in 'oltp_insert, oltp_read_write , oltp_update_index, oltp_update_non_index' and disabled the below parameter in the 'oltp_point_select' scenario. + We enabled the below parameter in 'oltp_insert, oltp_read_write , oltp_update_index, oltp_update_non_index' scenarios and disabled the below parameter in the 'oltp_point_select' scenario. #### TiKV parameter configuration From 5f0cde087db89896fb7d1bb9372f223bb0d3feec Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 5 Jun 2023 19:28:46 +0800 Subject: [PATCH 6/9] refine wording Signed-off-by: Aolin --- TOC-tidb-cloud.md | 1 + ...-performance-benchmarking-with-sysbench.md | 89 ++++++++----------- 2 files changed, 40 insertions(+), 50 deletions(-) diff --git a/TOC-tidb-cloud.md b/TOC-tidb-cloud.md index 8038a878f3265..3e205a2db741a 100644 --- a/TOC-tidb-cloud.md +++ b/TOC-tidb-cloud.md @@ -265,6 +265,7 @@ - [TiDB Limitations](/tidb-limitations.md) - Benchmarks - [TPC-C Performance Test Report](/tidb-cloud/v7.1.0-performance-benchmarking-with-tpcc.md) + - [Sysbench Performance Test Report](/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md) - SQL - [Explore SQL with TiDB](/basic-sql-operations.md) - SQL Language Structure and Syntax diff --git a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md index 2602a55a955cb..bb4d74c9f1407 100644 --- a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md +++ b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md @@ -17,12 +17,11 @@ This test aims at showing the Sysbench performance of TiDB v7.1.0 in the Online The test is conducted on a TiDB cluster with the following settings: -- Cluster type: [Dedicated Tier](/tidb-cloud/select-cluster-tier.md#dedicated-tier) +- Cluster type: [TiDB Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-dedicated) - Cluster version: v7.1.0 - Cloud provider: AWS (us-west-2) - Cluster configuration: - | Node type | Node size | Node quantity | Node storage | |:----------|:----------|:----------|:----------| | TiDB | 16 vCPU, 32 GiB | 2 | N/A | @@ -30,22 +29,23 @@ The test is conducted on a TiDB cluster with the following settings: ### Parameter configuration - The below parameter can make the log recycling effective immediately after initialization. https://docs.pingcap.com/tidb/dev/tikv-configuration-file#prefill-for-recycle-new-in-v700 - The log recycling is enabled by default in v6.3.0, which can improve the performance of write-heavy scenarios. +> **Note:** +> +> To modify the TiKV configuration of your cluster, you can contact the [PingCAP support team](/tidb-cloud/tidb-cloud-support.md) for help. - We enabled the below parameter in 'oltp_insert, oltp_read_write , oltp_update_index, oltp_update_non_index' scenarios and disabled the below parameter in the 'oltp_point_select' scenario. - -#### TiKV parameter configuration +The TiKV parameter [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) can make log recycling effective immediately after initialization. -{{< copyable "" >}} +Enable the [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) parameter in `oltp_insert`, `oltp_read_write` , `oltp_update_index`, and `oltp_update_non_index` tests: ```yaml raft-engine.prefill-for-recycle = true ``` -#### How to edit tikv config +Disable the [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) parameter in the `oltp_point_select` test: -We recommend contacting our support team. Our support team is available to assist you with parameter modifications according to your specific requirements. +```yaml +raft-engine.prefill-for-recycle = false +``` ### Benchmark executor @@ -53,7 +53,7 @@ The benchmark executor sends SQL queries to the TiDB cluster. In this test, its - Machine type: Amazon EC2 (us-west-2) - Instance type: c6a.2xlarge -- Sysbench Version: sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2) +- Sysbench version: sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2) ## Test steps @@ -75,48 +75,26 @@ This section introduces how to perform the Sysbench performance test step by ste 3. Load Sysbench data to the `sbtest` database. - 1. The test in this document is implemented based on [sysbench](https://github.com/akopytov/sysbench). You can download the test program using the following command: - - ```shell - curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash - sudo apt -y install sysbench - ``` - It is recommended to install sysbench from the official binary packages as described in Installing from Binary Packages. Below are instruction for cases when you want to use sysbench on an architecture for which no binary packages are available. https://github.com/akopytov/sysbench#build-requirements - ### Debian/Ubuntu - ```shell - apt -y install make automake libtool pkg-config libaio-dev - # For MySQL support - apt -y install libmysqlclient-dev libssl-dev - # For PostgreSQL support - apt -y install libpq-dev - ``` - ### RHEL/CentOS - ```shell - yum -y install make automake libtool pkgconfig libaio-devel - # For MySQL support, replace with mysql-devel on RHEL/CentOS 5 - yum -y install mariadb-devel openssl-devel - # For PostgreSQL support - yum -y install postgresql-devel - ``` + 1. The test in this document is implemented based on [sysbench](https://github.com/akopytov/sysbench). To install sysbench, see [Building and installing from source](https://github.com/akopytov/sysbench#building-and-installing-from-source). - 2. Run the following `sysbench prepare` command to import 32 tables and 10 millons rows to the `sbtest` database. Replace `${HOST}`, `${PORT}`, `${THREAD}`, and `${PASSWORD}` with your actual values. + 2. Run the following `sysbench prepare` command to import 32 tables and 10,000,000 rows to the `sbtest` database. Replace `${HOST}`, `${PORT}`, `${THREAD}`, and `${PASSWORD}` with your actual values. ```shell sysbench oltp_common \ --threads=${THREAD} \ --db-driver=mysql \ --mysql-db=sbtest \ - --mysql-host=${HOST} \ + --mysql-host=${HOST} \ --mysql-port=${PORT} \ --mysql-user=root \ --mysql-password=${PASSWORD} \ prepare --tables=32 --table-size=10000000 ``` -5. Run the following `sysbench run` command to conduct stress tests on the TiDB Dedicated cluster. For each concurrency, the test takes 20 minutes. This document conducts three tests with the `${THREAD}` value of `100`, `200`, and `400`. +4. Run the following `sysbench run` command to conduct stress tests on the TiDB Dedicated cluster. For each concurrency, the test takes 20 minutes. This document conducts tests on five workloads: `oltp_point_select`, `oltp_read_write`, `oltp_update_non_index`, `oltp_update_index`, and `oltp_insert`. For each workload, this document conducts three tests with the `${THREAD}` value of `100`, `200`, and `400`. ```shell - sysbench oltp_point_select run \ + sysbench ${WORKLOAD} run \ --mysql-host=${HOST} \ --mysql-port=${PORT} \ --mysql-user=root \ @@ -124,9 +102,9 @@ This section introduces how to perform the Sysbench performance test step by ste --mysql-db=sbtest \ --threads=${THREAD} \ --time=1200 \ - --report-interval=10 + --report-interval=10 \ --tables=32 \ - --table-size=10000000 + --table-size=10000000 \ --mysql-ignore-errors=1062,2013,8028,9007 \ --auto-inc=false \ --mysql-password=${PASSWORD} @@ -134,8 +112,11 @@ This section introduces how to perform the Sysbench performance test step by ste ## Test results -The Sysbench performance of v7.1.0 in the [test environment](#test-environment) is as follows: -### Point Select performance +This section introduces the Sysbench performance of v7.1.0 in the [test environment](#test-environment). + +### Point select performance + +The performance on `oltp_point_select` workload is as follows: | Threads | TPS | 95% latency (ms)| |:--------|:----------|:----------| @@ -143,9 +124,11 @@ The Sysbench performance of v7.1.0 in the [test environment](#test-environment) | 200 | 95,908 | 2.78 | | 400 | 111,810 | 5.57 | -![Sysbench](/media/tidb-cloud/v7.1.0-oltp_select_point.png) +![Sysbench point select performance](/media/tidb-cloud/v7.1.0-oltp_select_point.png) -### Read Write performance +### Read write performance + +The performance on `oltp_read_write` workload is as follows: | Threads | TPS | 95% latency (ms)| |:--------|:----------|:----------| @@ -153,9 +136,11 @@ The Sysbench performance of v7.1.0 in the [test environment](#test-environment) | 200 | 2,842 | 97.6 | | 400 | 3,090 | 191 | -![Sysbench](/media/tidb-cloud/v.7.1.0-oltp_read_write.png) +![Sysbench read write performance](/media/tidb-cloud/v.7.1.0-oltp_read_write.png) + +### Update non-index performance -### Update Non-index performance +The performance on `oltp_update_non_index` workload is as follows: | Threads | TPS | 95% latency (ms)| |:--------|:----------|:----------| @@ -163,9 +148,11 @@ The Sysbench performance of v7.1.0 in the [test environment](#test-environment) | 200 | 13,844 | 19.0 | | 400 | 29,063 | 20.4 | -![Sysbench](/media/tidb-cloud/v7.1.0-oltp_update_non_index.png) +![Sysbench update non-index performance](/media/tidb-cloud/v7.1.0-oltp_update_non_index.png) -### Update Index performance +### Update index performance + +The performance on `oltp_update_index` workload is as follows: | Threads | TPS | 95% latency (ms)| |:--------|:----------|:----------| @@ -173,14 +160,16 @@ The Sysbench performance of v7.1.0 in the [test environment](#test-environment) | 200 | 12,583 | 22.3 | | 400 | 22,393 | 25.7 | -![Sysbench](/media/tidb-cloud/v7.1.0-oltp_update_index.png) +![Sysbench update index performance](/media/tidb-cloud/v7.1.0-oltp_update_index.png) ### Insert performance +The performance on `oltp_insert` workload is as follows: + | Threads | TPS | 95% latency (ms)| |:--------|:----------|:----------| | 100 | 7,671 | 17.3 | | 200 | 13,584 | 19.7 | | 400 | 31,252 | 20 | -![Sysbench](/media/tidb-cloud/v7.1.0-oltp_insert.png) +![Sysbench insert performance](/media/tidb-cloud/v7.1.0-oltp_insert.png) From 5badade9d8ba3b653b375b1b9c3216fa01851e4b Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 6 Jun 2023 10:51:26 +0800 Subject: [PATCH 7/9] Apply suggestions from code review Co-authored-by: Grace Cai --- ...-performance-benchmarking-with-sysbench.md | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md index bb4d74c9f1407..4e0868bb3f7c9 100644 --- a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md +++ b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md @@ -31,21 +31,21 @@ The test is conducted on a TiDB cluster with the following settings: > **Note:** > -> To modify the TiKV configuration of your cluster, you can contact the [PingCAP support team](/tidb-cloud/tidb-cloud-support.md) for help. +> For TiDB Cloud, to modify the TiKV parameters of your cluster, you can contact [PingCAP Support](/tidb-cloud/tidb-cloud-support.md) for help. -The TiKV parameter [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) can make log recycling effective immediately after initialization. +The TiKV parameter [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) can make log recycling effective immediately after initialization. This document conducts tests based on different parameter values across several workloads: -Enable the [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) parameter in `oltp_insert`, `oltp_read_write` , `oltp_update_index`, and `oltp_update_non_index` tests: +- For the `oltp_point_select` workload, disable the [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) parameter: -```yaml -raft-engine.prefill-for-recycle = true -``` + ```yaml + raft-engine.prefill-for-recycle = false + ``` -Disable the [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) parameter in the `oltp_point_select` test: +- For `oltp_insert`, `oltp_read_write` , `oltp_update_index`, and `oltp_update_non_index` workloads, enable the [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) parameter: -```yaml -raft-engine.prefill-for-recycle = false -``` + ```yaml + raft-engine.prefill-for-recycle = true + ``` ### Benchmark executor @@ -91,7 +91,7 @@ This section introduces how to perform the Sysbench performance test step by ste prepare --tables=32 --table-size=10000000 ``` -4. Run the following `sysbench run` command to conduct stress tests on the TiDB Dedicated cluster. For each concurrency, the test takes 20 minutes. This document conducts tests on five workloads: `oltp_point_select`, `oltp_read_write`, `oltp_update_non_index`, `oltp_update_index`, and `oltp_insert`. For each workload, this document conducts three tests with the `${THREAD}` value of `100`, `200`, and `400`. +4. Run the following `sysbench run` command to conduct Sysbench performance tests on different workloads. This document conducts tests on five workloads: `oltp_point_select`, `oltp_read_write`, `oltp_update_non_index`, `oltp_update_index`, and `oltp_insert`. For each workload, this document conducts three tests with the `${THREAD}` value of `100`, `200`, and `400`. For each concurrency, the test takes 20 minutes. ```shell sysbench ${WORKLOAD} run \ @@ -116,7 +116,7 @@ This section introduces the Sysbench performance of v7.1.0 in the [test environm ### Point select performance -The performance on `oltp_point_select` workload is as follows: +The performance on the `oltp_point_select` workload is as follows: | Threads | TPS | 95% latency (ms)| |:--------|:----------|:----------| @@ -128,7 +128,7 @@ The performance on `oltp_point_select` workload is as follows: ### Read write performance -The performance on `oltp_read_write` workload is as follows: +The performance on the `oltp_read_write` workload is as follows: | Threads | TPS | 95% latency (ms)| |:--------|:----------|:----------| @@ -140,7 +140,7 @@ The performance on `oltp_read_write` workload is as follows: ### Update non-index performance -The performance on `oltp_update_non_index` workload is as follows: +The performance on the `oltp_update_non_index` workload is as follows: | Threads | TPS | 95% latency (ms)| |:--------|:----------|:----------| @@ -152,7 +152,7 @@ The performance on `oltp_update_non_index` workload is as follows: ### Update index performance -The performance on `oltp_update_index` workload is as follows: +The performance on the `oltp_update_index` workload is as follows: | Threads | TPS | 95% latency (ms)| |:--------|:----------|:----------| @@ -164,7 +164,7 @@ The performance on `oltp_update_index` workload is as follows: ### Insert performance -The performance on `oltp_insert` workload is as follows: +The performance on the `oltp_insert` workload is as follows: | Threads | TPS | 95% latency (ms)| |:--------|:----------|:----------| From dab067f52697bc6188ed01b3d42e124a2376564d Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 6 Jun 2023 11:35:15 +0800 Subject: [PATCH 8/9] Apply suggestions from code review --- tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md index 4e0868bb3f7c9..0d0ea3721d773 100644 --- a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md +++ b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md @@ -35,7 +35,7 @@ The test is conducted on a TiDB cluster with the following settings: The TiKV parameter [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) can make log recycling effective immediately after initialization. This document conducts tests based on different parameter values across several workloads: -- For the `oltp_point_select` workload, disable the [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) parameter: +- For the `oltp_point_select` workload, use the default value of the [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) parameter: ```yaml raft-engine.prefill-for-recycle = false From e0a3100755ebe9d8aad7bc5ba98273b978cbebd6 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 6 Jun 2023 16:33:57 +0800 Subject: [PATCH 9/9] Apply suggestions from code review Co-authored-by: Grace Cai --- tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md index 0d0ea3721d773..54c28272e4da1 100644 --- a/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md +++ b/tidb-cloud/v7.1.0-performance-benchmarking-with-sysbench.md @@ -33,7 +33,7 @@ The test is conducted on a TiDB cluster with the following settings: > > For TiDB Cloud, to modify the TiKV parameters of your cluster, you can contact [PingCAP Support](/tidb-cloud/tidb-cloud-support.md) for help. -The TiKV parameter [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) can make log recycling effective immediately after initialization. This document conducts tests based on different parameter values across several workloads: +The TiKV parameter [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) can make log recycling effective immediately after initialization. This document conducts tests based on different workloads with the following `prefill-for-recycle` configuration: - For the `oltp_point_select` workload, use the default value of the [`prefill-for-recycle`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file#prefill-for-recycle-new-in-v700) parameter: