高并发环境如何有效缓解带宽压力

news2025/2/28 19:55:45

  网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。网络和高速公路类似,带宽越大,就类似高速公路的车道越多,其通行能力越强。
  在持续的多用户、高并发的情况下,缓解带宽压力可以避免客户端卡顿,提高程序应对高并发的能力。


一、在Http报文中做手脚

1.压缩后再传输

  gzip是一种数据压缩格式,通常对前端所需要的静态文件进行压缩,有效减少网络传输的字节数。他先把文本压缩为.gz然后传输给浏览器,最后由浏览器负责解压缩呈现给用户。老版本的浏览器可能不能显示,但是现在大多数浏览器都能显示。
在这里插入图片描述

2.内容排列顺序优化

  gzip对于要压缩的文件,首先使用LZ77算法的一个变种进行压缩,对得到的结果再使用哈夫曼编码(根据情况,使用静态哈弗曼编码或动态哈夫曼编码)的方法进行压缩。
  根据gzip的压缩的压缩原理可以知道,重复度越高,压缩比越高,因此可以将字符串和数字内容放在一起摆放。

  • LZ77算法

  LZ77的核心思路是如果一个串中有两个重复的串,那么只需要知道后面的串与前面串重复的长度和后面串起始字符与前面串起始字符相对于起始位置的距离。

ABCCDEFABCCDEGH
通过LZ77算法可压缩为ABCCDEF(7,6)GH,其中7表示重复串起始字符A到前面串起始字符的距离,6表示重复部分的长度(ABCCDE)。

在这里插入图片描述

  • 哈夫曼编码
      哈夫曼编码根据字符出现的概率来构造平均长度最短的编码.换句话说如果一个字符在一段文档当中出现的次数多,它的编码就相应的短。
    在这里插入图片描述

3.简化Respone body的结构

  能简则简,要做到既能节省传输的数据量,又使用方便。
  下图右边也是内容排列顺序优化后的结果,这样的排序压缩比率高。
在这里插入图片描述

  

二、频率控制

1.带宽控制

  通过添加请求间隔参数(下次请求时间),保证客户端的请求频率服务端可控;或设置流控规则,保证服务器资源的申请频率可控。以应对突发的流量增长问题,提供有损的服务。
在这里插入图片描述

2.稀疏控制

  在访问量稀疏的时间段,弹性的设置用户请求的限制,避免客户端的无效请求。

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

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

相关文章

IO和NIO

什么是I/O模型: 通常情况下I/O操作是比较耗时的,所以为了高效的使用硬件,应用程序可以专门设置一个线程进行I/O操作,而另外一个线程则利用CPU的空闲去做其他计算,这种为提高应用执行效率而采用的I/O操作方法称为I/O模型&#xff…

【笔记】ASP.NET Core技术内幕与项目实现:基于DDD与前后端分离

最近在写论文,想使用ASP.NET Core Web API技术,但对它还不是很熟,鉴权组件也没用过,于是在网上查找资料,发现了杨中科老师写的这本书(微信读书上可以免费看),说起来我最初自学C#时看…

C++:类中const修饰的成员函数

目录 一.const修饰类的成员函数 1.问题引出: 代码段: 2.问题分析 3.const修饰类的成员函数 二. 类的两个默认的&运算符重载 三. 日期类小练习 一.const修饰类的成员函数 1.问题引出: 给出一段简单的代码 代码段: #in…

springcloud3 Sentinel的搭建以及作用

