内核方面优化
- 进程打开文件描述符的数量
- tcp连接中time_wait状态的回收
- nginx做负载均衡时,打开本地端口的范围扩大
- 系统一次性最大接受tcp连接的个数
....
内核方面优化一般是针对于,四层和网络的优化。主要是tcp三次握手和四次断开的优化
程序参数优化
- 打开文件压缩功能,节约网络资源
gzip on
- 设置进程数,和每个进程处理的链接数
worker process
- 必须时对每一个连接进行限流操作,以达到公平分配效果
limit rate
- 如果nginx做web网站使用,打开文件的缓存配置
open_file_cache
- 打开返回响应的非延迟操作(用户请求一个文件,大小为2bytes,如果程序是延迟响应,会等待这个用户请求其余的内容,大小达到可以返回的设置才会返回,因为请求为2bytes,但如果立马响应可能要花费20bytes,所以就要等待请求内容多了之后一次性返回,提高了服务器性能。但降低了用户体验),因此要打开非延迟响应
tcp_nodelay on
- 如果系统支持异步写入,则使用
aio on
打开程序的异步写入 - 打开程序的长连接
keepalive
,注意如果做负载均衡,长连接保持的时间越短越好。长连接就是减少系统建立连接,达到连接的复用。如果并发很高,如果之前的连接还在请求。程序已经达到最大连接数,则后面的请求就进不来。
流量异常处理
假定一个系统设计的并发量为4000,一下来了3w的并发量。此时的服务器就会很拥挤,连接进不来,也出不去。则整个网站就是不可用状态
一般遇到流量异常情况
- 做流控,切断后面进来的请求。保证一部分请求,能够正常响应
- 只保留核心服务,把外围服务关停。以便系统能够承受更多的流量。如电商站点,则只保留交易服务。把评论,浏览等服务关停
网友评论