【问题标题】:performance of akka remoteakka遥控器的性能
【发布时间】:2013-08-15 00:42:59
【问题描述】:

我正在使用 akka-sample-remote 示例进行一些性能测试。似乎往返时间现在是 3 毫秒。其中包括(使用 localhost 在同一主机中的两个 jvm 中的两个参与者)。

1 A->B:发送一个 MathOp 请求 2 B->A:发回结果

我怀疑大部分时间都花在了序列化上。但不确定。有人有什么建议我该如何进一步提高性能?真的是序列化占用了大部分时间吗?因为他们在同一个主机上。所以我认为网络应该不会花费太多时间?

【问题讨论】:

  • 是3毫秒内包含的MathOp运算的时间还是只是空操作?!
  • 3ms 非常少。是什么让你觉得它不好。
  • 不,这种简单的通信不是序列化。你精通性能测试吗?例如,您是否在开始测量之前多次执行测试?
  • 您正在使用什么序列化程序,您正在做多少预热,您正在采集多少样本,以及第 50、75、90、99 和 99.9 个百分位数是什么样的?
  • @VincenzoMaggio。最初它是包括在内的,我也尝试将其移出测量范围。但不影响。因为它只是加/减。

标签: scala akka


【解决方案1】:

为什么你认为这是一个错误的数字?

不要混合延迟和吞吐量。每秒吞吐量 60k 项的单线程系统没有 1000/60k ms 的延迟。

我使用过 Redis,它是单线程应用程序,它每秒能够消耗约 10 万条消息,但有 500 多个并发连接。乍一看,它没有提供纳秒级延迟。

【讨论】:

  • 感谢您的回复。实际上,我担心的是这里的延迟而不是吞吐量。我想要一个交易系统。所以想知道akk remoting的延迟是否满足性能要求。
  • 因此,您应该在此处阅读有关 Lmax 及其破坏者模式的文章和演示文稿,或者例如在 infoq 上。他们也有交易系统,并且真正关心微秒级的延迟。非常鼓舞人心的演示,包括处理器缓存等。
  • 谢谢。我会看看。对于这个简单的性能测试,我仍然愿意提供任何建议。像1:这是akka能做的最好的吗? 2 使用protobuf会提高这种简单通信的性能;
猜你喜欢
  • 1970-01-01
  • 2016-08-10
  • 1970-01-01
  • 2023-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-01
相关资源
最近更新 更多