售前工程师宝典:整理服务器最全知识点

news2024/9/25 11:16:46

如何保证服务器可以支持百万用户访问?服务器品牌有哪些?如何选购服务器?对于这些问题,今天我们就一起来看下关于服务器的相关知识。

假如你开发了一个网站或者一个app把他放到服务器上,之后你把它发布到了网上,运行良好,每天有几百人的访问量,用户量不大,能快速地响应用户的请求。

但是随着你的运营,你的网站或app出名了,服务每天要承担着成千上万的人来访问,这个时候对你来讲,这是个好消息,但是对你的服务器来说这是个坏消息,因为它变得慢了,用户多了,打开速度就慢了,服务器就很卡,所以它需要扩展了,你的服务器需要为成千上万的用户提供 7*24 不宕机服务,那么如何扩展,才能保持服务器不宕机呢?在这里插入图片描述

一、服务器如何才能保证成千上万的人访问呢?

1、引入负载均衡器

负载均衡器的使用使得我们可以在多个服务器之间分配负载。

例如:

想象下有一万个用户在一分钟内来访问你的服务器。

遗憾的是,你的服务器在一分钟内只能保证5千个用户的流畅访问。这怎么办呢?同时运行两个服务器就行了,就是增加了服务器来分配负载。在这里插入图片描述

负载均衡器的功能就是把访问请求分发到两台服务器上。用户 1 往左,用户 2 往右,用户 3 再往左。。。以此类推。

如果一次有 100万个用户同时访问服务器,这该怎么解决呢?确切地说,你可以扩展到200台付款服务器,之后让负载均衡器分发请求到这200服务器上。

2、扩展数据库

虽然我们上面提到,关于大量的用户,我们可以用成百上千台服务器处理请求,但是他们都是用同一个数据库存储和检索数据。

那么,我们不能以同样的方式来扩展数据库吗?稍有不同。

我们需要做的第一件事是把数据库分成多个部分。一部分专门负责接收并存储数据,其他部分负责检索数据。

3、缓存和内容分发网络(CDN)在这里插入图片描述

有什么方式能使服务更高效?

我们使用缓存而不是对每个请求都重新处理,缓存用于记住最后一次的结果并交由其他服务或者客户端,这样就不用每次都请求后端服务了。

缓存的加强版叫内容分发网络(CDN),遍布全球的大量缓存。将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

这使得用户可以从物理上靠近他们的地方来获取网页内容,而不是每次都把数据从源头搬到用户那里。在这里插入图片描述

4、分片处理在这里插入图片描述

分片究竟是什么意思呢?其实也很简单:Facebook 上需要为 20 亿用户提供个人资料, 可以把你的应用架构分解为 26 个 mini-Facebook。

用户名如果以 A 开头,会被 mini-facebook A服务器 处理, 用户名如果以 B 开头,会被 mini-facebook B服务器 来处理……

分片不一定按字母顺序,根据业务需要,你可以基于任何数量的因素,比如位置、使用频率(特权用户被路由到好的硬件)等等。你可以根据需要以这种方式切分服务器、数据库或其他方面。

二、服务器品牌

服务器的品牌非常多,应用在各个领域中,我们来看下服务器用的多品牌有哪些。在这里插入图片描述

不止这些,还有中兴、清华同方、富士通、海康等等,也是大家用的多的品牌。

三、服务器选购主要参数有哪些?

1、带宽:服务器5M带宽在线多少人?

我这里详细的给你介绍下,带宽和同时在线人数的计算,也方便后面有想了解的朋友在你这个提问上寻找答案。

首先,服务器带宽说的5M带宽,实际上是5Mbps/=625KB,需要是独享带宽,共享的话因为他人的因素无法计算。

然后计算你的网站大小,普通大小的网站页面(图片少,压缩过,代码优化)只有几K,我们姑且按照50K计算。

所以 625kb/50k=12.5人,大概同时在线12.5人访问这个50KB的页面是没有问题的。

