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

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

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

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

从服务端视角看高并发

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

高并发带来的问题

服务端的处理和响应会越来越慢,甚至会丢弃部分请求不予处理,更严重的会导致服务端崩溃。

[[247221]]

 

高并发处理的基本思路

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引擎

进行配置优化

可以考虑使用存储过程来处理复杂的数据逻辑

数据库集群,进行读写分离

合理设计数据库的表结构、索引等

分库、分表,降低单库、单表的数据量

责任编辑:武晓燕 来源: 今日头条
相关推荐

2018-05-30 09:47:02

2018-09-11 08:37:05

高并发服务器优化

2018-09-11 09:25:37

高并发大流量网站

2019-12-27 11:13:24

高并发服务器逻辑

2010-12-10 08:51:13

Web 2.0Cache集群

2018-02-27 14:30:17

2018-10-18 10:17:40

服务器并发多线程

2018-06-29 09:06:26

高并发服务器优化

2009-07-31 09:32:10

服务器魔兽并发

2020-10-16 16:40:26

Linux高并发命令

2024-10-08 16:26:28

2013-06-21 14:20:00

IISWeb服务器

2021-01-13 05:27:02

服务器性能高并发

2020-11-10 07:46:09

服务器高并发高性能

2016-08-04 16:04:56

2012-01-18 11:25:36

服务器优化

2022-09-05 09:02:01

服务器CPU服务

2010-12-20 09:58:15

LVS系统优化

2009-11-25 13:45:06

linux服务器并发处理数

2022-04-18 10:54:49

券系统缓存 RedisMySQL
点赞
收藏

51CTO技术栈公众号