我们正在使用AWS(EC2)上的简单Hello World节点服务器对节点性能进行基准测试。
无论我们使用什么大小的实例,Node总是在最大1000个并发连接上出现(这不是每秒1000个,但是它可以在1次处理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);
节点应该能够处理比此更正确的吗?任何想法将不胜感激。
还将文件描述符(软,硬,系统)设置为65096)
使用该posix
模块可以提高进程可以使用的文件描述符数量的限制。
安装 posix
npm install posix
然后在启动应用程序时运行的代码中…
var posix = require('posix');
// raise maximum number of open file descriptors to 10k,
// hard limit is left unchanged
posix.setrlimit('nofile', { soft: 10000 });
问题内容: 我想知道您是否有关于websocket的并发连接的任何数据?我在Node.js服务器上使用Socket.io。有多少个客户端可以连接到套接字并接收数据而无需关闭我的服务器?1000?1000.0000? 谢谢! 问题答案: 这在很大程度上取决于您的硬件配置,您在服务器端究竟在做什么/处理什么以及您的系统是否针对许多并发连接进行了优化。例如,默认情况下,在Linux计算机上,您可能首先会
因为Websockets构建在TCP之上,所以我的理解是,除非端口在连接之间共享,否则您将受到64K端口限制的约束。但我也看到过使用Gretty进行512K连接的报告。所以我不知道。
问题内容: 浏览器将下载HTML页面中指定的资源的最大并发连接数是多少?它随浏览器/浏览器/连接速度的不同而不同吗? 问题答案: 简短的答案是“每个域大约4到6个连接” 有关更多详细信息,请查看有关每个浏览器将与给定域建立多少个并行连接的概述。 结果总结如下…
我有一个由两个进程使用的SQLite数据库。我想知道,使用SQLite的最新版本,当一个进程(连接)启动事务向数据库写入时,另一个进程是否能够同时从数据库读取?
问题内容: 我有使用socket.io(1.5)的这个简单的node.js Servercode: 如果我运行此代码并按几次F5键,则在某些情况下会在断开旧连接之前创建新的连接。一段时间后,我认为它的心跳超时,所有连接都将关闭。查看结果: 我的问题是:这是Bug还是socket.io的正常行为?只需按F5键,如何防止连接泛滥? 最好的问候马克 问题答案: 我制作了自己的测试应用程序,能够弄清楚发生