暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

从TPCC看硬件配置比例

原创 zhou 2024-03-17
620

如何硬件选型

需求

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
20240317013942image.png

20240317020136image.png

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来支撑
20240317010349image.png

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


20240317004406image.png

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
20240317012911image.png

由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

业务压测

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论