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

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

最近,我们的专用服务器负载过高。用户看到错误消息

“现在无法连接。无法分配请求的地址”

随机弹出。

我们有 2 台 Linux 应用服务器,运行 lightspeed Web 服务器和 1 台 mysql/mariadb 数据库服务器。

我们不确定这个错误是来自 Web 服务器还是 mysql。

我们可以在配置中改变什么来阻止这个错误再次发生?

答案1

我认为我们需要更多信息才能帮助您(什么样的服务器、CPU、内存等)。但这里有一些需要检查的基本项目:

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

希望这有帮助,祝你好运!

相关内容