Javascript 如何在NodeJs集群之间共享旧连接
架构:使用nodeJS服务器、ReactJs和Thrift服务的同构应用程序 我正在这个应用程序上运行性能测试用例,以测量nodejs服务器能够处理的RPM(每分钟请求数)。我通过使用集群和池存储连接来提高性能。但该应用仍然落后于基于PLAY框架的同一应用的RMP数量。调查清楚地表明,连接池并没有它发挥作用时那个么好,我认为这是因为连接池并没有在集群之间共享 现在,由于集群是不同的过程,我应该在集群之间划分池还是使用master来维护池并使用消息传递进行通信 性能是使用JMeter完成的 使用群集池模块()完成池 集群:Javascript 如何在NodeJs集群之间共享旧连接,javascript,node.js,connection-pooling,thrift,isomorphic-javascript,Javascript,Node.js,Connection Pooling,Thrift,Isomorphic Javascript,架构:使用nodeJS服务器、ReactJs和Thrift服务的同构应用程序 我正在这个应用程序上运行性能测试用例,以测量nodejs服务器能够处理的RPM(每分钟请求数)。我通过使用集群和池存储连接来提高性能。但该应用仍然落后于基于PLAY框架的同一应用的RMP数量。调查清楚地表明,连接池并没有它发挥作用时那个么好,我认为这是因为连接池并没有在集群之间共享 现在,由于集群是不同的过程,我应该在集群之间划分池还是使用master来维护池并使用消息传递进行通信 性能是使用JMeter完成的 使用群
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..............");
});
}
if(cluster.isMaster){
//计算机器的CPU数
var cpuCount=require('os').cpus().length;
//为每个CPU创建一个工作进程
对于(变量i=0;i
您分析过节点应用程序吗?这是知道你的瓶颈的唯一方法。这可能是连接池,但也可能是许多其他问题,例如内存问题(例如GC过多)、序列化性能(例如Thrift Java实现更高效)、负载平衡不好、意外使用同步代码(例如,节点日志记录可能有问题)、效率低下的JavaScript代码、,还有许多其他原因。如果没有分析,就无法知道。您分析过节点应用程序吗?这是知道你的瓶颈的唯一方法。这可能是连接池,但也可能是许多其他问题,例如内存问题(例如GC过多)、序列化性能(例如Thrift Java实现更高效)、负载平衡不好、意外使用同步代码(例如,节点日志记录可能有问题)、效率低下的JavaScript代码、,还有许多其他原因。没有分析,就没有办法知道。