You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LiteSpeed调整最大连接数及外部应用后,Nextjs仍API超时求助

问题场景

独立服务器部署架构:

  • Next.js 前端(运行在8080端口)
  • PHP 后端(服务器端API)

用户量低于200时一切正常,达到200后,Next.js调用PHP API出现超时,但PHP API本身运行状态良好。通过LiteSpeed监控确认当前最大连接数被限制为200,已尝试以下操作但问题未解决:

  1. 修改Home>Tuning>"Max Connections"为500
  2. 在“External Applications”中添加web-server
排查与解决方案

1. 检查LiteSpeed深层连接数限制

仅修改全局Max Connections不足以解决问题,需同步调整以下关键配置:

  • Per-Process Connections:在Home>Tuning中,将Per Process Soft/Hard Connections同步调高(建议设为200-250,适配500全局连接数),避免单进程连接瓶颈
  • Connection Queue Size:调大该值(建议设为1000),防止连接数接近上限时因队列不足导致超时

2. 确认PHP外部应用的连接数配置

检查PHP对应的External Application设置,排除自身连接数限制:

  • 若使用LSAPI运行PHP,将对应应用的Max Connections调高至300-400,避免PHP进程池连接耗尽
  • 调整Idle Timeout(建议60s)和Connection Timeout(建议30s),确保闲置连接及时回收

3. 优化Next.js的连接复用策略

Next.js若未开启连接复用,会创建大量短连接快速耗尽LiteSpeed连接数:

  • 使用node-fetch时开启keep-alive:
    import fetch from 'node-fetch';
    
    const agent = new fetch.Agent({ keepAlive: true });
    const response = await fetch('http://localhost/path/to/api', { agent });
    
  • 使用Axios时配置全局实例开启keep-alive:
    import axios from 'axios';
    import https from 'https';
    
    const axiosInstance = axios.create({
      httpsAgent: new https.Agent({ keepAlive: true })
    });
    

4. 调整服务器系统级连接参数

LiteSpeed连接数受内核参数限制,需修改以下配置:

  • 调高somaxconn(默认128,建议1024以上):
    sysctl -w net.core.somaxconn=1024
    echo "net.core.somaxconn=1024" >> /etc/sysctl.conf
    
  • 调整TCP连接队列长度:
    sysctl -w net.ipv4.tcp_max_syn_backlog=2048
    echo "net.ipv4.tcp_max_syn_backlog=2048" >> /etc/sysctl.conf
    
  • 执行sysctl -p使配置生效

5. 重启LiteSpeed并验证

修改所有配置后,重启LiteSpeed服务:

/usr/local/lsws/bin/lswsctrl restart

通过LiteSpeed监控面板查看实时连接数,确认是否突破200限制。

内容的提问来源于stack exchange,提问作者ali shekari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 00:04:01