【发布时间】:2015-05-16 09:30:53
【问题描述】:
我正在学习 node.js(我的 web 背景主要是 PHP),到目前为止我很喜欢它,但我有以下问题。在 PHP 和其他类似语言中,每个请求都是脚本的单次执行。可以加载所有用户首选项,等等,没有问题,一旦脚本执行完成,所有资源将被释放。
在 node.js 中,尤其是在像聊天室这样长时间运行的进程中(我使用的是 socket.io),一个进程将处理成百上千的用户。例如,假设我有一个有 200 人的聊天室,如果消息来自用户认为是“朋友”的参与者,我希望突出显示消息,那么我将不得不遍历 200 个用户来查看用户是否是朋友或不(特别是如果聊天只发送给朋友而不是公开)。
这会不会很慢,尤其是随着时间的推移?有什么我错过的吗?在我的小型测试中,随着用户数量和消息数量的增加,服务器的响应能力明显下降。
【问题讨论】:
标签: node.js socket.io multi-user socket.io-1.0