Performance Apache与NodeJs的性能测试

Performance Apache与NodeJs的性能测试,performance,apache,node.js,benchmarking,Performance,Apache,Node.js,Benchmarking,我目前正在测试Node.js和Apache之间的性能 我想证明的是: Apache速度较慢,因为它需要比Node.js更多的线程开关,Node.js使用单线程事件循环 与使用epoll的Node.js相比,Apache需要更多的RAM/连接 这意味着,我要测试的是: 每CPU每秒请求数 每个RAM的连接数 好吧,这就是我想做的!但问题是我应该怎么做? 对于Request/second测试,我可以使用Apache基准测试(ab)(但ab是否适合Node.js?) 最大的问题是:如何测试连接/R

我目前正在测试Node.js和Apache之间的性能

我想证明的是:

  • Apache速度较慢,因为它需要比Node.js更多的线程开关,Node.js使用单线程事件循环
  • 与使用epoll的Node.js相比,Apache需要更多的RAM/连接
这意味着,我要测试的是:

  • 每CPU每秒请求数
  • 每个RAM的连接数
  • 好吧,这就是我想做的!但问题是我应该怎么做? 对于Request/second测试,我可以使用Apache基准测试(ab)(但ab是否适合Node.js?)
    最大的问题是:如何测试连接/RAM?

    连接/second:我最近使用一个简单的“hello world”node.js服务器进行了此测试,每个CPU核心每秒获得9000个请求。(使用ab,顺便说一句,在2.5GHz四核Xeon linux机箱上测试)

    每个RAM的连接数:这里有两个是你关心的。基线内存(无连接时需要内存)和每个连接的内存。我在MacPro上测试了这一点,通过旋转一个保持HTTP连接打开的简单服务器/客户端。我运行了“top”命令来观察内存使用情况。在零连接时,节点的RSIZE为14MB。然后,当客户端运行并保持2000个并发连接打开时,RSIZE增长到24MB。因此,需要约5MB/1000个连接

    当你得到Node和Apache的#时,你能在这里发布它们吗?我也很好奇。

    “我想证明”在做基准测试时是一种非常错误的态度。你不是在证明什么,而是在衡量实际表现。你可能会对结果感到惊讶,也可能不会感到惊讶,但你真的必须从“让我们看看这个东西能做什么”开始


    显然,顺便说一句,从我所看到的所有基准测试来看,node在原始速度方面排名第一,但使用的内存比apache多,所以这就是你的“证明”。

    在2.5ghz双核K8 AMD上,使用ab我可以获得约6300 R/S,并发度为100。关于连接/Ram,我使用了同义反复逻辑脚本->github.com/tautologics/node_loadtest,在这里我获得了大约61000个连接,大约250MB。我需要知道的是用apache测试max concurrency/Ram的方法。有什么建议吗???哦,你能发布你的脚本吗?你是如何实现5MB/1000连接的?