【问题标题】:How does vert.x achieve superior performance compared to Netty?与 Netty 相比,vert.x 如何实现卓越的性能?
【发布时间】:2014-07-09 21:51:49
【问题描述】:

最近的TechEmpower performance benchmarks 已经在 Netty 上展示了 vert.x,有时数量很多。根据其网站,vert.x 使用 Netty 进行“大部分网络 IO”。如果是这样,与 Netty 相比,它如何实现卓越的性能?

(注意:这并不是要引起争议或引诱-我真的很想知道性能差异背后的计算机科学原因。谢谢。)

【问题讨论】:

  • 由于它取决于基准设置,因此该链接将很有用:)
  • 不幸的是,vert.x 被列为“应框架维护者的要求删除 - 过时的版本”,所以现在很难说。可能的原因有很多:在一项测试中不必要的内存复制、不同版本的 netty 库(或另一个)、更适合 JIT 的代码、更好的分支预测等。
  • 这并没有回答你的问题,但我发现它对 netty 和 vertx tech.kinja.com/…987654322@的一些更详细的细节很有趣
  • 这取决于您所谈论的基准,有几个基准,而 vertx 在这些基准中表现出色的原因各不相同。

标签: performance netty vert.x


【解决方案1】:

这取决于您所谈论的基准和轮次,轮次具有不同的性能结果,并且每个基准(明文、json、查询等)的性能结果也不同。

Vertx 使用 Netty 作为其 IO 是非常正确的,因此在没有后端的基准测试中,结果非常相似。在这样的测试中,Netty 通常比 Vertx 快一点,因为它比 Vertx 做的事情少,因为 Vertx 是一个用于开发应用程序的库,而 Netty 是一个网络库。

在数据库测试中,Vertx 的出色性能与 Reactive Postgres Client 的使用有很大关系,Reactive Postgres Client 非常优化,并且还提供了网络流水线,这就是这个基准。

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 2011-03-22
    • 2021-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2011-01-29
    相关资源
    最近更新 更多