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

时间:2016-01-18 08:39:30

标签: java multithreading concurrency netty

我有150个帖子。

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

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

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

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

我的本​​地测试没有意义。 (我无法在超过50的情况下运行服务器)

请帮帮我。

1 个答案:

答案 0 :(得分:2)

这没有黄金法则。根据您的应用程序,您可以找到;

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

我的首选是允许异步消息传递/请求,并允许单个连接使用计算机上的所有CPU /资源(如果有意义),因为在使用150个繁忙连接进行测试时可能会获得更好的结果,在现实世界中你可能不会立刻或同等程度地活跃。