小编Sco*_*t A的帖子

node.js使用zeromq与Python与Java相比的性能

我使用node.js,Python和Java为zeromq编写了一个简单的echo请求/回复测试.代码运行一个100K请求的循环.该平台是一款5yo MacBook Pro,具有2核和运行Snow Leopard的3G内存.

node.js始终比其他两个平台慢一个数量级.

Java的: real 0m18.823s user 0m2.735s sys 0m6.042s

蟒蛇: real 0m18.600s user 0m2.656s sys 0m5.857s

Node.js的: real 3m19.034s user 2m43.460s sys 0m24.668s

有趣的是,使用Python和Java,客户端和服务器进程都使用了大约一半的CPU.node.js的客户端使用大约一个完整的CPU,服务器使用大约30%的CPU.客户端进程也有大量的页面错误导致我相信这是一个内存问题.此外,在10K请求节点只慢3倍; 它运行的时间越长越慢.

这是客户端代码(请注意,process.exit()行也不起作用,这就是除了使用time命令之外我还包括内部计时器的原因):

var zeromq = require("zeromq");

var counter = 0;
var startTime = new Date();

var maxnum = 10000;

var socket = zeromq.createSocket('req');

socket.connect("tcp://127.0.0.1:5502");
console.log("Connected to port 5502.");

function moo()
{
    process.nextTick(function(){
        socket.send('Hello');
        if (counter < maxnum)
        {
            moo();
        }
    });
}

moo();

socket.on('message',
          function(data)
          {
              if (counter % 1000 == 0)
              { …
Run Code Online (Sandbox Code Playgroud)

python java zeromq node.js

29
推荐指数
3
解决办法
3万
查看次数

如何为多个JVM使用单个JMX代理?

在单台机器上运行多个JVM(单个IP地址)时,在每个JVM中集成JMX需要一个单独的端口.由于我不会在这种环境中进入配置端口的原因,所以我希望在每台机器上都有一个JMX代理,它能够提供对每个本地JVM及其JMX数据的访问.这类似于本地SNMP守护程序,其中代理程序在每个单独的进程中运行.

然而,短暂的端口很好,因为它们超出了我有权访问的有争议的端口范围,用于显式配置JMX.

我知道像Oracle Coherence这样的产品在内部执行此操作,但是有没有通用的解决方案呢?

java jmx snmp

6
推荐指数
1
解决办法
3328
查看次数

如何将bash脚本数组中的值增加1?

我正在尝试使用以下代码将数组中的值增加1,但是我遇到了一些问题.请有人帮帮我吗?

myArray[$position]=((${myArray[$position]}++))
Run Code Online (Sandbox Code Playgroud)

arrays bash increment

6
推荐指数
1
解决办法
1万
查看次数

如何将Flash Builder 4.6升级到AIR 3.4?

AIR 3.4刚刚发布,具有工作者和本地APN支持等功能.

如何升级现有的Flash Builder安装以使用新的AIR SDK?

air adobe flash-builder

0
推荐指数
1
解决办法
7846
查看次数

标签 统计

java ×2

adobe ×1

air ×1

arrays ×1

bash ×1

flash-builder ×1

increment ×1

jmx ×1

node.js ×1

python ×1

snmp ×1

zeromq ×1