第1章 互联网企业常见服务器介绍
1.1 互联网公司服务器品牌
- DELL(大多数公司,常用)
- HP
- IBM(百度在用)
- 浪潮
- 联想
- 航天联志
常见服务器品牌
1.1.1 Dell服务器品牌
- Dell服务器官网链接,点击即可
- 有疑问问销售
- DELL R720
加上盖子
-
DELL R620
1.1.2 IBM品牌
1U 3550/m3 3550/m5
2U 3650
4U 3850
8U 3950
仅作了解,质量好,但价格贵,互联网公司不太常用
IOE(IBM oracle emc)
1.1.3 HP 品牌
DL380G7/G8(2u)
1.2 服务器主要零部件
1.2.1 电源
相当于人体的心脏,保障电源供应,要选择质量好的电源。生产中一般单个服务器核心业务最好使用双电源AB线路。如果集群(一堆机器做一件事情)的情况可以不用双电源。
1.2.2CPU 处理器
相当于人体的大脑,负责计算机的运算和控制,是服务器性能效率的最核心部件。 常见品牌:Intel,AMD
- 一般的企业里的服务器,CPU颗数2-4颗,单颗CPU是4核。内存总量一般是16-256G(32G,64G)
- 做虚拟化的宿主机(eg:安装vmware的主机),CPU颗数4-8颗,内存总量一般是48-128G,6-10个虚拟机。
1.2.3 内存
CPU和磁盘之间的缓冲设备,是临时存储器(存放数据),断电数据丢失。 一般程序运行的时候会被调度到内存中执行,服务器关闭或程序关闭之后,数据自动从内存中释放掉。
- 片===硬盘===程序
- 播放片===被运行起来的程序===进程
- 没完没了播放片==(住院)==一直在运行的程序===守护进程
程序:c/php/java,代码文件,静态的,放在磁盘里的数据。
进程:正在运行着的程序,进程运行就是系统把程序放在内存里执行
守护进程(daemon):持续保持运行着的程序。
程序和进程的区别:
- 电影放在磁盘里就是程序
- 看片放到内存里就相当于进程
- 计算机重启,内存的数据会释放掉
从开发角度对守护进程的解释:
运行或者执行任何服务都脱离不开计算机的底层协议TCP/IP协议,而想要操作TCP/IP协议就需要用到计算机的底层语言C语言,但是C语言用起来很麻烦,通常要实现一个很小的功能都需要写上好几十甚至上百行代码,太繁琐。于是就有人想到,将一些可以实现某个功能的C语言代码封装起来,然后起一个新的名词,那么用这个新的名词来告诉计算机自动执行封装的那么一大堆C代码,这样就方便多了。于是,慢慢的这类型的新词汇多了以后,渐渐组成了现在我们常见的编程语言,比如:java,python,C#。而我们知道如果我们利用xshell来远程服务器的时候,需要通过ssh协议并访问服务器的22端口。之所以,能够联通,是因为服务器端始终有一个叫做sshd服务的进程在监听着22端口,这个服务就是通过python等类似语言继续封装出来的程序,由于它不断的在服务器的后台运行,始终守护且监听着服务器的22端口,所以我们就叫它们为守护进程。
1.2.4 磁盘
磁盘就是永久存放数据的存储器,磁盘上也是有缓存的(芯片)。
常用的磁盘(硬盘)都是3.5英寸的(ide,sas,sata),常规的机械硬盘,读取(性能不高)性能比内存差很多,所以,在企业工作中,我们才会把大量的数据缓存到内存,写入到缓冲区,这是当今互联网网站的解决网站访问速度慢的方案。
磁盘接口或类型:IDE,SCSI,SAS,SATA,SSD(电子的),IDE,SCSI退出历史舞台。
性能与价格:SSD(固态)>SAS>SATA
磁盘的大小
1byte=8bit 1K=1024byte 1M=1024K
1G=1024M 1T=1024G 1PB=1024T
字节(byte):8个二进制位为一个字节(B)
市面上卖硬盘的都是按1000计算,号称500G硬盘=5001000B1000KB*1000MB
1.2.5【磁盘原理案例】
企业案例:提升用户体验的网站解决方案 看具体需求,然后选择方案
1,门户(大网站)极端案例:
大并发写入案例(抢红包,微博)
高并发,大数据量,写数据会把数据写到内存,积累一定的量后,然后再定时或者定量的写到磁盘(减少磁盘IO Input/Output 磁盘读写),最终还是会把数据加载到内存中再对外提供访问。
特点:
a,优点:写数据到内存,性能高速度块(微博,微信,SNS,秒杀)
b,缺点:可能会丢失一部分在内存中还没有来得及存入磁盘的数据。
解决数据不丢的方法:
a,服务器主板上安装蓄电池,在断电瞬间把内存数据回写磁盘
b,UPS(一组蓄电池)不间断供电(持续供电10分钟,IDC数据IPS 1小时)。UPS (Uninterruptible Power
System/Uninterruptible Power
Supply),即不间断电源,是将蓄电池(多为铅酸免维护蓄电池)与主机相连接,通过主机逆变器等模块电路将直流电转换成市电的系统设备。
c,选双路电的机房,使用双电源,分别接不同路的电,服务器要放到不同的机柜,地区。
2,中小企业案例
对于并发不是很大,数据也不是特别大的网站,读多写少的业务,会先把数据写入到磁盘,然后再通过程序把写到磁盘的数据读入到内存里,再对外通过读内存提供访问服务。
小结:
门户极端案例:高并发,大数据
先把数据写到内存,然后再定时或定量写到磁盘,最终还是会加载到内存
特点:
a,高并发写入性能高
b,可能会丢失一部分在内存中还没来得及存入磁盘的数据
中小企业案例:
并发时很大的网站会先把数据存到磁盘,然后再通过程序把数据读入到内存里,在对外提供访问服务
温馨提示:
网站优化的核心就是想办法把数据放入内存提供服务,或者让用户写数据写到内存(这样最快)
3,企业面试题:buffer和cache什么区别?
看视频===>buffering把视频数据缓存到磁盘===>写数据到磁盘上或者写数据到内存中
cache===>从磁盘或者内存读取数据
简单解答:
写入数据到内存里,这个数据的内存空间称为缓冲区(buffer),写入缓冲区。
从内存读取数据,这个存数据的内存空间称为缓存区(cache),读取缓存区。
由于99%的网站都是以读取为主,写入为辅,读写比例至少10:1,所以并发写入一般不是问题。
提醒: 这里提到的内存和磁盘,是由多台机器组成的集群架构环境memcached(纯内存)/redis(内存加磁盘)
2.1 企业级服务器应用
1,常规正式工作场景(线上的生产环境)主选SAS(结合SATA和15000转/分,机械磁盘转数高的性能好)
2,比较核心的业务SAS
生产环境===>已经对外提供服务的环境
3,不对外提供访问的服务器,例如,线下的数据备份,可选SATA(7200-10000转/分)
SATA特点:容量大,价格便宜,但是速度比较慢。
4,高并发访问,小数据量,可以选择SSD
问:既然SSD最好,那是不是都选SSD?
淘宝网企业案例:
服务器会把sata和ssd结合起来用,热点存储,程序动态调度。
- 开发团队发明了一套算法,把那些访问很集中的一些东西放在那个SSD盘上,因为SSD提供很好的读性能,我们就让这些80%左右的这种读从SSD上产生,剩下的图片我们把它放在传统那种SAS或者更低廉的一些SATA盘上,这样我们整个节点的性能非常好,单机可以支撑三千到四千IO,这是我们系统没有任何显示出访问慢,或者其他不好的表现。
- 因为每台机器的成本又降得非常低,如果可以,比如说追求一个大的存储,我可以用全SSD,但是我SSD的成本相对要高很多,我可以用比较廉价的SAS或者SATA来存一些访问频度不是很高的,用SSD存访问频度高的文件,这样整体上的性能就协调的非常好,成本也非常低。整体上可以这么说,我们通过这样一年的优化,在原来硬件基础上投资50%实现了性能是原来两倍的一个架构。现在我们总体的这种TCO是原来的1/4左右。
热点存储的思路非常好,在学习磁盘组成和原理的内容时,有关热点数据的内容,必须要仔细体会。现如今看来,对很多中小型公司还是很新颖的存储方式。顺便说下,大公司无论做什么都要考虑性价比问题,而不光是要把问题解决,因为,设备的奇数太大,做一点点就会节省非常多的成本。阿里,联想的大规模云计算其实归根结底都在解决性价比问题,否则,就无法推向市场,真正的应用到商业市场中。
2.2 缓存
记住一句话:缓存无处不在,电脑硬件,网站集群!
这里做个了解即可
ns 纳秒 1s = 10^9 ns
us 微妙 1s = 10^6 us
ms 毫秒 1s = 1000ms
2.3 DELL阵列卡(RAID卡)
基本作用:
你有很多土地。
单独管理不方便。
整合,然后管理。
- 网站数据量很大的时候,单块盘装不下了,购买多块盘,又不想单个盘存放数据,就需要工具把所有的盘整合成一个大磁盘,再在这个大磁盘上在分区(虚拟磁盘)方数据
- 另外一大功能,多块盘放在一起可以有冗余(备份)。
RAID有很多种整合方式,RAID 0 1 5 10
有RAID卡后,一般磁盘就会插到RAID卡上,而不是直接插到主板上了
互联网公司服务器一般都会购买RAID卡(主板自带,独立RAID卡),RAID卡上也是有缓存的。
- 冗余从好到坏:raid1,raid10,raid5,raid0
- 性能从好到坏:raid0,raid10,raid5,raid1
- 成本从低到高:raid0,raid5,raid1,raid10
不同RAID级别的企业应用举例:
根据数据的存储和访问的需求,去匹配对应的RAID级别。====>适用于互联网公司
- 单台服务器,很重要,盘不多,系统盘raid1
- 数据库/存储服务器,主库raid10,从库raid5/raid0(为了维护成本,raid10)
- web服务器,如果没有太多数据的话,raid5,raid0(单盘)
- 有多台,监控/应用服务器,raid0,raid5.
2.3.1 raid0,1,5,10 简要特点描述
- Raid 0:追求极致的数据传输速度的磁盘存储解决方案(最快)
速度最快,但安全性最低,一块磁盘出了问题,所有的数据都会损坏且无法修复
- Raid 1:追求极致的数据安全的磁盘存储解决方案(最安全)
安全性最高,但磁盘利用率最低,只有50%。
- Raid 5:追求数据安全和存储成本兼顾的磁盘存储解决方案(比Raid10成本低)
数据读取比较快,但是写入速度一般。磁盘利用率高于Raid1
- Raid 10:追求数据传输和数据安全兼顾的磁盘存储解决方案(比Raid5性能高)
Raid10是Raid0和Raid1的组合体。Raid1这里就是一个冗余的备份阵列,而Raid0则负责数据的读写阵列。拥有极高的读写效率和数据安全保护。但是磁盘利用率低,价格比较贵。
2.4光驱
当下主要作用装系统
企业应用:
建议淘汰光驱,为老板省钱
U盘安装系统,网络安装(ftp,http),无人值守批量安装系统(pxe+kickstart)
2.5 主板
2.5.1 机房机柜里的服务器摆放
标签===>标记出每根线的用途
专业布线:什么是专业的,请看图
2.6 小结:
企业面试题
1,你用过的服务器型号有哪些?配置如何?
2,程序和进程(守护进程)的区别?
3,提升用户体验的网站解决方案
4,buffer与cache的区别?
5,描述Raid0 1的特点?