提问者:小点点

使用Node.js和PM2同时处理多个连接


我有一个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个并发用户?


共1个答案

匿名用户

如果您只有一个核心,将具有相同的效率和; 只会使用可用的核心。 如果您的计算机/服务器有多个核心,集群就很有用。

如果您要求:我的服务器是否有75个线程,每个用户一个线程? 否,因为NodeJS是单线程的,并且只会使用一个线程来处理所有传入的请求。

单线程服务器能够同时容纳75个打开的连接