MENU

nginx最大连接压测和调优

nginx是非常高性能的web服务,交付web服务时我非常想知道它究竟能承载的多少并发量??我们知道影响服务性能的因素有很多如出口带宽、磁盘io、内存和cpu资源;ok 今天就来测试一把看看如何充分使用nginx性能。

环境:
主机资源:aliyun 2核4G
操作系统: centos7
网络环境: 阿里云vpc内网
version: openresty/1.13.6.2

涉及环境调优

通过ulimit,sysctl命令检查系统环境限制,不展开说明

nginx 配置

cat /proc/cpuinfo | grep processor
# 查看cpu核数

cat /nginx.conf

worker_processes  2; #cpu核数,建议不大于8
events {
    worker_connections  10240;
}

server {
listen 80 default_server;
default_type application/json;
server_name _;
return 200 '{"date":"$time_local","host":"web-test1","result":"nginx json"}';
access_log  /usr/local/nginx/logs/default.log;
}

压测调用

wrk  -t2  -c40000 -d120s http://172.16.140.128
# t多少线程 c连接数 d压测时间;线程数不宜过多,核数的2-4倍

根据系统资源情况调整worker_connectionsworker_processes来限制nginx可用客户端连接数;


正常web服务

客户端最大连接数 = worker_processes * worker_connections

nginx反向代理

#作为反向代理,因为浏览器默认会开启2个连接到server,而且Nginx还会使用fds(file descriptor)从同一个连接池建立连接到upstream后端

   nginx作为http服务器的时候:
    max_clients = worker_processes * worker_connections/2
   nginx作为反向代理服务器的时候:
    max_clients = worker_processes * worker_connections/4

或者从一般建立连接的角度:客户并发连接为1.

   nginx作为http服务器的时候:
    max_clients = worker_processes * worker_connections
   nginx作为反向代理服务器的时候:
    max_clients = worker_processes * worker_connections/2

参考
http://blog.51cto.com/liuqunying/1420556

nginx生成自签SSL证书

生成ssl证书

mkdir /usr/local/nginx/conf/ssl
cd !$
# 新建目录

openssl genrsa -des3 -out tmp.key 1024
#  输入密码后,再次重复输入确认密码
openssl rsa -in tmp.key -out example.com.key
# 转换key,取消密码

Read More

进入暗网

tor洋葱

www.torproject.org

配置

configure - > request a bridge from torproject.org

安装配置简单 就缺一个导航地址...