今天网上的系统突然报错,经过排查是调用wcf报错了,报错信息如下:System.TimeoutException: The request channel timed out while waiting for a reply after 00:00:00. Increase the timeout
IIS的MaxConnection的验证
The maxconnection parameter determines how many connections can be made to a specific IP address.
-
maxWorkerThreads 参数和 maxIoThreads 参数的值设置为 100。
- maxconnection 参数的值设置 12 * N (其中,N 是您的 cpu 的数量)。
- 设置要 minFreeThreads 参数的值 88 * N 和 minLocalRequestFreeThreads 参数,76 * N。
-
minWorkerThreads 的值设置为 50。请记住 minWorkerThreads 不是默许的配置文件中。您必须添加它。
这些建议的1些触及1个简单的公式,触及在服务器上的 cpu 数量。N 表示公式中的 cpu 数量的变量。这些的设置如果您有超线程启用,您必须使用逻辑 cpu 数而不是物理 cpu 数。例如如果启用超线程与4个处理器的服务器然后 N 公式中的值将是 8,而不是 4。
这是负载测试,
这是负载测试调用的测试方法。
1 |
< processModel autoConfig = "true" />
|
- 设置maxWorkerThreaders和maxIoThreads为100
- 设置maxconnection 为12*CPU数量
- 设置minFreeThreads为88*CPU数量
- 设置minWorkerThreads为50
<system.net>
<connectionManagement>
<add address = "*" maxconnection = "24" />
</connectionManagement>
</system.net>
<system.web>
<httpRuntime minFreeThreads="176" minLocalRequestFreeThreads="152"/>
<processModel autoConfig="false" maxWorkerThreads="100" maxIoThreads="100"/>
欢迎猛烈拍砖,有甚么好建议你老就用力的提吧。谢谢你了。