最大连接:somaxconn
加快tcp回收:tcp_tw_recycle
空tcp回收:tcp_tw_reuse
去除洪水攻击抵御:syncookies
每个子进程允许打开的连接数:worker_connections
连接的保持时间:keepalive_timeout
参数:ulimit
参数:worker_rlimit_nofile
echo 50000>/proc/sys/net/core/somaxconn # 设置系统最大socket连接数
echo 1>/proc/sys/net/ipv4/tcp_tw_recycle # 0-不加快tcp回收 1-加快tcp回收
echo 1>/proc/sys/net/ipv4/tcp_tw_reuse # 0-不启用空tcp回收 1-空tcp回收
echo 0>/proc/sys/net/ipv4/tcp_syncookies # 0-去除洪水攻击抵御 1-启用洪水攻击抵御
ulimit -n 50000 #设置系统最大文件访问数量
Centos 6.8以上版本的配置方式有所不同:
vi /etc/sysctl.conf 新增或者修改
net.core.somaxconn = 50000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 0
让sysctl.conf生效
sysctl -p
ulimit -n 50000
worker_connections 10000 #每个子进程允许打开的连接数
keepalive_timeout 0 #连接的保持时间
worker_rlimit_nofile 10000 #每个子进程允许打开的文件数
压力测试客户端ulimit和somaxconn参数也需要优化,设置方式参考上文
./configure --prefix=/usr/local/nginx/ --with-http_stub_status_module
make && make install
在nginx.conf的server块中添加如下代码
location /status {
stub_status on;
access_log off;
}
通过 http://IP/status访问查看
apache,自带ab工具;
也可以独立安装:
ab运行需要依赖apr-util包,安装命令为:
yum install apr-util
安装依赖 yum-utils中的yumdownload 工具
如果没有找到 yumdownload 命令可以
yum install yum-utils
安装完成后执行以下指令
cd /opt
mkdir ab
cd ab
yum install yum-utils.noarch
yumdownloader httpd-tools*
rpm2cpio httpd-*.rpm | cpio -idmv
解开后就能得到独立的 ab可执行文件了。
操作完成后 将会产生一个 usr 目录 ab工具就在这个usr 目录下的bin目录中
使用命令格式:
./ab -c 5000 -n 100000 -k http://127.0.0.1/index.html
location / {
index index.jsp;
proxy_pass http://localhost:8080;
}
在conf/ tomcat-users.xml下添加用户:
打开server.xml里的
maxThreads="150" minSpareThreads="4"/> 节点,修改maxThreads参数,这里设置为10000 修改server.xml里的Connector节点,修改protocol为: org.apache.coyote.http11.Http11NioProtocol; 增加executor="tomcatThreadPool"属性,属性值与线程池的name一致; port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443" />4.4 启动NIO模式