资讯详情

AMD & Intel 机器 Spark 性能测试2

接上篇文章 AMD & Intel 机器 Spark 性能测试

文章目录

  • 硬件配置
  • 测试
    • 角色分配
    • 线上sql任务模拟
    • 使用 sysbench 测试内存读写
  • 结果

硬件配置

每个对照组有6台机器和3台。

intel 5118 内存为6通道,双通道为12通道 amd 7401p 为8通道,如果使用16通道*16G,内存频率降至2133,带宽进一步降低,默认使用 Channel Interleave (单核最多同时使用两个内存通道) Die Interleave(8通道可用于每个核)

AMD

  • AMD 7401P
  • 8 * 32G
  • disk: 11 * HDD(8T) 1 * SSD(1T)
  • nic: 2 * 10Gbps

Intel

  • Intel 5118 * 2
  • 16 * 16G
  • disk: 11 * HDD(8T) 1 * SSD(1T)
  • nic: 2 * 10Gbps

测试

角色分配

  • Namenode
  • DataNode
  • ResourceManager
  • NodeManager
  1. container 使用 cgroup strict mode
  2. Namenode 和 ResourceManager 所在节点 nodeManager vcore 分配 42c,memory 168G
  3. 计算节点 nodeManager vcore 分配 45c,memory 180G
  4. spark Executor 设置: <10g 2g, 3c> * 60
  5. HDFS 数据盘设置 Data01 ~ Data11
  6. Yarn tmp dir 设置 Data01 ~ Data11 ,Data12 设置3个目录

线上sql任务模拟

连接生产集群的数据源HDFS,同时执行相同的任务,结果是parquet格式写入HDFS,连续运行取平均值。

表尺寸:左表尺寸6g,右表大小1T

业务场景:左关联

sql: left join

表大小:450G

业务场景:在新表中取出一些字段,计算节点本地带宽

sql:filter

表大小:5G

业务场景:窗口函数,根据时间维度对某个字段的最早数据进行排序

sql: over

表面尺寸:左表4G,右表105G

业务场景:左表按字段group之后,用这个字段和右表join

sql:group,inner join

表面大小:左表100k,右表10g

业务场景:日志审计

sql: group , order * 2 , left join

使用 sysbench 对内存读写进行测试

例如:100g,每个block 为8k,随机写

sysbench --test=memory --memory-block-size=8k --memory-total-size=100G --memory-oper=write --memory-access-mode=rnd run 

结果

sql1 sql2 sql3 sql4 sql5 tpcds avg
intel 169s 308s 178s 34s 83s 44.1s
amd 175s 346s 180s 38s 85s 49.5s
对比 97% 89% 99% 89% 98% 89%
内存速度 8k顺序写 8k顺序度读 8k随机写 8k随机读
amd 9.7 GB/s 15.3 GB/s 1.4 GB/s 1.4 GB/S
intel 11.3 GB/s 24 GB/s 2.3 GB/s 2.3 GB/S
Max 功率(W) 10A机柜(W) 服务器单柜最大承载能力(台) 16A机柜(W) 服务器单柜最大承载量
INTEL 389 2200 5.7 3520 9
AMD 282 2200 7.8 3520 12.5
实际业务性能 整机峰值功耗 8k顺序读/写 8k随机读/写
amd 90% 73% 64%/86% 61%/61%
intel 100% 100% 100%/100% 100%/100%

标签: 308s传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台