现在无法连接。 不能分配请求的地址?

我们最近在专用服务器上遇到了很高的负载。 用户看到错误信息

“现在不能连接,不能分配请求的地址”

随机popup。

我们有2个Linux应用程序服务器,运行着lightpeed web服务器和1个mysql / mariadb数据库服务器。

我们不确定,如果这个错误来自networking服务器或MySQL。

有什么我们可以改变我们的configuration,以阻止这个错误来了吗?

我想我们需要更多的信息来帮助你(什么样的服务器,CPU,内存等)。 但是这里有一些基本的项目要检查:

  1. 运行top查看哪些进程占用最高的内存和cpu。 您也可以运行free -m来查看内存使用情况。
  2. 根据上面的输出检查lsof|grep <app_name>来查看打开了哪些文件。 这将告诉你哪个应用程序要关注。
  3. netstat -vatnl |grep TIME_WAITnetstat -tulpen |grep <PORT> 。 这是为了检查TCP连接和状态。 “无法分配”消息似乎与networking绑定或TCP套接字有关。 所以你也应该检查你的tcp设置,比如net.core.somaxconn或者net.ipv4.tcp_max_syn_backlog。 有大量的指南来调整这些值的networking和数据库服务器。
  4. 对于mysql负载和性能,可以从mysql提示符下运行SHOW PROCESSLIST 。 这将提供所有当前查询的列表。 例如,在这里你可以识别一个运行时间很长的查询。

希望这可以帮助。 祝你好运!