- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
当我对它运行负载测试时,我的应用程序在相对较低的压力点退出。为了测试,我使用这个 npm 包 loadtest .
我以每秒 1000 个请求和 10 个并发的速度运行测试 10 秒。
loadtest http://localhost:3000/my/api -t 10 -c 10 --rps 1000
应用程序在大约两秒后退出并给出以下不是很有用的错误。
events.js:163
throw er; // Unhandled 'error' event
^
Error: accept ENFILE
at exports._errnoException (util.js:1050:11)
at TCP.onconnection (net.js:1462:24)
显然,这与打开文件的数量有关。我试过这个命令 ulimit -n <number>
但它没有帮助。它限制在 9999(我不能将其设置为高于该值)。
该应用程序可以在 10 个并发时处理大约 400rps。
我的本地机器是 Mac OS Sierra,CPU:1.6GHz,RAM:8GB。
最佳答案
macOS 对允许的打开文件描述符数量(总数和每个进程)设置了相当低的内核限制。我不得不检查我妻子的 Mac,默认的每个进程限制是 10240,这基本上是你使用 ulimit
的限制( ulimit
不能超出内核强加的限制)。
不过,运行 sysctl
命令很容易增加这些值:
sudo sysctl kern.maxfiles=122880 kern.maxfilesperproc=102400
(这些是我在我的 Mac 上使用的值,它们相当随意但对我来说没问题)
如果您希望它们在重启后保持不变,请将以下两行添加到文件 /etc/sysctl.conf
(如果尚不存在,请创建它):
kern.maxfiles=122880
kern.maxfilesperproc=102400
关于node.js - Node + Express : loadtest causing the application to quit with Error: accept ENFILE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43414447/
我尝试从我的测试用例中生成负载测试 SoapUI .它有很多测试步骤,其中前10个涵盖了登录过程。 LoadTest停在 Groovy脚本,它应该从上一个测试步骤的输出中获取参数值。它在直接执行时工作
我为一个看起来运行良好的网站创建了一个网络性能测试。这是一个用于登录和测试导航的简单测试。运行该测试每次都有效。但是当我在 LoadTest 中调用该测试时,问题就出现了。因此,我创建了一个负载测试,
在我的单元测试期间,我正在创建需要在未来的单元测试中引用的数据。例如: [TestMethod] public void CreateOrder() { Order order = new O
我们遇到了一个特殊的问题。 如果我们部署我们的应用程序,然后重新启动 weblogic 门户服务器;我们进行了负载测试,负载测试失败,响应时间非常长,吞吐量很低。如果我们第二次进行负载测试,它运行得很
我想在执行分布式负载测试时在 Visual Studio 2012 Ultimate 中维护一个全局数据集。 我的查询如下。我的理解是,当通过 Controller 将负载测试分发给测试代理时,所有数
在 WSO2 BPS 3.2.0 上执行负载测试时,我们遇到了这个问题。 让我告诉您更多有关我们的项目和我们的行动的信息。我们的 BPS 流程旨在管理与 3 个系统的一些交互。基本上它“分布”在两个部
我正在使用 loadtest Nodejs 模块来测试 NodeJS 脚本中 API 的压力测试。 Get 调用语法有效,但 post 调用无效。代码如下。 function optionsObjec
如果你以前用过这个工具,这个问题很基础,但我只花了 2 个小时还没有弄明白,所以请帮忙。这是我第一次尝试测试一个 REST 服务,以及它可以容纳多少并发用户。虽然 LoadStorm 看起来是此类产品
当我对它运行负载测试时,我的应用程序在相对较低的压力点退出。为了测试,我使用这个 npm 包 loadtest . 我以每秒 1000 个请求和 10 个并发的速度运行测试 10 秒。 loadtes
我是一名优秀的程序员,十分优秀!