一 sentinel的概念 1.1 sentinel Sentinel是分布式系统流量控制的哨兵,阿里开源的一套服务容错的综合性解决方案。 主要用来处理: 服务降级 服务熔断 超时处理 流量控制 sentinel 的使用可以分为两个部分: 核心库(Java 客户端&#…

【软件工程】用例图、状态图与活动图

题目要求: 一、投诉人对广州市燃气行业相关单位的经营和服务不满意或存在意见时,对燃气处或市政园林局服务监督处进行投诉。 二、燃气处投诉专管员受理直接来自投诉人或由服务监督处转来的相关投诉。 三、燃气处投诉专管员落实相关单位(或…

DlhSoft Gantt Chart Light Library 4.3.47 Crack

DlhSoft Gantt Chart Light Library 4.3.47 改进了 Microsoft Project XML 文件的加载和图像的导出。 2023 年 1 月 24 日 - 10:09新版本 特征 改进了 Microsoft Project XML 文件的加载和从“ScheduleChartDataGrid”导出图像。 添加了新的“TotalResourceEffort”和“TotalRe…

USART 数据流控制

USART 数据流控制 也就是 USART_HardwareFlowControl 一、流控制的作用 这里讲到的 “流”,指的是数据流;在数据通信中,流控制是管理两个节点之间数据传输速率的过程,以防止出现接收端的数据缓冲区已满,而发送端依然继…

3.5动态规划--凸多边形的最优三角剖分

写在前面 尽管这是一个几何问题,但本质上与3.1-矩阵连乘极为相似 定义dp数组的含义:t[i][j]表述以点Vi-1,Vi,...,Vj为顶点的最优三角形剖分的最优权函数值 我们要计算的最优值在 t[1][n] 递归结构:凸多…

通过Moonbeam的Connected Contracts互连合约从Axelar转移Token至Centrifuge

将Moonbeam预编译智能合约功能与波卡指定技术交互,再结合Axelar通用消息传递(GMP),能够实现其他链无法完成的独特交互。阅读本文了解Connected Contracts互连合约如何通过只与单条链交互连接Axelar的EVM链发送Token至Centrifuge等…

四、新图片、新视频预测(Datawhale组队学习)

文章目录配置环境预测新图像载入图像并进行预处理导入训练好的模型前向预测将分类结果写入原图中预测新视频导入训练好的模型视频预测单帧图像分类预测可视化方案一:原始图像预测结果文字可视化方案二:原始图像预测结果文字各类别置信度柱状图预测摄像头…

Mybatis 基本使用案例

1、基本的CRUD 1.1、新增 <!--int insertUser();--> <insert id"insertUser"> insert into t_user values(null,admin,123456,23,男) </insert> 1.2、删除 <!--int deleteUser();--> <delete id"deleteUser"> delete fro…

【docker概念和实践 4】容器命令和案例(2)

一、说明 docker的四个要素是&#xff1a;本地的Docker-engine、网上&#xff08;本地&#xff09;的仓库、镜像images、容器&#xff1b;初学者必须了解这是个概念的关系。但是&#xff0c;真正重要的概念是容器&#xff0c;因为&#xff0c;只有掌握了容器&#xff0c;才能具…

3.2主存储器的基本组成

文章目录一、引子二、半导体元件1.基本半导体元件&#xff08;1&#xff09;MOS管&#xff08;2&#xff09;电容2.读写二进制数&#xff08;1&#xff09;读出二进制①二进制1②二进制0&#xff08;2&#xff09;写入二进制3.存储体三、存储芯片的基本原理1.译码器2.控制电路3…

由Bitlocker问题引发的思考

由Bitlocker问题引发的思考一、什么是Bitlocker问题二、如何解决Bitlocker问题三、萌生的思考一、什么是Bitlocker问题 Bitlocker概述 BitLocker 驱动器加密是一项数据保护功能&#xff0c;它与操作系统集成&#xff0c;用于解决来自丢失、被盗或销毁不当的计算机的数据被盗或…

高级Spring之Bean后处理器

常见Bean后处理器的作用&#xff1a; public static void main(String[] args) {// ⬇️GenericApplicationContext 是一个【干净】的容器 干净:没有额外的添加bean工厂处理器,bean处理器,消除一些干拢GenericApplicationContext context new GenericApplicationContext();//…

(深度学习快速入门)第三章第三节3:深度学习必备组件之优化器和优化算法

文章目录一&#xff1a;优化算法&#xff08;1&#xff09;优化算法概述&#xff08;2&#xff09;梯度下降法二&#xff1a;优化器一&#xff1a;优化算法 &#xff08;1&#xff09;优化算法概述 优化算法&#xff1a;对于深度学习问题&#xff0c;我们通常会先定义损失函数…

【华为上机真题】寻找相同子串

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

2023牛客寒假算法集训营3

&#xff08;数学场真折磨人&#xff09; A. 不断减损的时间&#xff08;贪心&#xff09; 题意&#xff1a; 给定一个数组&#xff0c;任意次操作&#xff0c;每次操作可以 选择一个偶数除以 222 。 求最终数组所有元素之和的最小值。 思路&#xff1a; 要使得所有元素之…

(python)selenium工具的安装及其使用

selenium概述 一个自动化测试工具。它可以让python代码调用浏览器。并获取到浏览器中加载的各种资源 优缺点&#xff1a; 优点 selenium能够执行页面上的js&#xff0c;对于js渲染的数据和模拟登陆处理起来非常容易使用难度简单爬取速度慢&#xff0c;爬取频率更像人的行为&a…

k8s安装nfs设置pv pvc并部署mysql

在k8s系列第一篇中提到有一个用于nfs机器没有部署任何东西&#xff0c;这一篇我们来搭建nfs服务&#xff0c;并在k8s上部署mysql&#xff0c;并将mysql的data目录映射到nfs中。网上的部分教程为了简便教学用的hostPath做的映射&#xff0c;只是便于教学的简便做法&#xff0c;实…