中国投资网 百科 nginx10万并发(nginx是如何实现高并发的)

nginx10万并发(nginx是如何实现高并发的)

nginx指令中的优化(配置文件)

工作者_进程8;

nginx进程的数量建议根据CPU的数量来指定,通常是它的倍数。

worker _ CPU _ affinity 000000001 00000010 0000001000 0001000100000 001000000 010000000 10000000 10000000;

给每个进程分配cpu。在上面的例子中,8个进程被分配给8个CPU。当然,您可以编写多个进程,或者将一个进程分配给多个CPU。

worker _ rlimit _ nofile 102400

这个指令指的是nginx进程打开的文件描述符的最大数量。理论值应该是打开文件的最大数量(ulimit -n)除以nginx进程的数量。但是nginx的分配请求没有那么统一,所以最好和ulimit-n保持相同的值。

使用epoll

使用的是epoll的I/O模型,不言而喻。

工人_连接102400;

每个进程允许的最大连接数,理论上每个nginx服务器的最大连接数是worker _ processes * worker _ connections。

keepalive _ timeout 60

保持活动超时。

client _ header _ buffer _ size 4k

客户端请求头的缓冲区大小可以根据您的系统分页大小来设置。一般来说,一个请求的头大小不会超过1k。但是,由于一般系统分页大于1k,所以这里将其设置为分页大小。页面大小可以通过命令getconf PAGESIZE获得。

open _ file _ cache max=102400 inactive=20s;

这将指定打开文件的缓存,默认情况下不启用。max指定缓存的数量,建议与打开文件的数量保持一致。非活动是指文件在未被请求后需要多长时间才能被删除。

open _ file _ cache _ valid 30s

这是指检查缓存的有效信息的频率。

open _ file _ cache _ min _ use 1;

在open_file_cache指令的非活动参数time内,文件被使用的最小次数。如果超过这个数字,文件描述符总是在缓存中打开。例如,如果一个文件在非活动时间内没有使用过一次,它将被删除。

本文来自网络,不代表本站立场,转载请注明出处:https:

nginx10万并发(nginx是如何实现高并发的)

中国投资网后续将为您提供丰富、全面的关于nginx10万并发(nginx是如何实现高并发的)内容,让您第一时间了解到关于nginx10万并发(nginx是如何实现高并发的)的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。