当前位置: 首页 > 科技观察

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

时间:2023-03-18 16:24:37 科技观察

所谓服务器高流量高并发就是大量的请求同时或者在极短的时间内到达服务器,而每一个请求需要服务器消耗资源进行处理。并给予相应的反馈。常用的高并发处理思路和方法从服务端来看,高并发服务端处理请求需要消耗服务端资源,比如可以同时开启的进程数,可以同时运行的线程数、网络连接数、cpu、I/O、内存等,因为服务器的资源是有限的,服务器可以同时处理的请求也是有限的.高并发问题的本质是,由于资源有限,高并发,服务器的处理和响应会越来越慢,甚至有些请求不处理就被丢弃,更严重的会导致服务器崩溃。高并发处理的基本思想1)尽量减少客户端的请求次数,例如:依靠客户端自身的缓存或处理能力,尽量减少对服务器资源不必要的消耗,例如:复用某些资源,例如connectionpools客户端处理的基本原则是:不能访问服务器就不要访问2)从服务器的角度,增加资源供给,比如:更大的网络带宽,使用更高配置的服务器,使用高性能Web服务器,使用高端基于性能的数据库请求分发,如:使用集群,分布式系统架构应用优化,如:使用更高效的编程语言,优化处理业务逻辑的算法,优化SQL访问数据库基本原则:分而治之,提高单次请求性能高处理速度和并发p的基本手段处理1)在客户端的请求层面,常见的手段有:尽量使用浏览器的缓存功能,减少对服务器的访问,如:js、css、图片等可以考虑使用压缩传输功能,减少网络流量也会提高传输速度。考虑使用异步请求批量获取数据。2)前端接收客户端请求。常用的方法有:动静分离,可以直接从Nginx返回一些静态资源。根据不同的请求,分发到不同的后端进行处理,比如:负载均衡,业务拆分接入等。在前面加一层,做多个Nginx的负载均衡,比如:LVS,F5等。也可以使用CDN服务在前端,动态缓存内容,尽量减少对后端服务的访问3)在Web服务器层面,常见的方法有:使用最新的JVM和优化配置来优化Web服务器的配置,如:调整内存量、线程数等,以提供更多能提供相同服务的Web服务器,为实现负载均衡,精心规划部署在Web服务器上的应用规模,对Web服务器进行集群算法合理高效的使用缓存优化访问数据库的Sql。可以考虑利用存储过程等数据库的能力,合理使用多线程,加快业务处理速度。部分业务可以考虑内存数据库,或者进行纯内存处理,避免远程调用和大量I/OO等耗时操作合理规划事务等相对耗资源的操作合理使用异步处理考虑使用预处理或一些业务的预计算方法,以减少实时计算。内部系统之间的业务尽量直接调用处理,减少WebService。、工作流等5)在数据库层面,常用的方法有:合理选择数据库引擎,如Mysql的InnoDB和MyISAM引擎进行配置优化。可以考虑使用存储过程来处理复杂数据的逻辑数据库集群,合理设计读写分离。数据库的表结构和索引分库分表,减少了单库单表的数量。表中的数据量