Skip to content

可选项

Owen edited this page Apr 25, 2019 · 3 revisions

Uragano还提供了一些可选项配置,用于服务调优

service.AddUragano(context.Configuration, builder =>
                    {
                        builder.AddClient<LoadBalancingPolling>();
                        builder.AddConsul();
                        builder.AddOptions();
                    });
选项 说明
ThreadPool_MinThreads 线程池的最小线程数(具体应用请查看线程池相关文档)
ThreadPool_CompletionPortThreads I/O线程的数量(具体应用请查看线程池相关文档)
Consul_Node_Status_Refresh_Interval 使用Consul时,客户端更新节点状态的频率,单位毫秒
Server_DotNetty_Channel_SoBacklog DotNetty的SoBacklog值
DotNetty_Connect_Timeout DoNetty连接超时时间,单位毫秒
DotNetty_Enable_Libuv 是否启用Libuv
DotNetty_Event_Loop_Count DotNetty的工作线程数
Remoting_Invoke_CancellationTokenSource_Timeout 客户端等待服务器端返回消息的等待时间,单位毫秒,默认值是60秒。你可能会对这个配置有疑问,熔断里不是已经有一个超时机制了吗?为什么还需要这个配置!其实这两个是完全不一样的,这里就需要提到DotNetty的通信机制了,DotNetty采用的异步非阻塞模式,但是我们往往需要等待返回结果,这里就需要用到TaskCompletionSource,如果服务器端出现异常,无法响应消息,那么TaskCompletionSource就会一直等待,所以必须有一个超时机制。
Clone this wiki locally