我有一个Node.js服务器,我在一个带有1个核心的Red Hat系统上使用PM2运行它。 服务器的主要用途是用户可以上传数据。 在高峰时期,大约有75个用户同时连接到服务器并上传数据(数据以1 MB的块形式上传,并在端部由服务器连接)。 上传数据可能需要更长的时间(大约10分钟)。
当前,我正在使用以下命令启动服务器
pm2 start server.js -i max -o ./logs/out.log -e ./logs/err.log
这意味着我在集群模式下启动它。 我不知道在只有1个核心的情况下是否有必要这样做。 我是否应该只使用分叉模式(即删除-imax
)? 我是否也必须使用PM2 scale server 75
以便我有75个工作人员,即每个用户一个工作人员? 或者,我如何将它扩展到75个并发用户?
如果您只有一个核心,将具有相同的效率和; 只会使用可用的核心。 如果您的计算机/服务器有多个核心,集群就很有用。
如果您要求:我的服务器是否有75个线程,每个用户一个线程? 否,因为NodeJS是单线程的,并且只会使用一个线程来处理所有传入的请求。
单线程服务器能够同时容纳75个打开的连接