Tag: 性能

在Nodejs中关于url.parse的性能

我刚刚跟踪我的nodejs服务器的性能使用: siege -b -t10s -q http://mynodejsserver 我发现,当没有“url.parse(req.url)” 交易速度约为4300转/秒 但是当我使用url.parse时,事务速率大约是3600-3700 trans / sec 其他代码是一样的。 我试了很多次,结果很稳定。 url.parse真的有性能问题吗?

node.jsdynamic的javascript执行性能

我想执行一个任意的用户提供的一段JavaScript代码在文件的每一行。 我创build了一个简单的节点命令行应用程序,作为一个例子,只需取每行并输出它的长度: #!/usr/bin/env node // eachline.js – execute some js per line in a file var fs = require('fs'), readline = require('readline'); vm = require('vm'); var args = process.argv.slice(2); if (args.length < 1) { console.log("Usage: eachline.js FILENAME") process.exit(code=1) } var rd = readline.createInterface({ input: fs.createReadStream(args[0]), output: process.stdout, terminal: false }); var context = vm.createContext({}); // […]

节点HTTP服务器的最高性能?

我正在运行一个testing,试图从节点HTTP服务器获得最大的传输速度。 这是一个简单的服务器。 在我的testing中,我有50K的虚拟客户端build立与服务器的永久连接(我之前运行ulimit -n 99999)。 然后,在另一个事件,一个HTTP连接到不同的端口,服务器发送一个消息到每个虚拟客户端。 最后,所有客户端都收到相应的消息。 在我的testing中发送所有消息需要几分钟。 有没有任何build议可以帮助我改进这些测量,以便我可以在几秒钟内发送5万条消息而不是几分钟? 服务器在m1.medium AWS实例中运行。 这个想法是用相同的平台来提高性能。 复制服务器代码: var http = require("http"); var connectionResponse = []; var connectionIndex = 0; http.createServer(function(request, response) { console.log("Received connection " + connectionIndex); response.setTimeout(1200000, function() { console.log("Socket timeout"); }); connectionResponse[connectionIndex] = response; connectionIndex++; }).listen(8888); http.createServer(function(request, response) { console.log("8887 connected – Will respond"); response.writeHead(200, {"Content-Type": "text/plain"}); […]

JavaScript性能:通话与应用

当params是一个空数组或null时func.apply(obj, params)从func.apply(obj, params)切换到func.call(obj)是否有性能优势? 我的意思是,调用func.call(obj)比调用func.apply(obj, null)更快吗? 我最感兴趣的是在NodeJS 4.x下的性能。 这是一个algorithm,必须做很多这样的调用。

如何在Node.js应用程序上执行loadtest

请,我需要一个关于如何高效地testing完成的Node.js应用程序的专家build议。 我想要做的是 1.我想运行testing来刺激例如100个用户都将数据插入到mongoDB中 2. 100个用户从数据库中回顾logging 3. 100个用户可能会从数据库中删除,我想检查系统如何在这样的情况下执行。 我读了关于npm的loadtest,在我看来,它是一个很好的候选人,但是我不知道我是否可以使用这个将数据(post / get)请求传递到数据库中,看看系统将如何响应像100个用户都将真实数据发布到数据库中。 我想,loadtest有助于检查例如20秒的响应时间,也许有40个并发请求,这是我对模块的基本认识,我不知道它是否具有其他function,比如我期望的function。 任何build议或线索去这个将不胜感激,因为我希望尽可能避免重新devise车轮谢谢

需要node.js模块在单个函数和全局函数中对性能的影响

我有一个node.js文件与几个function。 假设每个函数都需要下划线模块。 什么是对添加var underS = require("underscore");性能的影响var underS = require("underscore"); 在每一个函数与声明一个单独的var underS = require("underscore"); 全球在顶部? 哪个性能更好?

Pg-promise性能提升:具有多个更新参数的多个插入

正如我在这里和那里所build议的那样,我正在实施Vitaly的pg-promise性能模式。 这是我的代码: for (var i=0;i<chunkedData.length;i++){ var insertData = chunkedData[i].map(function (d) { return { application_id: d.application_id, country_id: d.country_id, collection_id: collectionId }; }); // Would need to make a loop here, and thus turning the result into an array var updateData = { application_id: chunkedData[i][j].application_id, country_id: chunkedData[i][j].country_id, collection_id: collectionId }; var query = h.insert(insertData, cs) + " […]

Rails或节点的网页分析器?

我想build立一个parsing器,它分析一个XML文档的多个页面。 这些页面包括图像和其他媒体,由额外的静态资产服务器提供服务。 现在我的问题是: 我应该使用rails来parsing文档或创build一个特殊的节点服务器,这是什么? 由于performance,我想到了节点。 parsing器从xml文件中创build一个html文档。 提前致谢! 编辑:这些html页面可以从多个用户查看。

url表示

我想知道如何有效地存储在一个数据库中的网站url(mongoDB在我的情况)… 问题:它应该被索引来实现快速的查询性能,但是mongo允许只有字节小于1024字节的索引。 我想过哈希或base64来缩小url…但由于我使用单线程的networking服务器(node.js),我不想在它上面做沉重的东西… 有没有关于其他方式来实现这一点的好主意(替代表示应该是唯一的…)?

node.js:嵌套for循环,string操作性能不高

我写了一个脚本来从头到尾读一个大的string,而不是从左到右。 当我运行代码时,我的CPU的一个核心@ 100%,代码永远不会结束。 如果我取消了console.log的注释,它会将字母越来越慢,并将所有8个内核@ 100%挂起,内存使用率将会慢慢上升,直到我的系统上的所有8GB用完,然后崩溃,并出现OOM错误。 我显然做了一些可怕的错误。 var haystack = ''; for ( var n = 0; n < 64; i += 1) { for ( var i = n; i < 124*64; i += 64) { //console.log(haystack[i]); var vertical = vertical + i; } } console.log(vertical); 但是什么? 我在这个大string上做了其他的(indexOf)操作,而且性能也很好。 这是嵌套循环一个讨厌的工作? 我应该怎么写呢?