nginx - 在nginx中worker_connections、keepalive_timeout和$connection是什么关系

标签 nginx

nginx 文档说

max_clients = worker_processes * worker_connections

但是keepalive因素是如何影响的呢?我的配置设置有 2 个 worker_processes 和 8192 个 worker_connections;这意味着理论上我最多可以处理 16384 个并发连接。同时推出 16384 个数据流是巨大的,但如果我有一个 60 秒的 keepalive_timeout 那么每个客户端占用连接 1 分钟,这个数字有完全不同的含义。是哪个?

连接到所有这些的是可以与 log_format 指令一起使用的 $connection 变量。我定义了以下日志格式,以便我可以分析服务器的性能:
log_format  perf  '$request_time $time_local $body_bytes_sent*$gzip_ratio $connection $pipe $status $request_uri';

$connection 变量报告了大约 11-12 百万个连接!我不是数学专业,但显然这个数字比 worker_processes * worker_connections 高得多。那么它应该代表什么?

简而言之,我试图弄清楚如何为 worker_connection 确定一个好的值。

最佳答案

$connection 是一个计数器,而不是现在使用的连接总数。所以它打算成长。

Keepalive 连接不能丢弃,所以房间是 worker_processes * worker_connections - keepalive 连接

关于nginx - 在nginx中worker_connections、keepalive_timeout和$connection是什么关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1258719/

相关文章:

python - 如何根据其格式配置生成正则表达式以匹配 access.log?

nginx - nginx 上游代理的后备

ruby-on-rails - 使用 SSL 的 Rails 应用太慢

kubernetes - 警告 : Rejected - All hosts are taken by other resources

nginx - 将启用 ngx_http_realip_module 的 cloudflare Ips 列入白名单

nginx安装成功但无法启动

python - 无法使用正确的用户名和密码登录 Django 管理员

permissions - Capifony setfacl 权限 : "Operation not permitted"

http - 转到 IRIS http frameowrk,我无法正确路由

php - 通过浏览器访问 IP 地址时,在 nginx 上创建新的 Lumen 应用程序会抛出 404