HTTP CONNETCT_TIMEOUT和 SO_TIMEOUT区别
2016-07-29 00:00
260 查看
HTTPCONNETCT_TIMEOUT和SO_TIMEOUT区别
我们的web应用,依赖于底层的服务。通过http协议通信,当底层服务宕机之后。用户的请求量还是很大,httpclient超时了,因为每个请求一个线程,会导致resin的线程用完,即使底层服务恢复,resin依然不能恢复。所以调整httpClient参数so_timeout和connection_timeout,把connection_timeout设置为1000,so_timeout仍然保持5000不变。单位是毫秒。关于HTTPCONNETCT_TIMEOUT和SO_TIMEOUT区别如下:
·
·
·
·
·
BSDconnectiontimeout
connect函数将激发TCP的三次握手过程,在连接建立成功或者出错时返回,出错可能是下列这种情况:若TCP客户没有收到SYN分节的响应,则返回ETIMEOUT错误,,举例来说,调用connect函数时,BSD内核发送一个SYN,若无响应6s后再发送一个,若仍然无响应则等待24s后再发送一个,若等待了75s仍未响应则返回本错误。有些系统提供对超时值的管理性控制。
windowsconnectiontimeout
InWindowsthevalueisdynamicforestablishedconections,thoughthedefaultforinitialconnectionsis72但是经过我时间测试为21s左右,具体办法是telnet一个存在的主机和不存在的端口。如果telent一个不存在的主机,那么直接返回主机不可到达。
一篇好贴:
Linuxconnectiontimeout
tcp_syn_retries
ThemaximumnumberoftimesinitialSYNsforanactiveTCPconnectionattemptwillberetransmitted.Thisvalueshouldnotbehigherthan255.Thedefaultvalueis5,whichcorrespondstoapproximately180seconds.
具体的时间间隔:TheintervalsarecontrolledbyvaluescalledrtoMin,rtoMaxandrtoInitialwherertostandsforRoundTripTimeout.Basically,itdenotesthetimeitwouldtakeforapackettodoaroundtrip.So,ifwhenTCPsendsthefirstmsg,itwouldwaitforrtoInitialtime.Ifitfailstogetaresponse,itwilldoubletherto(andaddsomejittervalue)andthentryagain.ThiswillcontinuetillmaxRetries.ThecurrentrtovaluewillnevergopastrtoMax.
参考:http://linux.about.com/od/commands/l/blcmdl7_tcp.htm
Java调用
地址:http://www.javacoffeebreak.com/articles/network_timeouts/相关文章推荐
- HTTP BASIC认证,抢先认证介绍和 HttpClient 4.1.1 实例
- HTTP BASIC认证,抢先认证介绍和 HttpClient 4.1.1 实例
- HTTP BASIC认证,抢先认证介绍和 HttpClient 4.1.1 实例
- HTTPS的七个误解
- HTTP BASIC认证,抢先认证介绍和 HttpClient 4.1.1 实例
- HttpClient3.1 未releaseConnection导致应用服务器宕机
- 网络负载平衡(Network Load Balancing)的工作原理
- HTTP请求模型
- 适合C# Actor的消息执行方式(5):一个简单的网络爬虫
- 意外得到了一个免费的HttpWatch Professional的License
- 让UpdatePanel支持文件上传(5):支持页面重定向的HttpModule
- Java Socket编程 - 基于Socket实现HTTP下载客户端
- Android端通过HttpURLConnection上传文件到服务器
- Java Socket编程 - 基于TCP方式的二进制文件传输
- Java Socket编程 - 基于TCP方式的客户服务器聊天程序
- Android中使用HttpURLConnection实现GET POST JSON数据与下载图片
- 在单元测试时指定HttpContext的各种Path
- 深入Atlas系列:客户端网络访问基础结构(下) - WebRequestExecutor和XMLHttpExecutor
- 全面比较HTTP GET与POST方法
- 基于RFC6265 (HTTP状态管理协议)实现简单的登录系统