Netty - 在 java 中并发发送消息的最佳方式

Netty - The best way to send message concurrently in java

我有 150 个线程。

每个线程都有 Netty 客户端 并连接到服务器。

我应该使用更多的 150 个线程来发送吗?

我应该使用 75 个线程来发送吗?

我应该使用无线程发送吗?

我的本地测试没有意义。 (超过50我无法操作服务器)

请帮助我。

这没有黄金法则。根据您的应用程序,您会发现;

  • 1个连接1个线程就可以用完机器的所有资源
  • 使用大约CPU个数到2 * CPU个数就足够用完机器的所有CPU
  • 如果您有同步请求(而不是异步请求)和高网络延迟,您可能会发现大部分时间都花在等待数据上,在这种情况下,更多连接将有助于缓解这种延迟。

我的偏好是允许异步 messaging/requests 并允许单个连接使用机器上的所有 CPU/resources 如果它有意义的话,因为当你测试 150 繁忙时你可能会得到更好的结果连接,在现实世界中你可能不会同时或以相同的程度都活跃。