淘宝tengine
1) 安装及性能优化(健康检查模块使用)
#相关下载地址:
• wget http://tengine.taobao.org/download/tengine-2.1.0.tar.gz
#jemalloc 内存管理
• git clone https://github.com/jemalloc/jemalloc.git
#编译项目(执行脚本时会生成configure文件,tengine编译的时候就可以加载)
cd jemalloc
./autogen.sh
#tengine编译配置参数
./configure --prefix=/usr/local/tengine \
--with-http_stub_status_module \
--with-openssl=/usr/local/src/openssl-1.0.2l \
--with-jemalloc=/usr/local/src/jemalloc \
--with-pcre=/usr/local/src/pcre-8.41 \
--with-zlib=/usr/local/src/zlib-1.2.11
#nginx配置信息:
upstream websocket {
ip_hash;
server localhost:3000;
server localhost:3001;
server localhost:3002;
check interval=3000 rise=2 fall=5 timeout=1000 type=http;
}
为tengine配置一下系统的TCP设置,优化一下
/etc/syscrl.conf net.ipv4.tcp_syncookies=1 #表示开启SYNCookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse=1 #表示开启重用。允许将TIME-WAITsockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle=1 #表示开启TCP连接中TIME-WAITsockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout #修改系統默认的TIMEOUT时间s
api/fpm/init.d.php-fpm net.ipv4.tcp_fin_timeout=1 #表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间
net.ipv4.tcp_keepalive_time=1200 #表示当keepalive起用的时候,tcp发送keepalive消息的频度,缺省是2小时,改为20分钟 net.ipv4.tcp_mem=94500000915000000927000000 #当tcp使用低于该值的内存页面数时,tcp不会考虑释放内存
net.ipv4.tcp_tw_reuse=1 #表示开启重用.允许将TIME-WAITsockets重新用于新的TCP连接,默认为0,表示关闭
net.ipv4.tcp_timestamps=0 #时间戳可以避免序列号的卷绕。1个1Gbps的链路肯定会遇到以前用过的序列号。时间戳能让内核接受这种“异常”的数据包,这里需要将其关闭
网友评论