任何人都可以帮助我根据处理器和 RAM 修复正确的线程池大小。
我们可以修复工作线程的限制以获得更好的性能吗?
您可以将 I/O 工作线程的数量指定为构造函数参数。不要使用固定的线程池执行器。使用无界缓存线程池。
试试这样:
ChannelFactory factory = new NioServerSocketChannelFactory(Executors.newCachedThreadPool(),
new OrderedMemoryAwareThreadPoolExecutor(workerMax, 0, 0));
查看文档以获取更多详细信息。
没有一般的答案。所有这一切都取决于工作量等。所以你不会附加一个分析器来查看你的工作线程有多忙等等。最重要的是你需要确保你没有阻塞代码在他们中。如果你有,你需要一个 ExecutionHandler。