Php cURL-无法连接到example.com:地址已在使用中

Php cURL-无法连接到example.com:地址已在使用中,php,curl,Php,Curl,我的业余爱好是经营一个与圣诞节有关的网站。它是一个PHP网站,充当后端REST web服务的前端。PHP网站为每个页面加载向后端REST服务发出大约2-3个GET请求 这些请求是通过PHP的stock cURL扩展发出的 正常情况下,这可以正常工作,但今年圣诞节,由于大量增加的负载,我观察到该站点因HTTP 500错误而崩溃,具体错误是: cURL错误:“7”-“无法连接到backend.webservice.com端口443:地址已在使用” 在线搜索只会生成其他页面,描述明显的端口重用/重叠,

我的业余爱好是经营一个与圣诞节有关的网站。它是一个PHP网站,充当后端REST web服务的前端。PHP网站为每个页面加载向后端REST服务发出大约2-3个GET请求

这些请求是通过PHP的stock cURL扩展发出的

正常情况下,这可以正常工作,但今年圣诞节,由于大量增加的负载,我观察到该站点因HTTP 500错误而崩溃,具体错误是:

cURL错误:“7”-“无法连接到backend.webservice.com端口443:地址已在使用”

在线搜索只会生成其他页面,描述明显的端口重用/重叠,但与我的案例无关


我最初可以通过扩展(该网站运行在具有自动负载平衡功能的Windows Azure网站上)来解决此问题,但我想知道是否有更好的方法,例如是否有一些连接限制可以更改。

问题似乎是操作系统用完了绑定到端口0的可用端口(这使得操作系统将套接字绑定到一个预先确定范围内的“随机”可用端口上,看起来您已经耗尽了该范围)-在linux中,您应该增加/proc/sys/net/ipv4/ip_local_port_range,idk如何在Windows中做到这一点,尽管您是在Windows的服务器版上运行的?快速谷歌搜索建议Windows的等效项是:
netsh int set dynamic start=number num=range
,我可以建议
netsh int ipv4 set dynamic tcp start=30000 num=30000 ,将允许在端口30000-60000之间最多30000个连接(接近Debian Linux的默认设置)--@hanshenrik这是一个Azure网站,因此我无法运行
netsh
,然后联系管理员(或客户支持,这样他们就可以联系系统管理员了?)让他们知道问题似乎问题在于操作系统用完了绑定到端口0的可用端口(这使得操作系统将套接字绑定到预先确定的范围内的“随机”可用端口上,似乎您耗尽了该范围)-在linux中,您应该增加/proc/sys/net/ipv4/ip_local_port_range,idk如何在Windows中做到这一点,尽管您是在Windows的服务器版上运行的?快速谷歌搜索建议Windows的等效项是:
netsh int set dynamic start=number num=range
,我可以建议
netsh int ipv4 set dynamic tcp start=30000 num=30000 ,将允许在端口30000-60000之间最多30000个连接(接近Debian Linux的默认设置)--@hanshenrik这是一个Azure网站,因此我无法运行
netsh
,然后联系管理员(或客户支持,这样他们就可以联系系统管理员?)并让他们知道问题