Akka.net vs Orleans 表现

问题描述 投票:0回答:3

嗨,我正处于为即将启动的项目选择演员框架的早期阶段。据我所知,奥尔良旨在以牺牲一些性能为代价,尽可能地减轻开发人员的痛苦。在 Akka.net 中,我知道 Actor 大小是 400 字节如果我是对的,你必须进入低级别来处理集群连接和由 orleans 管理的事物,但会给你带来出色的性能。

我在互联网上找到的 Orleans 的唯一性能指标是:

在 Microsoft Azure 上使用超大型虚拟机(8 个 CPU 核心/14 GB RAM),每个虚拟机有一个孤岛:

一个grain每秒最多可以处理1000个请求。 筒仓每秒最多可处理 10,000 个请求。 一个筒仓可容纳 100,000 粒活性谷物。

对于 Akka.net 的主页面

单台机器每秒处理 5000 万条消息。内存占用小;每 GB 堆约 250 万个 Actor。

我想知道 Akka.net 场景中使用了哪些机器以及它们如何执行 Grain 与 Actor(就每秒请求数以及 1 GB RAM 中或多或少可以容纳多少 Grain/Actor 而言)记忆中一粒谷物的重量是多少。

根据 Orleans 和 Akka.net 的引用,看起来 Akka.net 的性能要好得多,但我想在性能方面对两者进行进一步的比较。

我发现了这个 Akka.Net VS MS Orleans ComparisonOrleans and Akka Actors: A Comparison 但没有解决性能问题。

谢谢!

c# azure akka.net orleans
3个回答
28
投票

Akka.net 报告本地消息,基本上是函数调用。 Orleans 报告远程消息,请参阅 RPC。这是一个主要区别。当然还有其他差异。

除了上述内容之外,我能给您的唯一真正建议是在通信模式和服务器数量方面尽可能接近生产的设置中,根据您的实际基准来衡量自己。


10
投票

Microsoft Orleans 被用来开发 Halo 4 和 Halo 5 的后端,这两款游戏都因其在线比赛中的多人游戏性能而受到好评。

我与 Akka.net 合作,我听到并读到了很多评论,声称 Akka.net 更好或更快是因为这样那样的原因,但几乎没有证据证明他们的主张是基于什么。

我建议您忽略偏见并进行自己的研究或研究每种偏见的用例。另请记住,性能比较可能会偏向开发人员熟悉的工具。

我个人认为,与 Akka.net 相比,Microsoft Orleans 学习起来更快,并且代码的样板代码更少。而且它对于 C# 开发人员的习惯来说更加熟悉。

您关于 Akka 与 Orleans 的链接并未比较 Akka.net 与 Orleans。 JVM 上的 Akka 是另一个故事。 Akka.net 只是一个端口,JVM 与 dotnet 运行时完全不同,这就是为什么 Orleans 团队说 C# 不需要像 Akka 这样的东西(抱歉我找不到他们的帖子这么说)。


0
投票

我们对Orleans进行了评估,结果发现它的表现非常出色。样板文件非常简单,开发可以只关注业务逻辑。 AKKA 是基于 jvm 的,对于 .net,我建议坚持使用 Orleans 。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.