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

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

假如你开发了一个网站或者一个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的《网工大礼包》

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ES6学习(五):async和await的使用

async和await是promise的一种语法糖,也就是更简单易懂的写法。 在很多项目中,你会经常看到async和await的配合使用,看到原始的promise写法反而不多,就是因为async-await这种写法是用同步的语法去实现异步的逻辑。 基础使用 原生promise写法 let value nulllet proFn new P…

“关爱长者 托起夕阳无限美好”清峰公益开展寒冬暖心慰问活动

2023年12月23日,陆丰市清峰公益服务中心在陆丰市潭西镇党群服务中心开展爱老敬老寒冬暖心慰问活动。此次活动是陆丰市清峰公益服务中心自11月中下旬“清峰公益 凝聚慈善力量 共创美好生活”项目启动仪式后开展的首次暖心慰问活动,活动还特意为老人们准备…

地图导航测试点总结

地图导航是我们经常使用的工具,能帮助我们指引前进的方向。 接下来,会从功能测试、UI测试、兼容测试、安全测试、网络测试、性能测试、易用性测试、文档和国际化语言测试8个方面来编写地图导航测试用例。 一、功能测试 1. 输入起点和终点,…

松柏之志,下聚百川-松下中国阿里云大数据实践

作者:南宫兰 松下信息系统(上海)有限公司 数据分析部部长 松下集团在中国及东北亚地区拥有有64家法人公司,员工人数约4万人,业务范围涉及研究开发,养老、铸件、汽车、车载、能源、电池等多个方面&#xff…

【MySQL】:超详细MySQL完整安装和配置教程

🎥 屿小夏 : 个人主页 🔥个人专栏 : MySQL从入门到进阶 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. MySQL数据库1.1 版本1.2 下载1.3 安装1.4 客户端连接 🌤️全篇总…

YOLOv5 目标计数 | 图片上绘制计数结果

修改方法: 只需要改 detect.py for path, im, im0s, vid_cap, s in dataset: 下新增一行 class_counts = {} class_counts[int(c)] = class_counts.get(int(c

vs code 代码统计 插件 (webstorm统计代码)

https://blog.csdn.net/aikudexiaohai/article/details/129367503 安装插件 VS Code Counter使用快捷键 Ctrl Shift P,搜素“VSCodeCounter”,选择 Count lines in directory。 在文件路径搜索框中,补充待统计的目录,如&#x…

我在 VSCode 插件里接入了 ChatGPT,解决了Bug无法定位的难题

作为一名软件开发者,我时常面临着代码中Bug的定位和解决问题。这个过程往往既费时又充满挑战。然而,最近我在我的VSCode插件中接入了ChatGPT,这个决定彻底改变了我处理Bug的方式。 Bug:开发者的噩梦 在开发过程中,遇…

靠一首诗流芳后世的26位诗人

中国古代诗词史上的文人墨客众多,著名的诗词大家也不少,尤其是唐宋以来,可谓是人才辈出,从李白、杜甫到苏轼、辛弃疾,从李清照、朱淑贞到纳兰性德等。 当然,在浩瀚的诗词史上,哪个文人不想名传…

Vscode运行调试文件

文章目录 vscode调试运行流程vscode 执行报错settings.json成功截图 vscode调试运行流程 vscode左侧菜单栏点击运行调试icon,点击菜单右侧栏运行和调试按钮,选择node调试器,js文件行数左边点击添加红色断点,运行当前文件 vscode…

Python-Mac格式转换脚本

一、原因: 将c4:ef:da:12:5c:53 变为 c4ef-da12-5c53 二、代码 import remac_addresses []# Read the file with open(client_list.txt, r) as file:# Read file contents into a listmac_addresses [line.strip() for line in file]# Process and print MAC add…

QA 团队基于 DataLeap 开放平台能力的数据测试实践

背景 &痛点 随着生态体系扩展和业务发展,数据在业务中承担的决策场景越来越多样化,一部分数据已应用在资损、高客诉等高风险场景,因此对数据质量的要求,尤其是高风险场景的质量要求非常之高。但在保障过程中往往面临以下痛点…

基于MPU6050的跌倒检测项目设计

一、背景 随着人口老龄化的不断加剧,老年人的健康和安全问题备受关注。本设计旨在利用STM32单片机与MPU6050传感器相结合,实现基于角度变化的跌倒检测系统。这一系统不仅能够快速、准确地检测老年人是否发生跌倒,还通过整合通信模块实现了实…

Non-Contrastive Unsupervised Learning of Physiological Signals from Video

研究背景 基于相机的生命体评估是一个快速增长的领域,可以在各种设置中进行非接触式健康监测。虽然许多信号避免了人眼的检测,但可见光和红外范围内的视频数据包含由血量和呼吸等生理逻辑振荡引起的微妙强度变化。用于估计心脏脉搏的远程光电容积术&…

外汇天眼:最新监管警告名单更新,远离以下无牌黑户!

监管信息早知道!外汇天眼将每周定期公布监管牌照状态发生变化的交易商,以供投资者参考,规避投资风险。如果平台天眼评分过高,建议投资者谨慎选择,因为在外汇天眼评分高不代表平台没问题! 以下是监管牌照发生…

到底是前端验证还是后端验证

背景 软件应用研发中, 前端验证还是后端验证这是意识与认知问题。鉴于某些入门同学还不清楚,我们再来看下: 一. 从软件行业来自国外 Q: 前端验证和后端验证都是对同一个数据的验证,有什么区别? A: 二者的目的不同&…

【网络安全】Log4j 远程代码执行漏洞解析

一、简介 Log4j2 是一个用于 Java 应用程序的成熟且功能强大的日志记录框架。 它是 Log4j 的升级版本,相比于 Log4j,Log4j2 在性能、可靠性和灵活性方面都有显著的改进。 二、特点 Log4j2 是一个功能强大且灵活的日志记录框架,旨在提供高…

基于深度学习的安全帽检测识别系统(含UI界面,yolov8、Python代码,数据集)

项目介绍 项目中所用到的算法模型和数据集等信息如下: 算法模型:     yolov8 yolov8主要包含以下几种创新:         1. 添加注意力机制(SE、CBAM等)         2. 修改可变形卷积(DySnake-主干c…

猫头虎分享2023年12月17日博客之星候选--城市赛道博主文章数据

猫头虎分享2023年12月17日博客之星候选–城市赛道博主文章数据 博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开…

一文搞懂设计模式之建造者模式

大家好,我是晴天,我们又见面了,这周我们继续学习一文搞懂设计模式系列,本周将一起学习建造者模式(生成器模式) 什么是建造者模式 建造者模式(也称为生成器模式)是一种创建型设计模式…