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/