Nyx*_*nyx 5 javascript postgresql asynchronous node.js sequelize.js
我的 Node.js 应用程序有 3 个事件侦听器,每秒总共接收 5-10k 个事件。这些侦听器函数涉及向 PostgreSQL 数据库发送 INSERT 查询。例如,
foo.on('msg', data => sequelize.create(some_processing(data)));
Run Code Online (Sandbox Code Playgroud)
在具有 1 个 vCPU 和 1 GB RAM 的云服务器上运行节点应用程序,服务器负载几乎总是 100%。运行一段时间后,ORM 会抱怨连接超时。我的猜测是函数调用正在排队,直到超过数据库查询的超时阈值。
问题:侦听器功能是否阻塞?如果是这样,它是否可以通过使其成为异步即发即弃调用来帮助减少 CPU 负载,以及如何做到这一点?
出于我的目的,可以乱序插入数据,因为插入的每一行都有一个时间戳。
在第一台服务器上运行 node.js 应用程序
在第二台服务器上运行 PostgreSQL
谢谢!