原文连接:http://topfeng.blog.51cto.com/9969718/1723106
CPU:中央处理器,是一个计算机的运算核心和控制核心,他的主要功能是解释计算机指令以及处理计算机软件中的数据。中央处理器主要包括:运算器 高速缓冲存储器
(ALU) (cache)
内存:内存(内存储器)可用于存储数据,由于是电子部件,内存中数据会在断电后消失,存取速度快,容量相对较小。
硬盘:是计算机的主要外部存储器,可分为机械硬盘和固态硬盘,可以永久的保留数据,但是速度相对较慢,容量大
硬件知识深度理解
内存部分(以具体案例为为前提)
1.高并发写入
将需要写入的数据优先存在内存之中,当内存中的数据达到一定数量时,再将数据全部写入到磁盘之中
优点:利用内存的速度优势,可以加快写入速度,提高用户体验,在高并发的情况下十分适用
缺点:内存只能临时存储数据,如果断电,数据全部丢失
解决方案:
1.主板装电池,在断电后支持快速将数据写入硬盘,
以便恢复
2.使用(不间断电源)UPS电源
3.选用双电路机房
2高读取
将硬盘中热点数据写入内存之中,方便用户读取,提高访问友好度。
将需要存储的外部数据直接存入硬盘之中,再读取到内存之中,以备访问之用。
优点:热点数据在内存之中,用户读取速度快,增加了用户体验,同时也减小了服务
器的IO压力。
Tips:将数据写入内存,这部分被使用的内存称之为 缓冲区(Buffer)
从内存中读取预存的数据,这部分被使用的内存称之为 缓存区(cache)
3.目前大部分网站的IO比例 Input : Output = 1 : 10,即大部分网站均是以用户读取其内容为主,写入数据的比例不大,在架构及优化时,应以高读取的方案进行,具体案例具体分析。
4.多台机器集群内存缓存架构(以软件形式): memcache (纯内存) redis(内存与磁盘结合)
硬盘部分
1.分类: 机械硬盘 ,固态硬盘
2.接口类型:IDE , SCSI
SAS : 价格较贵转速相对较高,同等价位容量较小。
SATA :价格最低,同等价位容量最大,速度慢。
SSD(固态硬盘):价格最贵,同等价位容量最小,速度最快。
3.按照工作环境的硬盘选择
(1)常规工作环境: SAS 速度,容量与价格兼顾的良好选择
(2)线下备份或内部工作环境: SATA 容量大,且对硬盘速度要求不高。
(3)高并发,且数据量少: SDD 速度快,但价格贵,适用于极端生产环境。
4.RATD
磁盘阵列(Redundant Arrays of IndependentDisks), 有‘独立磁盘构成的具有荣誉能力的阵列’之意。
磁盘阵列是由很多价格便宜的磁盘,组成一个容量为所有磁盘之和的大磁盘,利用个别磁盘提供数据所产生加成效果提升整个磁盘的系统效能。
(1)实现形式 : 硬RAID :通过 RAID卡 实现,价格较贵,效率高,安全
软RAID :通过软件模拟实现,价格低廉,对降低系统效率,并且
在软件出现问题时,会影响数据安全
(2)RAID 分类 :
RAID 0 条带化(Data Stripping) 将多个磁盘整合为一个磁盘。
在整合后单个磁盘的读取数据方式并没有发生变化,但是整个磁盘阵列的数据读取方式变得十分有趣。首先,每个磁盘都被以合理的大小分割为很多个block,且每个磁盘的分割情况必须一样。在数据写入的时候将数据依次写入三个磁盘,即三个数据块 [block1]
[block2] [block3] ,第一块磁盘写入[1],第二块磁盘写入[2],第三块写入[3],依次类推,直至数据写完。
在从磁盘阵列读取数据时,同时读取磁盘阵列中的第一个block,那么用了读取一个block的时间,读取了N个block (N 为磁盘阵列中的磁盘数量)。 这样数据的读取速度就加快了N陪。
由于RAID 0 只是多个硬盘进行了整合,没有做冗余处理,那么其中一块硬盘出错,整个阵列就会出现问题。所以RAID 0 的可靠性为一块磁盘的1/N ,可靠性大大降低
速度:单个磁盘的N倍
容量:单个磁盘的N倍
可靠性:单个磁盘的1/N
适用场景:只是在对那些对数据安全性要求不高的场景使用
RAID 1 镜像 把一个磁盘的数据镜像到另一个磁盘上,作为冗余
在RAID 1中,数据进行写入一块磁盘时,也会同时写入另一块作为镜像的磁盘中。当正在被使用的磁盘发生问题,系统会抛弃他,转而去它的镜像磁盘读取数据,这是将坏掉的磁盘更换即可。这样数据的安全性大大增加,但是成本也随之增加,磁盘利用率为50%,下降一半。
在更换磁盘后,系统会对原有数据进行同步,需要一定时间,在同步期间会影响系统的IO效率。
速度 :不变
容量 :所有磁盘的50%
可靠性: 大大增加
使用场景: 数据重要,数据量不大
RAID 5 分布式奇偶校验的独立磁盘结构
RAID 5 在结构上与RAID 0 类似,将磁盘条带化,有很高的读取速度。在写入数据时,会在每块磁盘上都写入奇偶校验信息,因此会造成写损失。在从磁盘阵列读取信息的时候会进行校验数据是否出错。当一块磁盘出错的时候,更换新磁盘后,可以通过其他磁盘的数据和奇偶校验信息,经过计算恢复其数据。
速度:N块磁盘之和
容量: 略小于N块磁盘
可靠度: 在一块磁盘出错时,可修复:有奇偶校验码,可纠错
RAID 10 (先1 后 0) 先镜像,再条带化
RAID 10既是RAID 1 与 RAID 0 的结合产物。先对每一块磁盘进行镜像处理(RAID 1),然后将每个形成的RAID 1 做条带化(RAID 0)。这样总体来看整个磁盘阵列是 RAID 0的形式,而且每一块磁盘都有做镜像处理。那么即拥有了RAID 0 高速的读取速度,又拥有了RAID 1 的高数据安全性。RAID 10的不足之处也显而易见,磁盘利用率低,导致价格较高。
速度:N块硬盘之和
容量:50%
可靠度: 有 RAID 0的支持,可高度高
5.企业中PC服务器主要品牌
DELL(大部分企业),HP,IBM(去IOE 估计不会再有人用了)
DELL PC服务器型号
2010-2013:1u R410 R610
2u R710
2014-2015:1u R420 R430 R620 R630
2u R720
对于这部分内容 我会在之后的过程中关注,《大型网站技术架构分析》《淘宝这10年》这2本书将会作为我的参考书籍。
转载于:https://blog.51cto.com/wellsay/1859100