Closed CCCAUCHY closed 7 months ago
如果并发数或带宽不是特别多,1个worker足矣。多一些也没坏处,一般可以与cpu核数相同。
并发时, 即使workers比核心数多, 也有明显的好处吗
发现一处操作系统差异, 在Ubuntu上, 使用netstat -nlpt可以看到与workers数量相同的同PID进程监听, 而在centos上只会显示一个监听进程
发现一处操作系统差异, 在Ubuntu上, 使用netstat -nlpt可以看到与workers数量相同的同PID进程监听, 而在centos上只会显示一个监听进程
只有一个监听的应该是Linux内核不支持 socket reuseport。
如果并发数或带宽不是特别多,1个worker足矣。多一些也没坏处,一般可以与cpu核数相同。
并发时, 即使workers比核心数多, 也有明显的好处吗
当内核支持reuseport时,比cpu线程数还多的workers没问题。而当不支持时,不建议超过cpu线程数。
socket reuseport
对于一个6.1版本的内核很难想象不支持这个功能, 但我没有找到开启这个功能的内核参数
socket reuseport
对于一个6.1版本的内核很难想象不支持这个功能, 但我没有找到开启这个功能的内核参数
6.1支持的
socket reuseport
对于一个6.1版本的内核很难想象不支持这个功能, 但我没有找到开启这个功能的内核参数
6.1支持的
但为什么只有一个监听的呢
具体是哪个版本,有没有live iso,我看看。
具体是哪个版本,有没有live iso,我看看。
Amazon Linux 2023
但为什么只有一个监听的呢
只是不同的netstat版本展示差异,如果想看精确的listen记录,可以通过 /proc/net/tcp6
grep 0438 /proc/net/tcp6 # 0438是端口1080
但为什么只有一个监听的呢
只是不同的netstat版本展示差异,如果想看精确的listen记录,可以通过
/proc/net/tcp6
grep 0438 /proc/net/tcp6 # 0438是端口1080
看不懂, 为什么workers为1和4时没有明显差异
workers不同,grep结果的行数相同?
workers不同,grep结果的行数相同?
刚启动无连接时, 行数与workers数量相同, 但是客户端连接后, 行数都是刷屏
那就没问题了,每一行对应一个端口的使用记录。
如果并发数或带宽不是特别多,1个worker足矣。多一些也没坏处,一般可以与cpu核数相同。
并发时, 即使workers比核心数多, 也有明显的好处吗
当内核支持reuseport时,比cpu线程数还多的workers没问题。而当不支持时,不建议超过cpu线程数。
workers为1且cpu是单核时, 是否还具有并发能力
workers为1且cpu是单核时, 是否还具有并发能力
并发能力总是有的;当cpu为多核且workers > 1
时具有并行能力。
如果并发数或带宽不是特别多,1个worker足矣。多一些也没坏处,一般可以与cpu核数相同。