服务器大流量、高并发如何应对? |
所谓服务器大流量高并发指的是:在同时或极短时间内,有大量的请求到达服务端,每个请求都需要服务端耗费资源进行处理,并做出相应的反馈。 常用的高并发处理的思路与手段:从服务端视角看高并发服务端处理请求需要耗费服务端的资源,比如能同时开启的进程数、能同时运行的线程数、网络连接数、cpu、I/O、内存等等,由于服务端资源是有限的,那么服务端能同时处理的请求也是有限的。高并发问题的本质就是:资源的有限性 高并发带来的问题:服务端的处理和响应会越来越慢,甚至会丢弃部分请求不予处理,更严重的会导致服务端崩溃。 高并发处理的基本思路:1)从客户端看尽量减少请求数量,比如:依靠客户端自身的缓存或处理能力 2)从服务端看增加资源供给,比如:更大的网络带宽,使用更高配置的服务器,使用高性能的Web服务器,使用高性能的数据库 高并发处理的基本手段:1)客户端发出请求层面,常见的手段有:尽量利用浏览器的缓存功能,减少访问服务端,比如:js、css、图片等 2)前端接收客户端请求层面,常见的手段有:动静分离,部分静态资源可以直接从Nginx返回 3)Web服务器层面,常见的手段有:使用最新的JVM,并进行配置优化 4)Web应用层面,常见的手段有:动态内容静态化 5)数据库层面,常见的手段有:合理选择数据库的引擎,比如Mysql的InnoDB与MyISAM引擎 |