Akka.net 性能测试兼使用小技巧

栏目: ASP.NET · 发布时间: 7年前

内容简介:最近想研究一下分布式开发,先拿了akka.net 跑一下性能参考自己写个网络实现,一般在本机通讯,300M每秒的传输率,作为参考嗯,先说结果,用Akka.net直接发bytearray,最后也只有40M每秒的传输率。

最近想研究一下分布式开发,先拿了akka.net 跑一下性能

参考自己写个网络实现,一般在本机通讯,300M每秒的传输率,作为参考

嗯,先说结果,用Akka.net直接发bytearray,最后也只有40M每秒的传输率。

所以高性能场合不适用。

另外akka.net remote 有个小小的问题

Akka.net 的 服务一侧配置如下

remote {
dot-netty.tcp {
port = 8090
hostname = 0.0.0.0
}
}

此时纵有千般武艺你也不可能连的进来

因为

Akka.net 有一个类似http的跨域设计,你客户端请求地址如下

"akka.tcp://server@10.1.1.176:8090/user/Echo" ;

你不可能用0.0.0.0 做请求地址吧。

就算 从服务一侧 指定 public_hostname 还是有一个问题

一个服务器只能对应一个域名

这在调试时非常不便,我有一个服务。

我就想

"akka.tcp://server@127.0.0.1:8090/user/Echo";
"akka.tcp://server@localhost:8090/user/Echo";
"akka.tcp://server@10.1.1.176:8090/user/Echo";

这三种方式都能访问

现在的akka是做不到的,除非你用我这个办法

static void AddAkkaRemoteHost(ActorSystem system, string[] morehost = null)
{
var ext = system as ExtendedActorSystem;
IRemoteActorRefProvider provider = ext.Provider as IRemoteActorRefProvider;
var addrs = provider.Transport.Addresses;
var addrslist = addrs.GetEnumerator();
addrslist.MoveNext();
Address first = addrslist.Current;
if (first.Host != "localhost")
addrs.Add(new Address(first.Protocol, first.System, "localhost", first.Port));
if (first.Host != "127.0.0.1")
addrs.Add(new Address(first.Protocol, first.System, "127.0.0.1", first.Port));
if (morehost != null)
{
foreach (var host in morehost)
{
if (first.Host != host)
addrs.Add(new Address(first.Protocol, first.System, host, first.Port));
}
}
}
using (var system = ActorSystem.Create("server", config))
{
AddAkkaRemoteHost(system, new string[] { "10.1.1.176" });
system.ActorOf(
Props.Create(
() => new ChatServerActor()
)
, "Echo"
);
Console.ReadKey();
}
 

你能从这里获取代码

https://github.com/lightszero/akka.learn


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

码农翻身

码农翻身

刘欣 / 电子工业出版社 / 2018-6-1 / 69.00元

《码农翻身》用故事的方式讲解了软件编程的若干重要领域,侧重于基础性、原理性的知识。 《码农翻身》分为6章。第1章讲述计算机的基础知识;第2章侧重讲解Java的基础知识;第3章偏重Web后端编程;第4章讲解代码管理的本质;第5章讲述了JavaScript的历史、Node.js的原理、程序的链接、命令式和声明式编程的区别,以及作者十多年来使用各种编程语言的感受;第6章是作者的经验总结和心得体会,......一起来看看 《码农翻身》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码