微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Akka.NET 可调整大小的池不调整大小?

如何解决Akka.NET 可调整大小的池不调整大小?

我正在学习 Akka.NET 训练营课程,在完成 this one 后,我已经离开了课程的轨道,并尝试实现一个具有可调整大小池的路由器。

我已经改变了这个:

protected override void PreStart()
{
    _githubWorker = Context.ActorOf(Props.Create(() =>
        new GithubWorkerActor(GithubClientFactory.GetClient))
        .WithRouter(new RoundRobinPool(10)));
}

为此:

protected override void PreStart()
{
    _githubWorkerPool = new RoundRobinPool(1,new DefaultResizer(1,100));
    _githubWorker = Context.ActorOf(Props
        .Create(() => new GithubWorkerActor(GithubClientFactory.GetClient))
        .WithRouter(_githubWorkerPool));
}

并将路由计数添加到 UI:

    _statusLabel.Text = $@"{stats.UsersThusFar} out of {stats.ExpectedUsers} users ({stats.QueryFailures} failures) [{stats.Elapsed} elapsed] Pool size: {stats.PoolSize}";

可以在 this commit 中找到整个更改。

路由池大小根本没有调整大小,我不知道为什么。

1 routee in the pool example

当我在开始时设置各种池大小时,我观察到了显着的性能提升,例如1(上)和 15(下)路线。

15 routee in the pool example

从 1 routee 开始的可调整大小的配置的性能很差,所以我认为 PoolSize 变量的 UI 更新没有问题,但池大小实际上没有调整大小。 我如何观察池如何调整大小?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?