zoukankan      html  css  js  c++  java
  • Akka.net 性能测试兼使用小技巧


    最近想研究一下分布式开发,先拿了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

  • 相关阅读:
    模拟--北京标准时间
    DOM方法
    Document-对象属性和常用的对象方法
    struts2标签
    OGNL
    Java基础方面
    初识拦截器
    访问者模式
    备忘录模式
    门面模式
  • 原文地址:https://www.cnblogs.com/crazylights/p/10290116.html
Copyright © 2011-2022 走看看