要值得注意,这个是同时,也就是传统意义上的同一秒,只要有先后发送请求的顺序就可以错开,所以5M带宽严格意义上是很大的,如果你的页面小,几乎可以满足千人在线,因为大部分的人都是点击后浏览页面的,不会说一直给你发送请求。

2、CPU

中央处理器(CPU,Central Processing Unit)是是一台计算机的运算核心和控制核心。

计算机的性能在很大程度上由CPU的性能决定,而CPU的性能主要体现在其运行程序的速度上。影响运行速度的性能指标包括CPU的工作频率、Cache容量、指令系统和逻辑结构等参数。

主频:主频也叫时钟频率,单位是兆赫(MHz)或千兆赫(GHz),用来表示CPU的运算、处理数据的速度。通常,主频越高,CPU处理数据的速度就越快;

缓存(Cache):实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是由于CPU芯片面积和成本的因素来考虑,缓存都很小;

核心数:般情况下每个核心都有一个线程,几核心就有几线程,但是intel发明了超线程技术,可以让单核模拟多核心工作,intel的超线程可以让单核心具有两个线程,双核四线程 ;

线程数 :线程数多当然速度就快,但功耗就大 ,从英特尔品牌来看,主要有酷睿、至强、奔腾、凌动、赛扬、安腾和应用在物联网领域的几大品类。PC多以酷睿系列为主,至强则是服务器级处理器的唯一选择。在真实的场景中,确实有玩家将至强E3处理器应用在PC之上,这主要是因为服务器级CPU会比一般PC能支持更大的缓存和多处理(安装了多个物理CPU)。在这里插入图片描述

3、芯片组

这里说的芯片组,是X86系统独有的,一般RISC处理器都是SoC,芯片即为系统;X86比较独特,以前是由CPU、南桥、北桥组成一个系统,现在是由CPU+PCH形成一个系统。因为接口和总线太多,太复杂,又由于X86系统一直传承着继承性,兼容性等特点,所以多个处理器可以匹配不同主板,同一个主板可以适配多种处理器,所以这样做了功能拆分。

4、内存

服务器采用专用的ECC校验内存,并且应当与不同的CPU搭配使用。通常情况下,内存数量越大,服务器的性能越高。特别是对于数据库服务、代理服务、Web服务等网络服务而言,内存数量显得尤其重要。通常情况下,入门级服务器的内存不应该小于2GB,工作组级的内存不小于4GB,部门级的内存不小于8GB。

5、硬盘

SATA:Serial ATA接口,即串行ATA,采用串行技术以获得更高的传输速度及可靠性。目前是第二代即SATAII。

SCSI:全称为“SmallComputer System Interface”(小型计算机系统接口),具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,主要应用于中、高端服务器和高档工作站

SAS:Serial Attached SCSI接口,即串行SCSI, 采用串行技术以获得更高的传输速度。目前仍然是第一代

SSD:固态存储硬盘(Solid State Disk)其特别之处在于没有机械结构,以区块写入和抹除的方式作读写的功能,与目前的传统硬盘相较,具有低耗电、耐震、稳定性高、耐低温等优点。在这里插入图片描述
在这里插入图片描述

另外,为了扩充数据存储空间,保证数据存储的安全性,成倍提高数据读取速度,部门级和企业级服务器还往往采用SAS RAID卡,将若干硬盘组建为磁盘阵列。入门级服务器可采用廉价的SATA RAID卡,以实现相似的功能。

6、网卡

既然服务器要为网络中其他计算机提供服务,自然就要实现与其他计算机之间的通讯。即使服务器的处理能力很高,如果无法快速响应客户端的请求,那么,就会给网络传输造成瓶颈。因此,服务器应当连接在传输速率最快的端口上,并最少配置一块千兆网卡。对于某些有特殊应用的服务器(如FTP服务器、文件服务器或视频点播服务器),还应当配置两块千兆网卡。需要注意的是,千兆网卡通常需要安装在64位PCI插槽中。

