首页 > 代码库 > 【技巧】降低HTTP前端服务器压力

【技巧】降低HTTP前端服务器压力

从“米粉节”背后的故事——小米网抢购系统开发实践学来的

  1. 将TCP连接读缓存大小改为1KB
  2. 当每个请求处理完成后,通过设置Response的Header中Connection为close来主动关闭连接

Linux下tcp 和 udp 套接字收发缓冲区的大小决定规则

1. tcp 收发缓冲区默认值[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_rmem 4096    87380   416153687380  :tcp接收缓冲区的默认值[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_wmem4096    16384   416153616384  : tcp 发送缓冲区的默认值2. tcp 或udp收发缓冲区最大值[root@ www.linuxidc.com]# cat /proc/sys/net/core/rmem_max131071131071:tcp 或 udp 接收缓冲区最大可设置值的一半。也就是说调用 setsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen);  时rcv_size 如果超过 131071,那么getsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 去到的值就等于 131071 * 2 = 262142[root@ www.linuxidc.com]# cat /proc/sys/net/core/wmem_max 131071131071:tcp 或 udp 发送缓冲区最大可设置值得一半。跟上面同一个道理3. udp收发缓冲区默认值[root@ www.linuxidc.com]# cat /proc/sys/net/core/rmem_default  111616:udp接收缓冲区的默认值[root@ www.linuxidc.com]# cat /proc/sys/net/core/wmem_default111616111616:udp发送缓冲区的默认值4. tcp 或udp收发缓冲区最小值tcp 或udp接收缓冲区的最小值为 256 bytes,由内核的宏决定;tcp 或udp发送缓冲区的最小值为 2048 bytes,由内核的宏决定

 

 

 

【技巧】降低HTTP前端服务器压力