jad*_*ent 35 amazon-web-services node.js
我们使用AWS(EC2)上的简单Hello World节点服务器对节点性能进行基准测试.
无论我们使用什么大小的实例节点总是出现在1000个并发连接上(这不是每秒1000次,而是1000次它可以一次处理).不久之后,CPU峰值和节点基本冻结.
节点v0.10.5
var http = require('http');
var server = http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('loaderio-dec86f35bc8ba1b9b604db6c328864c1');
});
server.maxHeadersCount = 0;
server.listen(4000);
Run Code Online (Sandbox Code Playgroud)
节点应该能够处理超过这个正确吗?任何想法将不胜感激.
文件描述符(软,硬,系统)也设置为65096)
Dan*_*iel 36
使用该posix模块可以提高进程可以使用的文件描述符数量的限制.
安装 posix
npm install posix
Run Code Online (Sandbox Code Playgroud)
然后在您启动应用程序时运行的代码中...
var posix = require('posix');
// raise maximum number of open file descriptors to 10k,
// hard limit is left unchanged
posix.setrlimit('nofile', { soft: 10000 });
Run Code Online (Sandbox Code Playgroud)
Bad*_*yon 12
您已达到进程可以使用的文件描述符的默认限制(1024).您可以通过运行"ulimit -n"来检查命令行上的限制.要更改限制,您需要编辑/etc/security/limits.conf.添加以下块:
* soft nofile 65535
* hard nofile 65535
root soft nofile 65535
root hard nofile 65535
Run Code Online (Sandbox Code Playgroud)
"*"适用于除root之外的所有用户.root的限制必须单独添加.有软和硬限制.允许用户将自己的限制更改为软限制但不超过硬限制.
文件编辑完成后,再次注销并重新登录.通过运行ulimit -n验证更改.重新启动Node进程,你应该好好去.
还可以使用以下命令增加系统范围的文件描述符限制:
sysctl -w fs.file-max=65535
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24297 次 |
| 最近记录: |