Performance 在Netty中将默认工作线程数设置为(AvailableProcessor*2)的设计考虑是什么?

Performance 在Netty中将默认工作线程数设置为(AvailableProcessor*2)的设计考虑是什么?,performance,asynchronous,concurrency,netty,nio,Performance,Asynchronous,Concurrency,Netty,Nio,可用处理器*2 为什么会这样?它在这里有没有特殊的设计考虑 这是一种从性能转变经验中获得的价值吗 谢谢 是的,这来自经验,而且通常是一个很好的起点。您真正需要多少连接取决于您拥有多少并发连接以及您的ChannelHandler中的处理时间 最好的方法是连接一个探查器,检查线程有多忙等。感谢您的回复!然后我想知道为什么Tomcat7的默认设置maxThreads是:这个连接器要创建的最大请求处理线程数,因此它决定了可以处理的最大并发请求数。如果未指定,则此属性设置为200。为什么同一个相似的工作线

可用处理器*2

为什么会这样?它在这里有没有特殊的设计考虑

这是一种从性能转变经验中获得的价值吗


谢谢

是的,这来自经验,而且通常是一个很好的起点。您真正需要多少连接取决于您拥有多少并发连接以及您的ChannelHandler中的处理时间


最好的方法是连接一个探查器,检查线程有多忙等。

感谢您的回复!然后我想知道为什么Tomcat7的默认设置maxThreads是:这个连接器要创建的最大请求处理线程数,因此它决定了可以处理的最大并发请求数。如果未指定,则此属性设置为200。为什么同一个相似的工作线程计数会有这么大的差异?我想Tomcat不是异步的、非阻塞的。在Tomcat中,您需要尽可能多的线程以及您想要处理的同步连接。Netty只需几个线程就可以处理数千个连接。