一名架构师,懂点硬件知识不过分吧?

2022-11-08 1452阅读

温馨提示:这篇文章已超过644天没有更新,请注意相关的内容是否还可用!

很多架构师都是从软件开发成长起来的,大家在软件领域都有很深的造诣,大部分人对硬件接触的很少。而成为架构师后需要频繁的跟人 、硬件 、软件 、网络打交道,

一名架构师,懂点硬件知识不过分吧?
(图片来源网络,侵删)
一名架构师,懂点硬件知识不过分吧?
(图片来源网络,侵删)

本篇文章就给大家带来服务器硬件方面的相关知识,主要包括服务器、CPU、内存、磁盘、网卡。

服务器

根据服务器的外形和使用场景我们将服务器分为以下四种:

一名架构师,懂点硬件知识不过分吧?

高密度服务器是为了实现更高的空间利用率。

主板架构

服务器的机箱只是外壳,核心架构还是主板。

一名架构师,懂点硬件知识不过分吧?

这个图是Intel典型的主板芯片组架构:

服务器的主板有个统一的中央芯片组(Intel C600),芯片组可以连接多个CPU(E5-2400/2600),CPU之间通过QPI快速通道进行连接,CPU与内存插槽,PCIE插槽之间连接,芯片组还与低速的外设进行连接(USB、网卡、SATA等)。

服务器选型考虑因素

做服务选型主要基于以下几个方面:

物理机、虚拟机、容器

服务器厂商 CPU

CPU作为服务器的核心固件,我们主要通过以下几个概念来了解:

以上的这些概念数据可以通过CPU的产品规格书中进行详细了解。在服务器上可以通过lscpu命令查看cpu信息

一名架构师,懂点硬件知识不过分吧?

上图服务器CPU显示有72个,是因为有2个Socket,每个Socket有18核而每核可以同时运行2个线程,通过2 x 18 x 2 = 72得到。

厂商 主流产品介绍

Intel系列

Intel现在主推的是“Intel至强可扩展”系列,在这个系列下又分为四档:铂金、金、银、铜,每档下面又有不同的型号

一名架构师,懂点硬件知识不过分吧?

AMD系列

AMD系列主要用到的是霄龙系列,霄龙系列CPU核数很高,下面我们看看几款具体的产品

型号CPU核心数线程数量最大加速时钟频率基准时钟频率默认TDP/TDP

霄龙7742

64

128

高达3.4GHZ

2.25GHZ

225W

霄龙7702

64

128

高达3.35GHZ

2GHZ

200W

霄龙7702P

64

128

高达3.4GHZ

2GHZ

200W

霄龙7642

48

96

高达3.35GHZ

2.3GHZ

225W

霄龙7552

48

96

高达3.3GHZ

2.2GHZ

200W

霄龙7542

32

64

高达3.4GHZ

2.9GHZ

225W

华为鲲鹏系列

鲲鹏916(低功耗级)

鲲鹏920-3326/4826(极致效能型)

鲲鹏920-3326/4826(极致性能级)

主流CPU型号性能横向对比

一名架构师,懂点硬件知识不过分吧?

通过上图大家可以看到国产CPU与国外CPU之间的差距,性能基本只有Intel中档CPU性能的一半左右,国产CPU还有很长的路要走。

NUMA

NUMA 即Non-Uiform Memory Access(非一致性内存访问),结合我们之前讲述的主板架构,两颗CPU之间有一个通道,每个CPU与各自的内存通道进行直连,可以通过下图直观看出。

一名架构师,懂点硬件知识不过分吧?

CPU0 访问 左边的内存通道速度很快,CPU1访问右边的内存通道也很快,当CPU1要访问左边的内存通道必须要借助CPU0的帮忙,需要先通过QPI总线找到CPU0,再来访问左边的内存通道,这就产生了额外的开销,访问左边内存通道的开销相当于直连访问右边通道开销的3倍。

所以对于计算密集型任务我们需要尽量避免这种跨CPU的内存访问服务器内存规格,这就是NUMA的问题,非一致性指的是访问本地和跨CPU访问的代价差别不一致

我们可以通过指令numactl -s查看numa的信息

一名架构师,懂点硬件知识不过分吧?

可以使用指令numactl --cpunodebind=0 --membind=0 command指定进程使用的numa节点和内存

如上就是让command指令只使用cpu0 ,和内存0,这就使得进程指令在运行的时候使用的CPU和内存在同一侧,达到计算性能速度最大化的效果。

内存

内存大家平时工作中接触的都比较多,对于内存我们主要通过以下几个方面来了解:

了解内存信息

主要通过以下三个命令全面了解内存信息

一名架构师,懂点硬件知识不过分吧?

一名架构师,懂点硬件知识不过分吧?

将内存插入主板时一般需要对称插入服务器内存规格,通过上图我们可以看到下面有根内存不工作(非对称)。

系统剩余内存 available 是我们最关心的一个值,不要被free列唬住了。

磁盘

对于磁盘我们主要通过吞吐率和IOPS两个指标来对其衡量

吞吐率/吞吐量:单位时间内读写的数据量

IOPS:每秒IO操作的次数

为什么很多性能比较慢的服务在软件层面进行优化收益很小,而更换一块固态硬盘就能解决所有问题,问题就在这里。

普通固态硬盘的吞吐率大概为机械硬盘的2~3倍,而IOPS确达到了机械硬盘的250~300倍。

IOPS和数据吞吐量适用于不同的场合:

在随机读写频繁的应用中,如OLTP(Online Transaction Processing),IOPS是关键衡量指标。

对于大量顺序读写的应用,则更关注吞吐量指标。

读取10000个1KB文件,用时10秒 Throught(吞吐量)=1MB/s ,IOPS=1000 追求IOPS 读取1个10MB文件,用时0.2秒 Throught(吞吐量)=50MB/s, IOPS=5 追求吞吐量

网卡

网卡,又称网络适配器或网络接口卡,英文名为Network Interface Card。在网络中,如果有一台计算机没有网卡,那么这台计算机将不能和其他计算机通信,它将得不到服务器所提供的任何服务了。当然如果没有网卡,就称不上服务器了,所以说网卡是服务器必备的设备,就像普通PC(个人电脑)要配处理器一样。

我们也可以也通过以下几个维度来了解下网卡:

网卡速度规格100M、1G、10G、25G

网卡接口类型RJ45(电、短距离)、光纤(光、长距离)

网卡绑定模式

多网卡绑定一方面能够提高网络吞吐量,另一方面也可以增强网络高可用。从软件的角度来看,多网卡绑定实际上只需要提供一个额外的bond驱动程序即可,通过该虚拟网卡驱动程序可以将实际多块网卡屏蔽,对TCP/IP协议层而言只存在一个Bond网卡。Linux主要有7种绑定模式:

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]