7、冗余

可靠性是服务器最重要的指标。既然服务器在网络中的作用如此重要,那就要求服务器必须非常稳定,以便能随时为客户端能提供服务,也就是说,服务器需要不间断地工作。另外,所有重要数据都存储在服务器上,一旦硬盘损坏,数据将全部丢失。为了保证系统的可靠性,服务器采用了专门的技术。

磁盘冗余。磁盘冗余采用两块或多块硬盘来实现磁盘阵列,即使一块硬盘损坏,也不会丢失数据。

部件冗余。由于所有硬件设备都有发生故障的可能,因此,许多重要硬件设备都不止一个,例如,网卡、电源、风扇,这样可以保证部分硬件损坏之后,服务器仍然能够正常运行。

热插拔。所谓热插拔,是指带电进行硬盘或板卡的插拔操作,实现故障恢复和系统扩容。既然服务器是7×24小时工作的,那么,即使在更换或添加硬盘,甚至在插拔板卡时也不能停机。因此,热插拔对于服务器则言,就显得非常重要。

8、可扩展性

服务器的可扩展性既被用于部件冗余以保证运行的稳定性,同时,也被用于提升系统配置、增加功能。因此,服务器除了有较多的硬盘位置、内存插槽、CPU插座外,还拥有丰富的板卡插槽。如果硬盘数量较多,还应当能够扩充电源模块。

关注公众号↑↑↑:IT运维大本营,获取60个G的《网工大礼包》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1334711.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Matlab/Simulink的一些功能用法笔记(3)

01--引言 最近加入到一个项目组,有一些测试需要去支持,通过了解原先团队的测试方法后,自己作了如下改善,大大提高了工作效率。这也许就是软件开发的意义吧,能够去除一些重复的机械的人工操作并且结果还非常不可靠。 …

一位年薪35W的全栈开发被开除,回怼的一番话,令人沉思

一位年薪35W开发工程师被开除回怼道:“反正我有技术,在哪不一样” 一技傍身,万事不愁,当我们掌握了一技之长后,在职场上说话就硬气了许多,不用担心被炒,反过来还可以炒了老板,这一点…

iOS苹果App应用程序上架后提示有三方登入是怎么回事?如何解决?

Hello大家好!我是咕噜铁蛋!现在越来越多的 App 都提供了三方登入功能,比如使用微信、QQ、微博等社交媒体账号登入。但是,有些开发者在将 App 上架到苹果应用商店时,会遇到提示“您的应用程序使用了第三方登录”的问题。…

BERT的学习

BERT 1.前言 self-supervised learning是一种无监督学习的特殊形式,算法从数据本身生成标签或者目标,然后利用这些生成的目标来进行学习。(也就是说数据集的标签是模型自动生成的,不是由人为提供的。)例如&#xff0…

<<USB2.0>>第2章:大局观

2.7、USB外设连接 Full-Speed Hubs High-Speed Hubs

智能监控平台/视频共享融合系统EasyCVR点击通道后页面分页不显示是什么原因?如何解决?

TSINGSEE青犀视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力&…

国产POE芯片-XS2184四通道,兼容 IEEE 802.3at/af,内建 N-MOSFET以太网供电 PSE 控制器

XS2184 是一个四通道、供电设备( PSE )电源控制器,内建 N 通道 MOSFET ,设计用于 IEEE 802.3at/af 兼容 PSE 。器件提供用电设备( PD )侦测、分级、限流以及负载断开检测。器件支持自动工作和软件编程。器…

Redis缓存常见问题之预热、雪崩、击穿、穿透

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理、数据库技术🔥如果感觉博主的文章还不错的…

如何使用Jellyfin结合内网穿透搭建私人影音平台远程可访问

作者简介: 懒大王敲代码,计算机专业应届生 今天给大家如何使用Jellyfin结合内网穿透搭建私人影音平台远程可访问,希望大家能觉得实用! 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 前言…

