1 Star 1 Fork 18

卷王如梦/分布式测试工具

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
测试配置的要点.md 2.01 KB
一键复制 编辑 原始数据 按行查看 历史
coder001 提交于 2021-08-27 15:10 . Default Changelist

Nginx 的事件处理模式、连接数限制


#user  nobody;
worker_processes  8;

#开发环境
#error_log  logs/error.log  debug;
#生产环境
error_log  logs/error.log;


#一个Nginx进程打开的最多文件描述数目 建议与ulimit -n一致
#如果面对高并发时 注意修改该值 ulimit -n 还有部分系统参数 而并非这个单独确定
worker_rlimit_nofile 2000000;

pid     logs/nginx.pid;


events {
 use epoll;
 worker_connections 409600;
 multi_accept on;
 accept_mutex off;
}

Nginx 的日志

Nginx 里 access_log off; 日志功能一定要关闭

原因: 由于Nginx日志是写在磁盘的,如果的磁盘是普通的磁盘,所以这里会成为磁盘IO瓶颈

nginx代理的高并发

nginx代理后连接并发数上不去,原因之一是nginx的keepalive参数没有打开。这个参数没有打开的话, 会造成每次代理,都会创建一个http-socket,处理完就关闭,这样会比较占用资源,同时连接数上不去。

加上keepalive参数后,外网的N个并发请求就可以通过一条socket发送多次请求。

上游块的配置如下:

# 这里要设置keepalive 表示本机与后端机器的连接数
# 同时这里还有一些其他设置,如权重,负载类型等
upstream zuul {
    server 192.168.25.106:888;
    server 192.168.25.100:888;
    server 192.168.9.201:888;
    keepalive 1000;
}

location 代理的配置如下:

server {
    listen 88 backlog=168888;
    server_name localhost2;
    location ~ .*$ {
        index index;
        proxy_pass http://zuul;
        #清除connection头部
        proxy_set_header Connection ""; 
        proxy_http_version 1.1;
        proxy_ignore_client_abort on;
        #下面的timeout跟自己的业务相关设置对应的timeout
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        proxy_send_timeout 600;
    }
}

1 超高并发读, 有效流量过滤 提交订单异步结果查询 漏桶限流限流 分布式令牌桶限流

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/fosilzhou2018/d-hp-tester.git
git@gitee.com:fosilzhou2018/d-hp-tester.git
fosilzhou2018
d-hp-tester
分布式测试工具
master

搜索帮助

A270a887 8829481 3d7a4017 8829481