Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在NodeJs集群之间共享旧连接_Javascript_Node.js_Connection Pooling_Thrift_Isomorphic Javascript - Fatal编程技术网

Javascript 如何在NodeJs集群之间共享旧连接

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完成的 使用群

架构:使用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代码、,还有许多其他原因。没有分析,就没有办法知道。