Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
基准测试Node.js_Node.js_Apache_Performance_Apache2_Benchmarking - Fatal编程技术网

基准测试Node.js

基准测试Node.js,node.js,apache,performance,apache2,benchmarking,Node.js,Apache,Performance,Apache2,Benchmarking,我正在Mac OS X下用ApacheBench对Node.js进行基准测试,并将其与Apache 2进行比较。 我基本上有三个问题: 我对Hello World网页的基本测试结果如下: Node.js通过web服务器以纯文本形式提供“Hello World”,Apache 2提供纯文本文件,该文件也仅包含“Hello World”。 我对8000个请求做了相同的测试,结果显示在最后1000个请求中响应时间的增加是相同的。到底增加的原因是什么 Mac OS X上的linux dstat是否有一个

我正在Mac OS X下用ApacheBench对Node.js进行基准测试,并将其与Apache 2进行比较。 我基本上有三个问题:

  • 我对Hello World网页的基本测试结果如下: Node.js通过web服务器以纯文本形式提供“Hello World”,Apache 2提供纯文本文件,该文件也仅包含“Hello World”。 我对8000个请求做了相同的测试,结果显示在最后1000个请求中响应时间的增加是相同的。到底增加的原因是什么

  • Mac OS X上的linux dstat是否有一个等价物来记录测试期间的内存和CPU使用情况

  • 是否需要执行一组基本测试来评估web服务器的性能、吞吐量等


  • 你说的Apache是什么意思?汤姆猫公寓?Apache2?ApacheHadoop(好吧,显然不是那个)?您应该指定您正在进行基准测试的代码是什么,平台是什么。根据您编写的内容,您可能会导致很多问题,在基本的Hello World测试中,NodeJS应该表现得更好,因为执行PHP脚本需要磁盘访问,而大多数NodeJS Hello World测试都在内存中,因为您只需编写
    response.send(“Hello World”)
    与PHP基准测试有很大不同

    最后增加的原因是计算机的限制。您的计算机无法维持数百个打开的连接。NodeJS一个接一个地响应所有连接,而Apache正在启动新线程,这将导致所有线程在最后耗尽,因为将有许多上下文交换,因此在最后会出现缓慢

  • 当您的测试查询服务器的速度超过其响应速度时,这会导致未解决的请求以越来越快的速度累积。它们的开销不成比例地影响响应时间。换句话说,您在服务器上执行了DDoS攻击并发现其容量

  • 有unix的“top”命令,但它有点复杂,还有ps

  • Quick google表示,标准确实存在于对网络服务器进行基准测试,如SpecWeb、WebStone和Sweep


  • 谢谢你的回复。我添加了一些我最初应该包含的更多信息。关于PHP脚本:这不是由服务器缓存并在收到请求时从RAM中读取的吗?@johnny是的,但是服务器需要知道文件是否在一段时间内发生了更改,所以这仍然是不公平的