Nginx 反向代理 突破10万高并发配置: 服务器配置: 4G内存 Intel(R) Xeon(R) CPU E5504 @ 2.00GHz 4核 #####
一:新服务器底层优化
1.关闭selinux iptables
2.关闭tty终端 留一个到2个足够
3. history历史记录默认1000个修改为100个或者更少 ----------修改/etc/profile HISTSIZE参数的值
4. 关闭ipv6 -------------编辑/etc/modprobe.conf文件,加入alias net-pf-10 off和alias ipv6 off 重启即可
7. 关闭不需要的服务
8. 设置ulimit最大化,修改ulimit最大文件限制
9. 如果磁盘对访问时间不太关注,可以关闭磁盘的atime
10.更改gurb等待时间
11.修改bios关闭虚拟化与RAID功能
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
二:Nginx基本优化反向代理后端(Tomcat weblogic cgi)
1. Nginx.org下载稳定包
2. 最小化编译 ./configure --prefix=/usr/local/nginx --user=www --group=www --with-pcre=/usr/local/pcre
3. 充分利用Nginx的Gzip压缩功能
4. 充分利用Nginx的cache功能 cache功能尽量放到 /dev/shm 虚拟内存读取速度远远超越固态硬盘的速度。
5. 充分利用Nginx的keepalive功能,高并发的情况下启用可以大量减少timeout 参数用在upstream模块
6.Nginx的rewrite中尽量少用,最好不用permanent的外部跳转
7.通过全局变量的include将所以域名重写到一个目录下,更好优化,配置
8.充分利用Nginx的expires,基于客户端的浏览器的缓存,这样下次访问缓冲更快. (适用于纯静态)
9. 对动态不经常发生改变的$uri进行缓存,减轻对后端的压力
三:对内核sysctl.conf基本优化如下:说明几个重要的参数
root@SH-NginxWeb01:/usr/local/nginx/conf/vhost# cat /etc/sysctl.conf |grep -v ^#.*|awk NF
net.ipv4.tcp_syncookies=1 减少time_wait cookie处理
kernel.shmmni = 10240
kernel.sem = 250 32000 100 128
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
fs.file-max = 1213051
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 262144 #这个数字能够容纳更多的链接。
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_syn_retries=3 基于三次握手建立会话关系
net.ipv4.tcp_keepalive_time = 10 高并发的情况下时间不要太大,不然会影响并发的数量
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 1024 65500 端口范围最大化
net.ipv4.tcp_max_tw_buckets = 10240 time_wait 模式18w 修改为8000到10K 不修改会拖死服务器
本文出自 “tring” 博客,谢绝转载!