阿卡网vs奥尔良表现



嗨,我正处于为即将开始的项目选择参与者框架的早期阶段。据我所知,奥尔良旨在以牺牲一些性能为代价,尽可能减轻开发商的痛苦。在Akka.net中,我知道actor大小是400字节。如果我是对的,你必须进入低级别来处理集群连接和由orlean管理的东西,但这会给你带来很好的性能。

我在网上为奥尔良找到的唯一性能指标是:

在Microsoft Azure上使用X-Large虚拟机(8个CPU核心/14 GB RAM),每个虚拟机有一个思洛存储器:

一个粒度每秒最多可处理1000个请求。思洛存储器每秒最多可处理10000个请求。一个筒仓可容纳100000个活性谷物。

对于主页中的Akka.net:

在一台机器上每秒发送5000万条消息。内存占用空间小~每GB堆250万个参与者。

我想知道在Akka.net场景中使用了什么机器,它们是如何执行Grain与Actor的比较的(以每秒请求数和一GB RAM中或多或少可以容纳多少Grain/Actor为单位),以及内存中的Grain重量是多少。

从Orleans和Akka.net的报价来看,Akka.net表现要好得多,但我想进一步比较两者的表现。

我找到了这个Akka.Net VS MS Orleans Comparison和Orleans and Akka Actors:A Comparison,但没有解决表演问题。

谢谢!

Akka.net报告本地消息,这些消息基本上是函数调用。奥尔良报告远程消息,请参阅RPC。这是一个主要区别。当然,还有其他不同之处。

除此之外,我能给你的唯一真正的建议是,为了你的现实基准,在通信模式和服务器数量方面,在一个尽可能接近生产的设置中衡量自己。

Microsoft Orleans被用于开发Halo 4和Halo 5的后端,这两款游戏都是针对在线比赛中的多人游戏性能而设计的。

我在Akka.net工作,我听到和阅读了很多评论,声称Akka.net因为这个和那个而变得更好或更快,但几乎没有证据表明他们的说法是基于什么。

我建议你忽略偏见,自己做研究或研究每一个的用例。还要记住,性能比较可能会偏向于开发人员熟悉的工具。

就我个人而言,我认为微软Orleans的学习速度更快,与Akka.net相比,它的代码样板更少。而且它更熟悉C#开发人员的习惯。

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

最新更新