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的跨域设计,你客户端请求地址如下
你不可能用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
Akka.net 性能测试兼使用小技巧的更多相关文章
- Loadrunner的Socket脚本关联小技巧
Socket脚本关联小技巧 我们在socket脚本调试的时候经常会遇到很多问题,比如:socket包中繁杂的二进制编码,socket数据如何进行截取,如何对socket数据包进行参数化等等,以下几点内 ...
- LoadRunner小技巧集锦
preftest 性能测试工作室,专注于性能测试技术研究(www.AutomationQA.com) LoadRunner小技巧集锦 1.录制脚本中包含中文,出现乱码怎么办? 把录制选项中的Suppo ...
- 「小技巧」使用Git从其他分支merge个别文件
小明发现在实际项目开发过程中,总会遇到各种各样的情况,比如一个大型的项目或版本迭代可能不是一次上线,可能会分好几次上线,这时候就会涉及创建多个分支,分别开发. 项目背景 产品经理:我们本次开发三个功能 ...
- 前端网络、JavaScript优化以及开发小技巧
一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...
- Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具
前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...
- 分享两个BPM配置小技巧
1.小技巧 流程图修改后发布的话版本号会+1,修改次数多了之后可能会导致版本号很高,这个时候可以将流程导出,然后删除对应的流程包再导入,发布数据模型和流程图之后,版本清零 2.小技巧 有的同事入职后使 ...
- linux系统维护时的一些小技巧,包括系统挂载新磁盘的方法!可收藏!
这里发布一些平时所用到的小技巧,不多,不过会持续更新.... 1.需要将history创建硬链接ln 全盘需要备份硬链接 ln /etc/xxx /home/xxx 2.root用户不可以远程 /et ...
- JS处理事件小技巧
今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...
- iOS:小技巧(不断更新)
记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...
随机推荐
- 【作业4.0】HansBug的第四次面向对象课程思考
嘛..不知不觉这门课程要结束了,那么就再说点啥以示庆祝呗. 测试vs正确性论证 说到这个,相比很多人对此其实很有疑惑,请让我慢慢分析. 逻辑概览 首先我们来看看两种方式各自的做法和流程是什么样的: 单 ...
- webpack4.0学习记录
2019/04/28 1.本质上,webpack基于node node跟webpack为最新稳定版,才能更好,更快的打包 安装 1.卸载node 直接在控制面板 卸载 2.安装 从官网下载 然后 ...
- mina statemachine解读(二)
这里主要讲下对外接口暴露的处理. // 创建对外接口对象 TaskWork taskWork = new StateMachineProxyBuilder().setStateContextLooku ...
- docker中的镜像中运行Django项目
首先要在镜像中 安装python3 以及 django2.0.4 目前我用的是这两个版本. 进入镜像 创建项目 进入项目中修改setting文件 将引号和星号添加进括号中 ALLOWED_HOSTS ...
- mvc路由报错
1.添加新项目时,把就项目的dll一起拷贝过来.生成项目,编译通过,打开页面时报错:“找到多个与名为“Home”的控制器匹配的类型 ”,网上的解决方案是,加命名空间,解决,但是自己这边删掉bin中原来 ...
- 【转】web.xml中的contextConfigLocation在spring中的作用
一.spring中如何使用多个xml配置文件 1.在web.xml中定义contextConfigLocation参数,Spring会使用这个参数去加载所有逗号分隔的xml文件,如果没有这个参数,sp ...
- Marshal.PtrToStringAnsi中文乱码
出错代码: string dec = Marshal.PtrToStringAnsi(audioOutput.psz_description);//输出 鎵0鍣?(Realtek High Defi ...
- oracle,mysql,sql server三大数据库的事务隔离级别查看方法
1:mysql的事务隔离级别查看方法 mysql 最简单,执行这条语句就行:select @@tx_isolation 详情: 1.查看当前会话隔离级别 select @@tx_isolation; ...
- python学习之re (?P...)通过关键字获取组以及( P=name)
和其他的RE表达式一样,但是匹配的子串可以通过group的名字 name来获取.即 result.group('name') (提示,字符串数字都是常量,所以关键字都可以被视为整型(hash结果) ...
- Bootstrap-datepicker3官方文档中文翻译---Event/事件(原文链接 http://bootstrap-datepicker.readthedocs.io/en/latest/index.html)
Events/事件 DatePicker在某些情况下触发一些事件.所有事件都拥有 传递给任何事件处理程序的 事件对象的 附加数据.(译者注:这里英语拗口,汉语也拗口,我用空格给大家断断句) ...