par*_*par 8 tcpip connection tcp socket
我们的服务器因 TCP/IP 会话而过载,我们有 1200 - 1500 个会话。他们中的大多数都挂在 TIME_OUT 状态。事实证明,处于 TIME_OUT 状态的连接会占用一个套接字,直到 60 秒超时。
问题是服务器没有响应,许多客户端没有得到服务。
我做了一个简单的测试:使用 Internet Explorer 8.0 从服务器下载一个 XML 文件 下载在几分之一秒内完成。但是后来我看到 TCP/IP 连接在 TIME_OUT 状态下挂了 60 秒。
有没有办法摆脱 TIME_OUT 等待或减少为新连接释放套接字的时间?
我明白为什么 TCP/IP 连接会进入 TIME_OUT 状态,但我不明白为什么 Internet Explorer 在 XML 文件下载结束后没有关闭连接。
细节。
我们的服务器运行用 Perl (mod-perl) 编写的 Web 服务。该服务向客户提供天气数据。客户端是一个 Flash 应用程序(实际上是嵌入在 Windows 应用程序中的 Flash ActiveX 控件)。
操作系统: Ubuntu
Apache“Keep Alive”选项设置为 0
小智 7
这是 TCP 堆栈中的设置。由于我们不知道您在哪个平台上,我们无法准确说出它的名称以及如何更改它。
所以你使用的是 Ubuntu。您可以使用sysctl将net.inet.tcp.msl值减少到所需TIME_WAIT持续时间的一半(以毫秒为单位 - 请参阅man -S 4 tcp),例如sysctl net.inet.tcp.msl=2500。请注意这样做对可能在该TIME_WAIT时间段过去后到达的流浪数据包的影响。
| 归档时间: |
|
| 查看次数: |
3006 次 |
| 最近记录: |