架构:使用nodeJS服务器,ReactJs和Thrift服务的同构应用。
我正在此应用上运行性能测试用例来衡量nodejs服务器可以处理的 RPM (每分钟请求数)。我通过使用集群和池化thrift连接来提高性能。但是这个应用程序仍然落后于基于PLAY框架的相同应用程序的RMP数量。调查清楚地表明连接池不如它在起作用,我认为它是因为池不在集群之间共享。
现在由于集群是不同的进程,我应该在集群之间划分池,或者使用master来维护池并使用消息传递进行通信。
使用JMeter完成性能。
使用群集池模块(https://www.npmjs.com/package/cluster-pool)
完成池化群集:
if (cluster.isMaster) {
// Count the machine's CPUs
var cpuCount = require('os').cpus().length;
// Create a worker for each CPU
for (var i = 0; i < cpuCount; i += 1) {
cluster.fork();
}
// Code to run if we're in a worker process
} else {
app.listen(1338, function () {
console.log("started..............");
});
}