mirror of
https://github.com/mariadb-corporation/mariadb-connector-nodejs.git
synced 2025-08-06 10:17:04 +00:00
[misc] update benchmark result for 3.1.0
This commit is contained in:
@ -36,11 +36,14 @@ The MariaDB Node.js Connector was then tested alongside the following MySQL conn
|
||||
* [**mysql2**](https://www.npmjs.com/package/mysql2): version 3.1.0
|
||||
* [**promise-mysql**](https://www.npmjs.com/package/promise-mysql): version 5.2.0
|
||||
|
||||
|
||||
in order to have stable results, environment variable PERF_SAMPLES is set to 500:
|
||||
```
|
||||
set PERF_SAMPLES=500
|
||||
```
|
||||
|
||||
### distant server
|
||||
|
||||
root@ubuntu-g-4vcpu-16gb-lon1-01:~/mariadb-connector-nodejs# npm run benchmark
|
||||
root@ubuntu-g-4vcpu-16gb-sfo3-cli:~/mariadb-connector-nodejs# npm run benchmark
|
||||
|
||||
> mariadb@3.1.0 benchmark
|
||||
> node benchmarks/benchmarks-all.js
|
||||
@ -48,7 +51,7 @@ root@ubuntu-g-4vcpu-16gb-lon1-01:~/mariadb-connector-nodejs# npm run benchmark
|
||||
{
|
||||
user: 'root',
|
||||
database: 'testn',
|
||||
host: '138.68.163.181',
|
||||
host: '137.184.6.237',
|
||||
connectTimeout: 2000,
|
||||
port: 3306,
|
||||
charset: 'utf8mb4',
|
||||
@ -58,144 +61,145 @@ trace: false
|
||||
|
||||
```
|
||||
do 1
|
||||
mysql : 6,438.8 ops/s ± 0.7%
|
||||
mysql2 : 6,413.8 ops/s ± 0.8% ( -0.4% )
|
||||
mariadb : 7,102.9 ops/s ± 0.5% ( +10.3% )
|
||||
mysql : 7,063.6 ops/s ± 0.4%
|
||||
mysql2 : 6,465.3 ops/s ± 0.6% ( -8.5% )
|
||||
mariadb : 8,531.9 ops/s ± 0.3% ( +20.8% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## do 1000 parameter
|
||||
|
||||
```
|
||||
do 1000 parameter
|
||||
mysql : 1,973.3 ops/s ± 0.4%
|
||||
mysql2 : 1,914.4 ops/s ± 0.3% ( -3% )
|
||||
mariadb : 2,176.6 ops/s ± 0.4% ( +10.3% )
|
||||
mysql : 2,410.3 ops/s ± 0.3%
|
||||
mysql2 : 2,279.2 ops/s ± 0.6% ( -5.4% )
|
||||
mariadb : 2,582 ops/s ± 0.6% ( +7.1% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## do random number with pool
|
||||
|
||||
```
|
||||
do <random number> with pool
|
||||
mysql : 5,644.6 ops/s ± 1.4%
|
||||
mysql2 : 5,485.8 ops/s ± 1.2% ( -2.8% )
|
||||
mariadb : 6,850.2 ops/s ± 0.8% ( +21.4% )
|
||||
mysql : 6,726.4 ops/s ± 0.5%
|
||||
mysql2 : 6,150.5 ops/s ± 0.8% ( -8.6% )
|
||||
mariadb : 7,463.2 ops/s ± 0.5% ( +11% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## insert 10 parameters of 100 characters
|
||||
## insert 10 VARCHAR(100)
|
||||
|
||||
```
|
||||
insert 10 parameters of 100 characters
|
||||
mysql : 3,254.4 ops/s ± 0.8%
|
||||
mysql2 : 3,038.9 ops/s ± 0.8% ( -6.6% )
|
||||
mariadb : 3,710 ops/s ± 1% ( +14% )
|
||||
insert 10 VARCHAR(100)
|
||||
mysql : 3,799.9 ops/s ± 0.6%
|
||||
mysql2 : 3,557 ops/s ± 0.6% ( -6.4% )
|
||||
mariadb : 4,027.9 ops/s ± 0.5% ( +6% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## 100 * insert 100 characters using batch method (for mariadb) or loop for other driver (batch doesn't exists)
|
||||
## 100 * insert CHAR(100) using batch (for mariadb) or loop for other driver (batch doesn't exists)
|
||||
|
||||
```
|
||||
100 * insert 100 characters using batch method (for mariadb) or loop for other driver (batch doesn't exists)
|
||||
mysql : 60.7 ops/s ± 0.7%
|
||||
mysql2 : 52 ops/s ± 0.9% ( -14.3% )
|
||||
mariadb : 3,149.3 ops/s ± 0.5% ( +5,089.9% )
|
||||
100 * insert CHAR(100) using batch (for mariadb) or loop for other driver (batch doesn't exists)
|
||||
mysql : 67.8 ops/s ± 0.3%
|
||||
mysql2 : 66.1 ops/s ± 0.7% ( -2.4% )
|
||||
mariadb : 3,270.8 ops/s ± 1.3% ( +4,725% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## 3 * insert 100 characters pipelining
|
||||
|
||||
```
|
||||
3 * insert 100 characters pipelining
|
||||
mysql : 1,966 ops/s ± 0.5%
|
||||
mysql2 : 1,825.3 ops/s ± 0.7% ( -7.2% )
|
||||
mariadb : 4,393.5 ops/s ± 1.3% ( +123.5% )
|
||||
mysql : 2,366 ops/s ± 0.5%
|
||||
mysql2 : 2,066.5 ops/s ± 0.6% ( -12.7% )
|
||||
mariadb : 4,447.5 ops/s ± 1.5% ( +88% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 1
|
||||
## select 1000 rows of CHAR(32)
|
||||
|
||||
```
|
||||
select 1
|
||||
mysql : 5,920.3 ops/s ± 0.8%
|
||||
mysql2 : 5,085.4 ops/s ± 0.9% ( -14.1% )
|
||||
mariadb : 6,675.5 ops/s ± 0.4% ( +12.8% )
|
||||
select 1000 rows of CHAR(32)
|
||||
mysql : 1,013.8 ops/s ± 0.5%
|
||||
mysql2 : 1,159.7 ops/s ± 1.3% ( +14.4% )
|
||||
mariadb : 1,630.6 ops/s ± 0.5% ( +60.8% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 1000 rows
|
||||
## select 1000 rows of CHAR(32) - BINARY
|
||||
|
||||
```
|
||||
select 1000 rows
|
||||
mysql : 825.2 ops/s ± 0.5%
|
||||
mysql2 : 1,062.1 ops/s ± 2.2% ( +28.7% )
|
||||
mariadb : 1,399 ops/s ± 0.4% ( +69.5% )
|
||||
select 1000 rows of CHAR(32) - BINARY
|
||||
mysql2 : 1,125.2 ops/s ± 1.7%
|
||||
mariadb : 1,421.4 ops/s ± 0.6% ( +26.3% )
|
||||
```
|
||||

|
||||
|
||||
## select 1000 rows - BINARY
|
||||
|
||||
```
|
||||
select 1000 rows - BINARY
|
||||
mysql2 : 1,100 ops/s ± 2.1%
|
||||
mariadb : 1,176 ops/s ± 0.3% ( +6.9% )
|
||||
```
|
||||

|
||||
|
||||
## select 100 int - BINARY
|
||||
|
||||
```
|
||||
select 100 int - BINARY
|
||||
mysql2 : 1,675.9 ops/s ± 1.7%
|
||||
mariadb : 4,237.6 ops/s ± 0.5% ( +152.9% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 100 int
|
||||
|
||||
```
|
||||
select 100 int
|
||||
mysql : 1,829.4 ops/s ± 0.4%
|
||||
mysql2 : 1,613 ops/s ± 1.9% ( -11.8% )
|
||||
mariadb : 2,573.9 ops/s ± 0.4% ( +40.7% )
|
||||
mysql : 2,287.9 ops/s ± 0.6%
|
||||
mysql2 : 1,795.3 ops/s ± 1.6% ( -21.5% )
|
||||
mariadb : 3,219.9 ops/s ± 0.8% ( +40.7% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 1 int + char
|
||||
## select 100 int - BINARY
|
||||
|
||||
```
|
||||
select 1 int + char
|
||||
mysql : 5,597.3 ops/s ± 0.7%
|
||||
mysql2 : 5,132.8 ops/s ± 1.2% ( -8.3% )
|
||||
mariadb : 6,352.8 ops/s ± 0.7% ( +13.5% )
|
||||
select 100 int - BINARY
|
||||
mysql2 : 1,821.6 ops/s ± 1.7%
|
||||
mariadb : 5,428.1 ops/s ± 0.6% ( +198% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 1 int + char with pool
|
||||
## select 1 int + char(32)
|
||||
|
||||
```
|
||||
select 1 int + char with pool
|
||||
mysql : 5,528.3 ops/s ± 0.6%
|
||||
mysql2 : 5,374.6 ops/s ± 1.6% ( -2.8% )
|
||||
mariadb : 6,016 ops/s ± 0.5% ( +8.8% )
|
||||
select 1 int + char(32)
|
||||
mysql : 6,281.1 ops/s ± 0.6%
|
||||
mysql2 : 5,839 ops/s ± 1% ( -7% )
|
||||
mariadb : 6,862.8 ops/s ± 0.6% ( +9.3% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 1 random int + char
|
||||
## select 1 int + char(32) with pool
|
||||
|
||||
```
|
||||
select 1 random int + char
|
||||
mysql : 5,439.7 ops/s ± 0.7%
|
||||
mysql2 : 2,492.2 ops/s ± 0.9% ( -54.2% )
|
||||
mariadb : 6,050.2 ops/s ± 1.6% ( +11.2% )
|
||||
select 1 int + char(32) with pool
|
||||
mysql : 6,572.1 ops/s ± 0.7%
|
||||
mysql2 : 5,717.6 ops/s ± 1.6% ( -13% )
|
||||
mariadb : 7,297 ops/s ± 0.6% ( +11% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 1 random int + char(32)
|
||||
|
||||
```
|
||||
select 1 random int + char(32)
|
||||
mysql : 6,142.2 ops/s ± 0.6%
|
||||
mysql2 : 2,964.6 ops/s ± 1.2% ( -51.7% )
|
||||
mariadb : 6,781 ops/s ± 0.6% ( +10.4% )
|
||||
```
|
||||

|
||||
|
||||
## select now()
|
||||
|
||||
```
|
||||
select now()
|
||||
mysql : 6,942.1 ops/s ± 0.7%
|
||||
mysql2 : 6,135.5 ops/s ± 1.1% ( -11.6% )
|
||||
mariadb : 7,640.5 ops/s ± 0.6% ( +10.1% )
|
||||
```
|
||||

|
||||
|
||||
|
||||
### local server
|
||||
root@ubuntu-g-4vcpu-16gb-lon1-01:~/mariadb-connector-nodejs# npm run benchmark
|
||||
root@ubuntu-g-4vcpu-16gb-sfo3-cli:~/mariadb-connector-nodejs# npm run benchmark
|
||||
|
||||
> mariadb@3.0.2 benchmark
|
||||
> mariadb@3.1.0 benchmark
|
||||
> node benchmarks/benchmarks-all.js
|
||||
|
||||
{
|
||||
@ -210,137 +214,137 @@ trace: false
|
||||
|
||||
```
|
||||
do 1
|
||||
mysql : 25,149.8 ops/s ± 2.5%
|
||||
mysql2 : 19,974.2 ops/s ± 1.9% ( -20.6% )
|
||||
mariadb : 35,398.9 ops/s ± 1.7% ( +40.8% )
|
||||
mysql : 26,415.6 ops/s ± 1.2%
|
||||
mysql2 : 21,160.5 ops/s ± 1.2% ( -19.9% )
|
||||
mariadb : 34,484.5 ops/s ± 1.2% ( +30.5% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## do 1000 parameter
|
||||
|
||||
```
|
||||
do 1000 parameter
|
||||
mysql : 2,769.3 ops/s ± 0.4%
|
||||
mysql2 : 2,626.3 ops/s ± 1.5% ( -5.2% )
|
||||
mariadb : 2,866.5 ops/s ± 1.3% ( +3.5% )
|
||||
mysql : 3,111.2 ops/s ± 1.1%
|
||||
mysql2 : 3,071.3 ops/s ± 1% ( -1.3% )
|
||||
mariadb : 3,470.3 ops/s ± 1.1% ( +11.5% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## do random number with pool
|
||||
|
||||
```
|
||||
do <random number> with pool
|
||||
mysql : 22,561.2 ops/s ± 2.5%
|
||||
mysql2 : 18,812.9 ops/s ± 2.1% ( -16.6% )
|
||||
mariadb : 30,034.5 ops/s ± 2.5% ( +33.1% )
|
||||
mysql : 24,798.3 ops/s ± 1.2%
|
||||
mysql2 : 20,368.8 ops/s ± 1.3% ( -17.9% )
|
||||
mariadb : 30,820.4 ops/s ± 1.1% ( +24.3% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## insert 10 parameters of 100 characters
|
||||
## insert 10 VARCHAR(100)
|
||||
|
||||
```
|
||||
insert 10 parameters of 100 characters
|
||||
mysql : 6,192.6 ops/s ± 1.8%
|
||||
mysql2 : 5,272.1 ops/s ± 2.4% ( -14.9% )
|
||||
mariadb : 6,577.3 ops/s ± 2.8% ( +6.2% )
|
||||
insert 10 VARCHAR(100)
|
||||
mysql : 7,043.9 ops/s ± 1.1%
|
||||
mysql2 : 5,988.2 ops/s ± 1.6% ( -15% )
|
||||
mariadb : 7,734.1 ops/s ± 1.3% ( +9.8% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## 100 * insert 100 characters using batch method (for mariadb) or loop for other driver (batch doesn't exists)
|
||||
## 100 * insert CHAR(100) using batch (for mariadb) or loop for other driver (batch doesn't exists)
|
||||
|
||||
```
|
||||
100 * insert 100 characters using batch method (for mariadb) or loop for other driver (batch doesn't exists)
|
||||
mysql : 182.2 ops/s ± 2%
|
||||
mysql2 : 139.7 ops/s ± 2.8% ( -23.3% )
|
||||
mariadb : 5,322 ops/s ± 2.2% ( +2,820.3% )
|
||||
100 * insert CHAR(100) using batch (for mariadb) or loop for other driver (batch doesn't exists)
|
||||
mysql : 219 ops/s ± 0.9%
|
||||
mysql2 : 173.6 ops/s ± 1.4% ( -20.7% )
|
||||
mariadb : 6,489.8 ops/s ± 1.2% ( +2,863% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## 3 * insert 100 characters pipelining
|
||||
|
||||
```
|
||||
3 * insert 100 characters pipelining
|
||||
mysql : 6,314.2 ops/s ± 1.8%
|
||||
mysql2 : 5,323.2 ops/s ± 2.8% ( -15.7% )
|
||||
mariadb : 8,881.5 ops/s ± 5.6% ( +40.7% )
|
||||
mysql : 6,940.5 ops/s ± 1%
|
||||
mysql2 : 6,111.9 ops/s ± 1.5% ( -11.9% )
|
||||
mariadb : 12,327.3 ops/s ± 1.4% ( +77.6% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 1
|
||||
## select 1000 rows of CHAR(32)
|
||||
|
||||
```
|
||||
select 1
|
||||
mysql : 18,948.5 ops/s ± 1.7%
|
||||
mysql2 : 13,798.8 ops/s ± 3% ( -27.2% )
|
||||
mariadb : 25,623.5 ops/s ± 1.5% ( +35.2% )
|
||||
select 1000 rows of CHAR(32)
|
||||
mysql : 1,140.7 ops/s ± 0.9%
|
||||
mysql2 : 1,474.5 ops/s ± 1.5% ( +29.3% )
|
||||
mariadb : 2,185.2 ops/s ± 1.1% ( +91.6% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 1000 rows
|
||||
## select 1000 rows of CHAR(32) - BINARY
|
||||
|
||||
```
|
||||
select 1000 rows
|
||||
mysql : 1,000.9 ops/s ± 1.1%
|
||||
mysql2 : 1,203.7 ops/s ± 2.2% ( +20.3% )
|
||||
mariadb : 1,739 ops/s ± 1.7% ( +73.7% )
|
||||
select 1000 rows of CHAR(32) - BINARY
|
||||
mysql2 : 1,439 ops/s ± 1.6%
|
||||
mariadb : 1,797.5 ops/s ± 0.6% ( +24.9% )
|
||||
```
|
||||

|
||||
|
||||
## select 1000 rows - BINARY
|
||||
|
||||
```
|
||||
select 1000 rows - BINARY
|
||||
mysql2 : 1,245.1 ops/s ± 2.6%
|
||||
mariadb : 1,470.6 ops/s ± 1.2% ( +18.1% )
|
||||
```
|
||||

|
||||
|
||||
## select 100 int - BINARY
|
||||
|
||||
```
|
||||
select 100 int - BINARY
|
||||
mysql2 : 2,042.3 ops/s ± 2.3%
|
||||
mariadb : 8,101.4 ops/s ± 1.2% ( +296.7% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 100 int
|
||||
|
||||
```
|
||||
select 100 int
|
||||
mysql : 2,364.7 ops/s ± 1.6%
|
||||
mysql2 : 1,977.8 ops/s ± 1.9% ( -16.4% )
|
||||
mariadb : 3,869 ops/s ± 2.5% ( +63.6% )
|
||||
mysql : 2,738.7 ops/s ± 1.3%
|
||||
mysql2 : 2,404.9 ops/s ± 1.3% ( -12.2% )
|
||||
mariadb : 5,650.8 ops/s ± 1.4% ( +106.3% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 1 int + char
|
||||
## select 100 int - BINARY
|
||||
|
||||
```
|
||||
select 1 int + char
|
||||
mysql : 18,398.6 ops/s ± 1.2%
|
||||
mysql2 : 12,778.7 ops/s ± 2.6% ( -30.5% )
|
||||
mariadb : 22,981.5 ops/s ± 1.8% ( +24.9% )
|
||||
select 100 int - BINARY
|
||||
mysql2 : 2,473.4 ops/s ± 1.3%
|
||||
mariadb : 10,533 ops/s ± 1.7% ( +325.9% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 1 int + char with pool
|
||||
## select 1 int + char(32)
|
||||
|
||||
```
|
||||
select 1 int + char with pool
|
||||
mysql : 17,036.2 ops/s ± 1.9%
|
||||
mysql2 : 12,545.6 ops/s ± 2.5% ( -26.4% )
|
||||
mariadb : 23,153.1 ops/s ± 1.4% ( +35.9% )
|
||||
select 1 int + char(32)
|
||||
mysql : 19,504.9 ops/s ± 1%
|
||||
mysql2 : 15,340.4 ops/s ± 1.5% ( -21.4% )
|
||||
mariadb : 24,799.3 ops/s ± 0.4% ( +27.1% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 1 random int + char
|
||||
## select 1 int + char(32) with pool
|
||||
|
||||
```
|
||||
select 1 random int + char
|
||||
mysql : 14,464.2 ops/s ± 2.9%
|
||||
mysql2 : 3,822.3 ops/s ± 1.7% ( -73.6% )
|
||||
mariadb : 19,917.9 ops/s ± 2.2% ( +37.7% )
|
||||
select 1 int + char(32) with pool
|
||||
mysql : 19,272 ops/s ± 1%
|
||||
mysql2 : 14,560.2 ops/s ± 1.7% ( -24.4% )
|
||||
mariadb : 24,219.4 ops/s ± 0.8% ( +25.7% )
|
||||
```
|
||||

|
||||

|
||||
|
||||
## select 1 random int + char(32)
|
||||
|
||||
```
|
||||
select 1 random int + char(32)
|
||||
mysql : 17,599.9 ops/s ± 1.4%
|
||||
mysql2 : 4,828.1 ops/s ± 1.5% ( -72.6% )
|
||||
mariadb : 21,099.5 ops/s ± 1.4% ( +19.9% )
|
||||
```
|
||||

|
||||
|
||||
## select now()
|
||||
|
||||
```
|
||||
select now()
|
||||
mysql : 18,902.6 ops/s ± 1.8%
|
||||
mysql2 : 15,491.6 ops/s ± 1.6% ( -18% )
|
||||
mariadb : 25,456.7 ops/s ± 0.6% ( +34.7% )
|
||||
```
|
||||

|
||||
|
||||
|
Reference in New Issue
Block a user