无论ibp(innodb_buffer_pool_size)是否充足, MySQL的性能都远不如GreatSQL。
MySQL的性能平均约为 GreatSQL的70%(最高84.5%,最低61.7%)。
在ibp充分的情况下,随着并发数的增加, MySQL并没有表现出该有的性能提升,反倒掉头向下,可见还是不够稳定。
在ibp不够的情况下, GreatSQL开启thread pool性能有所提升;当ibp充足的情况下,区别就不大了。
MySQL vs GreatSQL性能数据对比
| 48G | 96G | 144G | 192G | avg | |
|---|---|---|---|---|---|
| MySQL vs GreatSQL | 0.6173 | 0.735 | 0.721 | 0.8449 | 0.7295 |
各数据库版本分别为
MySQL 8.0.30 MySQL Community Server - GPL
GreatSQL 8.0.25-16 GreatSQL, Release 16, Revision 8bb0e5af297
| TPS | 8th | 16th | 32th | 64th | 128th |
|---|---|---|---|---|---|
| GreatSQL-thdpool | 969.16 | 1324.21 | 1661.57 | 2007.98 | 2331.4 |
| GreatSQL | 873.06 | 1146.85 | 1371.34 | 1509.8 | 1699.19 |
| MySQL | 686.14 | 846.5 | 915.15 | 1073.95 | 1439.29 |
P.S,后缀加上 thdpool 表示启用了 thread pool。
| QPS | 8th | 16th | 32th | 64th | 128th |
|---|---|---|---|---|---|
| GreatSQL-thdpool | 19383.2 | 26484.14 | 33231.49 | 40159.56 | 46627.89 |
| GreatSQL | 17461.16 | 22937.14 | 27426.87 | 30196.02 | 33983.78 |
| MySQL | 13722.8 | 16929.94 | 18303.03 | 21479 | 28785.7 |
| TPS | 8th | 16th | 32th | 64th | 128th |
|---|---|---|---|---|---|
| GreatSQL-thdpool | 1074.57 | 1407.54 | 1706.35 | 2206.06 | 2810.39 |
| GreatSQL | 1013.2 | 1198.5 | 1546.53 | 2033.04 | 2419.47 |
| MySQL | 751.7 | 986.11 | 1218.87 | 1778.67 | 2065.69 |
| QPS | 8th | 16th | 32th | 64th | 128th |
|---|---|---|---|---|---|
| GreatSQL-thdpool | 21491.46 | 28150.73 | 34127 | 44121.2 | 56207.88 |
| GreatSQL | 20264.04 | 23969.97 | 30930.56 | 40660.83 | 48389.42 |
| MySQL | 15034.11 | 19722.27 | 24377.47 | 35573.39 | 41313.8 |
| TPS | 8th | 16th | 32th | 64th | 128th |
|---|---|---|---|---|---|
| GreatSQL-thdpool | 1059.46 | 1422.72 | 1853.24 | 2710.31 | 3481.66 |
| GreatSQL | 857.28 | 1327.67 | 1767.78 | 2660.8 | 3148.06 |
| MySQL | 857.05 | 1149.79 | 2038.3 | 2516.41 | 2510.15 |
| QPS | 8th | 16th | 32th | 64th | 128th |
|---|---|---|---|---|---|
| GreatSQL-thdpool | 21189.17 | 28454.3 | 37064.79 | 54206.13 | 69633.25 |
| GreatSQL | 17145.52 | 26553.48 | 35355.47 | 53215.89 | 62961.17 |
| MySQL | 17140.96 | 22995.73 | 40765.95 | 50328.29 | 50202.93 |
| TPS | 8th | 16th | 32th | 64th | 128th |
|---|---|---|---|---|---|
| GreatSQL | 1406.86 | 1316.02 | 2144.17 | 4114.55 | 3310.67 |
| GreatSQL-thdpool | 1391.2 | 1247.93 | 2085.81 | 4053.76 | 3113.97 |
| MySQL | 1367.31 | 2629.75 | 2940.51 | 2687.48 | 2797.06 |
| QPS | 8th | 16th | 32th | 64th | 128th |
|---|---|---|---|---|---|
| GreatSQL | 28137.19 | 26320.43 | 42883.45 | 82291 | 66213.47 |
| GreatSQL-thdpool | 27823.9 | 24958.68 | 41716.16 | 81075.21 | 62279.48 |
| MySQL | 27346.18 | 52595.01 | 58810.18 | 53749.63 | 55941.29 |
| GreatSQL | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TPS | 8th | 16th | 32th | 64th | 128th |
|
QPS | 8th | 16th | 32th | 64th | 128th |
| GreatSQL-thdpool(48G) | 969.16 | 1324.21 | 1661.57 | 2007.98 | 2331.4 |
|
GreatSQL-thdpool(48G) | 19383.2 | 26484.14 | 33231.49 | 40159.56 | 46627.89 |
| GreatSQL(48G) | 873.06 | 1146.85 | 1371.34 | 1509.8 | 1699.19 |
|
GreatSQL(48G) | 17461.16 | 22937.14 | 27426.87 | 30196.02 | 33983.78 |
| GreatSQL-thdpool(96G) | 1074.57 | 1407.54 | 1706.35 | 2206.06 | 2810.39 |
|
GreatSQL-thdpool(96G) | 21491.46 | 28150.73 | 34127 | 44121.2 | 56207.88 |
| GreatSQL(96G) | 1013.2 | 1198.5 | 1546.53 | 2033.04 | 2419.47 |
|
GreatSQL(96G) | 20264.04 | 23969.97 | 30930.56 | 40660.83 | 48389.42 |
| GreatSQL-thdpool(144G) | 1059.46 | 1422.72 | 1853.24 | 2710.31 | 3481.66 |
|
GreatSQL-thdpool(144G) | 21189.17 | 28454.3 | 37064.79 | 54206.13 | 69633.25 |
| GreatSQL(144G) | 857.28 | 1327.67 | 1767.78 | 2660.8 | 3148.06 |
|
GreatSQL(144G) | 17145.52 | 26553.48 | 35355.47 | 53215.89 | 62961.17 |
| GreatSQL(192G) | 1406.86 | 1316.02 | 2144.17 | 4114.55 | 3310.67 |
|
GreatSQL(192G) | 28137.19 | 26320.43 | 42883.45 | 82291 | 66213.47 |
| GreatSQL-thdpool(192G) | 1391.2 | 1247.93 | 2085.81 | 4053.76 | 3113.97 |
|
GreatSQL-thdpool(192G) | 27823.9 | 24958.68 | 41716.16 | 81075.21 | 62279.48 |
| MySQL | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TPS | 8th | 16th | 32th | 64th | 128th |
|
QPS | 8th | 16th | 32th | 64th | 128th |
| MySQL(48G) | 686.14 | 846.5 | 915.15 | 1073.95 | 1439.29 |
|
MySQL(48G) | 13722.8 | 16929.94 | 18303.03 | 21479 | 28785.7 |
| MySQL(96G) | 751.7 | 986.11 | 1218.87 | 1778.67 | 2065.69 |
|
MySQL(96G) | 15034.11 | 19722.27 | 24377.47 | 35573.39 | 41313.8 |
| MySQL(144G) | 857.05 | 1149.79 | 2038.3 | 2516.41 | 2510.15 |
|
MySQL(144G) | 17140.96 | 22995.73 | 40765.95 | 50328.29 | 50202.93 |
| MySQL(192G) | 1367.31 | 2629.75 | 2940.51 | 2687.48 | 2797.06 |
|
MySQL(192G) | 27346.18 | 52595.01 | 58810.18 | 53749.63 | 55941.29 |
sysbench
P.S,该版本是业内大咖修改后的,增加了99.9%的RT统计值,例如:
利用sysbench生成64个表,每个表1250万条记录。
数据库总大小约191G。
sysbench采用 oltp_read_write 模式。
innodb_flush_method = O_DIRECT_NO_FSYNC。
GreatSQL在需要时才开启thread pool,MySQL不支持thread pool。
默认关闭InnoDB PQ。
因为没有额外测试机,所以采用本地socket方式连接,顺便关闭网络监听设置。
测试资源有限,所以只测试单机模式,没有开启MGR。
最大物理内存:376G,但数据库分配IBP时分别为48G、96G、144G、192G,没有将物理内存全部耗尽。
磁盘:Dell NVMe SSD
文件系统、ioscheduler
CPU
Enjoy GreatSQL :)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69997641/viewspace-2914973/ ,如需转载,请注明出处,否则将追究法律责任。