如何解决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(上)和 15(下)路线。
从 1 routee 开始的可调整大小的配置的性能很差,所以我认为 PoolSize 变量的 UI 更新没有问题,但池大小实际上没有调整大小。 我如何观察池如何调整大小?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。