当前位置: 首页 > 面试题库 >

Node.js中的“连接EMFILE”错误

简滨海
2023-03-14
问题内容

最近,我的运行Node.js的网站收到了大量访问量。随着流量的增加,它开始崩溃很多,这是以前从未发生过的。我的日志中出现以下错误:

{ [Error: connect EMFILE] code: 'EMFILE', errno: 'EMFILE', syscall: 'connect' }
Error: connect EMFILE
    at errnoException (net.js:670:11)
    at connect (net.js:548:19)
    at net.js:607:9
    at Array.0 (dns.js:88:18)
    at EventEmitter._tickCallback (node.js:192:40)

有人知道为什么会崩溃吗?和想法如何解决呢?

我正在使用Express.js和Socket.io。它可以在Ubuntu上运行。


问题答案:

EMFILE 错误表示操作系统拒绝您的程序打开更多文件/插槽。

看一下:如何更改Linux中打开文件的数量限制?



 类似资料:
  • 问题内容: 连接elasticsearch连接时出现此问题。 问题答案: 我知道这个问题已经很久了,但是我想分享一下如何解决这个问题。 如果您在本地使用elasticsearch 您必须做的第一件事是在计算机上运行elasticsearch。 因为上面的消息表明您不在本地运行elasticsearch。 因此,请访问链接并按照指示进行操作。 Docker环境 这里变得更加棘手。 首先,请按照此处的

  • MongoDB是一种文档导向数据库管理系统,由C++撰写而成。 本章节我们将为大家介绍如何使用 Node.js 来连接 MongoDB,并对数据库进行操作。 如果你还没有 MongoDB 的基本知识,可以参考我们的教程:MongoDB 教程。 安装驱动 本教程使用了淘宝定制的 cnpm 命令进行安装: $ cnpm install mongodb 接下来我们来实现增删改查功能。 创建数据库 要

  • 本章节我们将为大家介绍如何使用 Node.js 来连接 MySQL,并对数据库进行操作。 如果你还没有 MySQL 的基本知识,可以参考我们的教程:MySQL 教程。 本教程使用到的 Websites 表 SQL 文件:websites.sql。 安装驱动 本教程使用了淘宝定制的 cnpm 命令进行安装: $ cnpm install mysql 连接数据库 在以下实例中根据你的实际配置修改数

  • 我正在尝试在WAS 8.5.5上部署泽西岛 REST 网络服务,但收到以下错误 com.ibm.ws.webcontainer.webapp。WebApp日志ServletError SRVE0293E:[Servlet Error]-[RestServlet]:org.glassfish.jersey服务器。容器异常:java.lang.Linkage错误:getExchangeRate(Lja

  • 问题内容: Node.js异步I / O是否需要Redis连接池? 我看到的大多数Redis库都允许您创建客户端连接,但是连接池模块并不多,因此我认为它并不那么重要。 令我困惑的一件事是,Redis在一个Redis实例中默认具有16个不同/分段的数据库。 因此,如果创建一个连接池,则连接到16个数据库中的哪个数据库?您可以使用同一连接池一次连接所有16个吗? 是否存在一个Node.js Redis

  • 问题内容: 在Redis上使用node_redis Node.js模块时,我应该只使用一个连接,因为Redis是单线程进程,还是应该创建一个连接池来提高性能? 问题答案: 只需使用一个连接。这两个节点和Redis的是 有效的 单个线程。我认为拥有多个连接不会给您带来任何好处。在开始使用Redis进行开发之前,我问过类似的问题,似乎一个客户端/一个应用程序是非常有效的模式。