Nginx事件类配置项
事件类配置项
是否打开accept锁
语法: accept_mutex[on|off] 默认: accept_mutext on;
accept_mutex是Nginx的负载均衡锁 ,accept_mutex这把锁可以让多个worker进程轮流地、序列化地与新的客户端建立TCP连接。
当某一个worker进程建立的连接数量达到worker_connections配置的最大连接数的7/8时, 会大大地减小该worker进程试图建立新TCP连接的机会, 以此实现所有worker进程之上处理的客户端请求数尽量接近。
accept锁默认是打开的,如果关闭它, 那么建立TCP连接的耗时会更短, 但worker进程之间的负载会非常不均衡, 因此不建议关闭它
lock文件的路径
语法: lock_file path/file; 默认: lock_file logs/nginx.lock;
accept锁可能需要这个lock文件, 如果accept锁关闭, lock_file配置完全不生效。
如果打开了accept锁,并且由于编译程序、操作系统架构等因素导致Nginx不支持原子锁, 这时才会用文件锁实现accept锁,这样lock_file指定的lock文件才会生效。
使用accept锁后到真正建立连接之间的延迟时间
语法: accept_mutex_delay Nms; 默认: accept_mutex_delay 500ms;
在使用accept锁后, 同一时间只有一个worker进程能够取到accept锁。 这个accept锁不是阻塞锁, 如果取不到会立刻返回。
如果有一个worker进程试图取accept锁而没有取到, 它至少要等accept_mutex_delay定义的时间间隔后才能再次试图取锁。
选择事件模型
语法: use [kqueue|rtsig|epoll|/dev/poll|select|poll|eventport]; 默认: use epoll;
epoll的性能最高
每个worker的最大连接数
语法: worker_connections number;
定义每个worker进程可以同时处理的最大连接数。
posted on 2020-05-18 10:49 hopeless-dream 阅读(208) 评论(0) 编辑 收藏 举报