从TPCC看硬件配置比例

2024年 3月 17日 85.3k 0

如何硬件选型

需求

TPS

QPS

connections

RT

该使用什么机器配置

多大CPU: Processors/Cores/Threads

多少内存:Memory

多大磁盘:capacity/IOPS

非常遗憾mysql 没有参与tpcc官方测试, 在没有参照的系统,也没在不同机型不同cpu:mem:io capacity 对比的情况下,如何选出一个大致范围的配置;然后在进行针对的tpcc测试,业务压测来验证实际需求。不烦参照TPCC报告来找一个大致的访问,比如支撑1 tps需要多少cpu,内存,iops等;毕竟TPCC都是金钱游戏,配置具有相当合理性

1.tpcc 测试为了追逐tpmC 排名必然要堆砌硬件资源,造成某种浪费

2.tpcc同时又兼顾了性价比Price/tpmC,厂商为了追逐性价比,必然不敢过度堆砌硬件

3.tpcc与实际业务不同,实际不同业务一个事务可能1-100 条SQL不等,即代表1-100 iops不等;最终需要从业务复杂度入手.

TPCC报告解读

ORACLE ORACLE RAC v11gR2 TPCC

注:分布式/RAC按节点换算

Report Date:December 2,2010

TPC-C Throughput:30249688/27=1120358 tpmC

Processors/Cores/Threads: 4/64/512

Memory: 512GB

capacity/IOPS: 1.76 PB/ 条带化后超100万IOPS写入

tps:threads=36:1 即1thread/vCpus 支撑 36tps

cpu threads:mem=1:1 即1 threads/vCpus 配置1G内存

IOPS:TPS=53:1 即1个事务预留53iops来支撑

https://www.tpc.org/results/fdr/tpcc/Oracle_SPARC_SuperCluster_with_T3-4s_TPC-C_FDR_120210.pdf



Tencent TDSQLv10.3 TPCC

注:分布式按数据节点换算

Report Date:March 28, 2023

TPC-C Throughput:814854791/1650=493851 tpmC

Processors/Cores/Threads: 2/48/96

Memory: 768GB

capacity/IOPS: 42TB/ 条带化后超75万IOPS写入

tps:threads=85:1 即1thread/vCpus 支撑 85tps

cpu threads:mem=1:8 即1 thread/vCpus 配置8G内存

IOPS:TPS=91:1 即1个事务预留91iops来支撑

TTA DB2v11.5.8 TPCC

Report Date:25-Sep-2023

TPC-C Throughput:279185 tpmC

Processors/Cores/Threads: 2/36/72

Memory: 1536GB

capacity/IOPS: 39.68TB/ 条带化后超40万IOPS写入

tps:threads=64:1 即1thread/vCpus 支撑 64tps

cpu threads:mem=1:21 即1 thread/vCpus 配置20G内存

IOPS:TPS=85:1 即1个事务预留85iops来支撑

https://www.tpc.org/results/fdr/tpcc/ttatpccltechkorea_lkg2312fdr2023-09-29~v01.pdf


TTA Goldilocks v3.1 TPCC

Report Date:25-Jan-2024

TPC-C Throughput:50768 tpmC

Processors/Cores/Threads: 1/12/24

Memory: 512GB

capacity/IOPS: 31.23TB/ 条带化后超25万IOPS写入

tps:threads=35:1 即1thread/vCpus 支撑 35tps

cpu threads:mem=1:21 即1 threads/vCpus 配置20G内存

IOPS:TPS=295:1 即1个事务预留295iops来支撑

https://www.tpc.org/results/fdr/tpcc/ttatpccktnf_ke780s1fdr2024-02-25~v01.pdf

由TPCC测试结论

由2010年到2024年的tpcc报告比较

1个vCPUS/Threads 可以支撑 35~85 tps . 建议8~32

1个vCPUS/Threads 应该配置(驱动)内存:1GB~21GB . 建议4G~8G

1个tps 需要多少iops来支撑:51~295. 建议:5~100 iops

即如果需要支撑1000tps/20000qps的业务大致需要硬件如下:

CPU:16core/32vCpus - 64core/128vCpus

内存: 128G -1024 G

iops: 5000 iops - 10万 iops

验证

tpcc

benchsql

业务压测

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论