服务器大流量、高并发该怎么处理

发布时间:2023-05-26 18:16:35 作者:小海疼 阅读量:8766

所谓服务器大流量高并发指的是:在同时或极短时间内,有大量的请求到达服务端,每个请求都需要服务端耗费资源进行处理,并做出相应的反馈。

  所谓服务器大流量高并发指的是:在同时或极短时间内,有大量的请求到达服务端,每个请求都需要服务端耗费资源进行处理,并做出相应的反馈。

  如何看待高并发问题

  从服务端视角看高并发: 服务端处理请求需要耗费服务端的资源,比如能同时开启的进程数、能同时运行的线程数、网络连接数、cpu、I/O、内存等等,由于服务端资源是有限的,那么服务端能同时处理的请求也是有限的。

  高并发带来的问题: 高并发问题的本质就是:资源的有限性。因此,当高并发出现时,服务端的处理和响应会越来越慢,甚至会丢弃部分请求不予处理,更严重的会导致服务端崩溃。

  常用的高并发处理的思路与手段

  高并发处理的基本思路

  1)从客户端看 :尽量减少请求数量,比如:依靠客户端自身的缓存或处理能力;尽量减少对服务端资源的不必要耗费,比如:重复使用某些资源,如连接池客户端处理的基本原则就是:能不访问服务端就不要访问。

  2)从服务端看:增加资源供给,比如:更大的网络带宽,使用更高配置的服务器,使用高性能的Web服务器,使用高性能的数据库;请求分流,比如:使用集群,分布式的系统架构;应用优化,比如:使用更高效的编程语言,优化处理业务逻辑的算法,优化访问数据库的SQL。总之,基本原则是分而治之,并提高单个请求的处理速度。

  高并发处理的基本手段

  1) 客户端发出请求层面,常见的手段有:尽量利用浏览器的缓存功能,减少访问服务端,比如:js、css、图片等;可以考虑使用压缩传输的功能,减少网络流量,也会提高传输速度;考虑使用异步请求,分批获取数据。

  2) 前端接收客户端请求层面,常见的手段有:动静分离,部分静态资源可以直接从Nginx返回;按请求的不同,分发到不同的后端进行处理,比如:负载均衡、业务拆分访问等;前面再加上一层来做多个Nginx的负载均衡,比如:LVS、F5等;还可以在更前面使用CDN服务;还可以对动态内容进行缓存,尽量减少访问后端服务。

  3) Web服务器层面,常见的手段有:使用最新的JVM,并进行配置优化;对Web服务器进行配置优化,比如:调整内存数量、线程数量等;提供多个能提供相同服务的Web服务器,以实现负载均衡;仔细规划Web服务器上部署的应用规模;对Web服务器进行集群。

  4) Web应用层面,常见的手段有:动态内容静态化、Java开发优化、优化处理业务逻辑的算法、合理高效的利用缓存;优化访问数据库的Sql,可以考虑利用存储过程等数据库的能力;合理使用多线程,加快业务处理;部分业务可以考虑内存数据库,或者是进行纯内存处理;尽量避免远程调用、大量I/O等耗时的操作;合理规划事务等较为耗资源的操作;合理使用异步处理;对部分业务考虑采用预处理或者预计算的方式,减少实时计算量;内部系统间业务尽量直接调用、直接处理,减少WebService、工作流等。

  5) 数据库层面,常见的手段有:合理选择数据库的引擎,比如Mysql的InnoDB与MyISAM引擎;进行配置优化;可以考虑使用存储过程来处理复杂的数据逻辑;数据库集群,进行读写分离;合理设计数据库的表结构、索引等;分库、分表,降低单库、单表的数据量。

  

***本网站图片,文字之类版权申明,因为网站可以由注册用户自行上传图片或文字,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除。

我要评论

网友评论


评论时间:2024-05-07 09:25:01

2.要保证每个用户都能够获得足够的带虚拟主机技术名词解释 宽资源服务器做存储使用 能够获得足够的带宽资源


评论时间:2024-04-05 09:25:02

目前国内市场上销售的绝大多数还是基于云主机选购 ARM架构的嵌入式软件服务器版便宜的云主机 99一年 架构的嵌入式软件服务器版

最新文章

 2023-12-25 22:44:35   admin

活动发布区版规

 2023-05-27 22:03:52   御风而行

容器、无服务器、虚拟机:安全性差...

 2023-05-27 19:08:41   小绵羊0123

科技巨头布局云端 服务器 网络硬...

 2023-05-27 18:17:46   姐姐的跟屁虫

钉钉因系统访问流量激增,宕机1小...

热门阅读

 2022-07-23 00:34:02   freeatom

常见ftp命令 FTP命令使用详...

 2022-07-21 02:17:02   ares

双硬盘组建Raid0磁盘阵列图文...

 2022-07-20 06:17:02   mankeung123

用友软件客户端连接不上服务器的解...

 2022-07-23 00:51:02   antonfxb

WebService实例

 2022-07-13 05:38:02   苯小孩

开发、运维不可不看的Linux调...

 2022-07-20 18:51:02   nightstone

如何使用Charles抓取Web...

随机文章

 2021-12-26 05:38:02   爱UUD哒

为什么服务器托管比租用费用高?

 2022-03-17 05:38:02   longmei

如何使用nslookup命令检查...

 2022-03-28 05:38:03   han890926

Nginx 配置实例

 2022-07-19 04:51:02   ※幽魂※

哪些网络工具可用于公共云监控?

 2022-07-19 09:34:02   congyee

PHP视频教程下载

 2022-07-19 10:17:02   qwerr

DHCP服务器搭建与配置

热评文章

 2022-07-19 20:17:02   dengyu0429

linux vi使用及详细介绍

 2022-07-20 01:00:05   激动的舌头

Linux视频教程:用户管理命令...

 2022-07-21 20:51:02   jessica-an

创建本地FTP站点

 2022-02-07 05:38:03   jasonkidd

WEB服务器配置详解

 2022-07-20 04:51:02   wolfssss

ACL权限-默认与递归(4)

 2022-07-22 15:00:05   淡水珊瑚

Linux下 Samba Ser...
全球云服务器
Catfish(鲶鱼) Blog V 4.7.3