怎么制作挪车电话二维码?扫码直接拨号的快捷方法

怎么制作挪车电话二维码?现在遇到需要挪车情况是,经常会发现很多车主都将自己的联系方式做成二维码图片放在车上,其他车主只需要扫码就可以直接获取手机号拨打,无需自己手动输入手机号,更加的简单方便。那么想要将手机…

【算法】利用双指针法解决算法题(C++)

文章目录 1. 前言2. 双指针法引入283.移动零 3. 使用双指针法解决算法题1089.复写零202.快乐数11.盛最多水的容器[611.有效三角 形的个数](https://leetcode.cn/problems/valid-triangle-number/description/)LCR179.查找总价格为目标值的两个商品15.三数之和18.四数之和 1. 前…

Scala(一)基本类型

Scala语言快速入门(基本类型) 一、Linux和Windows环境安装 这部分跳过,直接使用IDEA进行搭建,和其他编程语言配置差不多 二、HelloWorld 1.object表示一个伴生对象(相当于一个对象)2.HelloWorld是对象的…

Java项目-瑞吉外卖项目优化Day2

读写分离Linux配置 如果只有一台数据库,会导致数据库压力过大,也可能出现磁盘损坏数据丢失的情况。所以考虑借助mysql数据库的主从复制解决以上两个问题。 mysql主从复制的原理 实现主从复制的操作 注意此处的master_log_file的值和master_log_pos的值要…

渗透测试——1.1初认识kali

一、kali的下载 官方地址:www.kali.org 下载后压缩就可用vmware打开即可(初始账号和密码都是kali) 二、三种网络配置 1、桥接模式:将虚拟机看成局域网中的独立主机 2、NAT模式:将物理机当做路由器(rout…

php一句话木马变形技巧

一、什么是一句话木马? 一句话木马就是只需要一行代码的木马,短短一行代码,就能做到和大马相当的功能。为了绕过waf的检测,一句话木马出现了无数中变形,但本质是不变的:木马的函数执行了我们发送的命令。 …

深度学习 | 基本循环神经网络

1、序列建模 1.1、序列数据 序列数据 —— 时间 不同时间上收集到的数据,描述现象随时间变化的情况。 序列数据 —— 文本 由一串有序的文本组成的序列,需要进行分词。 序列数据 —— 图像 有序图像组成的序列,后一帧图像可能会受前一帧的影响…

开源持续测试平台Linux MeterSphere本地部署与远程访问

文章目录 前言1. 安装MeterSphere2. 本地访问MeterSphere3. 安装 cpolar内网穿透软件4. 配置MeterSphere公网访问地址5. 公网远程访问MeterSphere6. 固定MeterSphere公网地址 前言 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能&am…

C# 读取Word表格到DataSet

目录 功能需求 Office 数据源的一些映射关系 范例运行环境 配置Office DCOM 关键代码 组件库引入 ​核心代码 杀掉进程 总结 功能需求 在应用项目里,多数情况下我们会遇到导入 Excel 文件数据到数据库的功能需求,但某些情况下,也存…

算法中的数学一:判定质数和求约数相关

1.试除法求质数 质数就是大于1的整数中除了1和自身没有其他因数的数 1.1暴力求解 暴力求解的思路就是从2遍历到自身判断是否有被整除的数&#xff0c;时间复杂度为O(n)的 bool is_prime(int x) {if(x<2)return false;for(int i2;i<x;i){if(x%i0){return false;}}return…

LSTM和GRU vs 循环神经网络RNN

1、考虑下列三种情况下&#xff0c;对比一下普通RNN的表现和LSTM和GRU表现&#xff1a; &#xff08;1&#xff09;早期观测值对预测未来观测者具有非常重要的意义。 考虑一个极端情况&#xff0c;其中第一个观测值包含一个校验和&#xff0c; 目标是在序列的末尾辨别校验和是…