Ric*_*hie 5 sockets networking network-programming http
我目前正在对连接和套接字超时设置进行一些研究,但我对这些东西还很陌生。
作为黑暗中的刺,当我们通过 http 调用运行 json 到另一台服务器时,我们正在考虑添加 40 秒作为连接和 sockettimeout。
httpConnectionManagerParams.setConnectionTimeout(40000);
httpConnectionManagerParams.setSoTimeout(40000);
Run Code Online (Sandbox Code Playgroud)
但我真的不知道如何理解理想的设置或使用的最佳实践。如果有人能给我一些关于何时考虑什么或如何对这些设置进行良好估计的提示,我将不胜感激。
我正在寻找的建议类似于...... 40 秒太长了,因为它可能会导致另一个问题......或者......你设置的这个值越高,你导致另一个问题的机会就越大……或者 40 秒一点也不高……或者算出一个理想的数字乘以 Y 乘以 T
谢谢
添加服务器调用的萤火虫跟踪。
没有任何理由为什么他们应该平等。分别考虑每个条件,您希望将其设置得足够高,以便超时指示真正的问题,而不仅仅是临时过载,并且设置得足够低以保持应用程序的响应能力。
通常,40 秒对于连接超时来说太长了。我会怀疑地看待双位数的任何东西。服务器应该能够每秒接受数十或数百个连接。
读取超时是完全不同的事情。“正确”值(如果有的话)完全取决于请求的平均服务时间及其差异。作为起点,您可能希望将其设置为预期服务时间的两倍,或者平均服务时间加上两个或三个标准偏差,这完全取决于您的服务级别要求和服务器的性能及其差异。对此没有硬性规定。许多合同服务级别协议 (SLA) 将“正常”响应时间指定为两秒,这可能会影响您的审议。但这是你的决定。
归档时间: |
|
查看次数: |
7591 次 |
最近记录: |