Tag: 性能

缓冲区与string速度:为什么string更快?

我有这个名为Memcached.Js的项目,它是Memcached服务器到Node.js的一个端口。 我一直在玩string和缓冲区,比较内存占用和性能。 对于内存来说,缓冲区是不错的select。 但令我惊讶的是,对于表演来说也是如此。 执行string操作比使用缓冲区更快。 这是我试过的: // Option 1: data.toString() – amazing, but it's the best one var commandDataStr = mdata.data.toString().substr(startPos, bytes); var commandData = new Buffer(commandDataStr); // Option 2: data.slice().toString() – the same as above… What? var commandDataStr = mdata.data.slice(startPos, startPos + bytes).toString(); var commandData = new Buffer(commandDataStr); // Option 3: data.slice() – bad […]

为在node.js应用上运行的mongodb计算n个连接池所需的内存

我试图剖析当前configuration为使用50个连接池的运行mongodb的node.js应用程序的性能。 使用Blazemeter我一直试图做一个testing,发送1000个模拟用户到我的端点。 运行在一个较小的亚马逊ec2实例(4个CPU和7.5 GB的内存,性能似乎是CPU绑定)。 当我开始向具有至less8个以pm2集群模式运行的CPU的大型机器移动时,似乎mongodb的内存不足。 当testing达到约300-500个模拟用户时,mongo进程将失败: IE我从所有的数据库查询中得到一个错误,当我尝试启动mongo shell时,我看到以下消息: 2015-10-26T23:34:56.657+0000 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused 2015-10-26T23:34:56.658+0000 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146 exception: connect failed 第一次发生这种情况时,我在mongo日志中也发现了以下错误: exception in initAndListen: 10309 Unable to create/open lock file: /var/lib/mongodb/mongod.lock errno:13 Permission denied Is a mongod instance already running?, […]

测量和监测Node.JS服务器的性能

我是Node.JS的新手,已经被谷歌search了,但是有很多方法可以做到这一点。 你有什么样的math知道什么时候需要扩展我的Node.JS服务器? 你用什么工具来监视服务器性能和错误跟踪? 谢谢!

Node.js console.log性能

如果您的Node.js代码散布在console.log语句中,您是否在招惹性能问题? 这是值得debugging/生产切换此开/关? 我意识到日志logging对于生产一般很重要 – 但是我通常好奇,如果控制台输出有性能打击? 在Chrome中的客户端脚本中,如果控制台处于打开状态,它肯定会降低性能。

有效地计算JavaScript中对象的键/属性的数量

这个问题几乎是相同的如何有效地计算一个对象在JavaScript中的键/属性的数量? 。 我想知道一个额外的信息:什么是“ 恒定时间 ”的方式来确定一个对象中的键的数量? 我最关心的是在Node.JS中这样做,因为浏览器上的大多数对象都不是太大而不值得担心。 编辑:看来Object.keys(obj).length返回线性时间O(N)在谷歌浏览器和Node.JS(即取决于密钥在obj的数量)。 有更好的O(1)方法吗? 我在Node.JS中做了一些testing(源代码如下) var tests = [10e3, 10e4, 10e5, 10e6] for(j in tests) { var obj = {}; for(i = 0; i < tests[j]; i++) obj[i] = i; console.time('test' + tests[j]); Object.keys(obj).length; console.timeEnd('test' + tests[j]); } 对于n = 10e3,10e4,10e5,10e6 …的结果是: test10000: 5ms test100000: 20ms test1000000: 371ms test10000000: 4009ms

Postgres Hstore vs. Redis – performance明智

我在Postgres上阅读了Redis提供的HStore。 我们的应用程序是用NodeJS编写的。 两个问题: 性能方面,Postgres HStore与Redis相当? 对于会话存储,你会推荐什么–Redis,或Postgres与其他types的数据types(如HStore,或者甚至通常的关系表)? 一个选项与另一个选项有多差? 另一个限制是,我们需要使用PostgreSQL中已经存在的数据,并将其与活动会话(如果在Redis或PostgreSQL中,我们不确定在哪里存储)结合使用。 根据我们所读到的,我们已经指出要使用Redis作为会话pipe理器,但是由于PostgreSQL的限制,我们不确定如何将这两者结合起来,以及可能出现的性能问题。 谢谢!

BrowserSync非常慢

我很乐意使用BrowserSync进行开发。 但是,页面加载(不仅在更改后重新加载)非常缓慢。 我使用proxy模式。 浏览不带BrowserSync的页面应该是很快的。 一个原因可能是我安装BrowserSync时出现以下错误: > ws@0.4.31 install /usr/local/lib/node_modules/browser-sync/node_modules/socket.io/node_modules/engine.io/node_modules/ws > (node-gyp rebuild 2> builderror.log) || (exit 0) CXX(target) Release/obj.target/bufferutil/src/bufferutil.o SOLINK_MODULE(target) Release/bufferutil.node SOLINK_MODULE(target) Release/bufferutil.node: Finished CXX(target) Release/obj.target/validation/src/validation.o SOLINK_MODULE(target) Release/validation.node SOLINK_MODULE(target) Release/validation.node: Finished 我从头开始安装节点(使用brew和软件包安装程序),但无法摆脱错误。 而且,如果使用Gulp或通过命令行运行BrowserSync,则没有什么区别。 任何想法?

Node.js与C ++的math

我必须编写一个服务器程序来实现一些模糊逻辑,我select在Node.js中编写它来利用它的事件方向。 我必须处理困难的math计算问题,我不知道获得性能的最佳方法是什么: 全部写入Node.js,并使用V8引擎的强大function完成math任务。 用C ++编写一个模块来实现所有的math函数,并从Node中调用它。 任何人都有这两种平台上的计算types的经验?

节点的SDCH压缩?

是否有节点的SDCH (共享字典压缩通过HTTP)库? (或者对于这个问题的其他实现?) 在npm上快速search没有任何结果。

node.js 0.12.x的内存使用情况

试图将我的应用程序从节点0.10.x升级到节点0.12.x系列,我感到一种不愉快的惊喜:0.12使用的RAM比0.10多约15%-20%。 通过io.js问题页面上的几个 线程判断,似乎故障在于底层的v8引擎。 现在软件更新是向pipe理层销售的一个难题。 除此之外,还需要支付更多的VPS硬件,而且几乎没有什么明显的好处,这对我们来说成了一个难题。 有没有办法禁用任何新的铃声和口哨v8增加了占用额外的内存? 也许被吹捧的CPU分析的东西? 我基本上正在寻找一个V8交换机,可以减less内存使用的水平相当于节点0.10附带的V8的水平。