Akka:如何使平衡池中的参与者数量相对于线程池大小

马坦斯特

对于在我的应用程序中包含关键计算的Actor类,我在路由器后面生成了一堆actor:

val concurrency = 4 // to be replaced by something dynamic
val ahoCorasick = AppActorSystem.system.actorOf(MyActorClass.props(ldb)
                                         .withRouter(BalancingPool(nrOfInstances = concurrency)), 
                                          name = "foo") 

如何获得与核心数或适用于actor系统的线程池大小相关的Actor实例数?例如,每个内核一个Actor,或者等于提供的线程池大小的actor数量?(可能还会定义特定于这些参与者的线程池)。

yǝsʞǝla

最好从Akka配置(reference.confapplication.conf)中获取线程数这是解释其配置方式的参考文档您可以有一个自定义的调度程序,也可以有一个默认的调度程序,所以最好的办法是不要盲目使用下面的代码,而是要了解您实际使用的调度程序。

您可以执行以下操作:

import akka.actor.ActorSystem
import com.typesafe.config.{Config, ConfigFactory}

val conf = ConfigFactory.load().getConfig("akka.actor.default-dispatcher.fork-join-executor")

def getThreadConf(conf: Config): (Int, Int, Int) = {
  val parallelismFactor = conf.getInt("parallelism-factor")
  val parallelismMin = conf.getInt("parallelism-min")
  val parallelismMax = conf.getInt("parallelism-max")
  (parallelismFactor, parallelismMin, parallelismMax)
}

println(getThreadConf(conf))
val system = ActorSystem()
println(getThreadConf(system.settings.config.getConfig("akka.actor.default-dispatcher.fork-join-executor")))

默认情况下,您得到:

factor: 3, min: 8, max: 64

检查您使用的调度程序的名称,或使用 val myActor = context.actorOf(Props[MyActor].withDispatcher("my-dispatcher"), "myactor1")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Akka参与者之间的工作负载平衡

来自分类Dev

如何确定pointsGrob的大小(相对于textGrob的大小)?

来自分类Dev

在Spray应用程序中,如何为业务层设置单独的长期参与者池?

来自分类Dev

scala的参与者模型如何利用C线程和本机系统线程?

来自分类Dev

如何设置相对于屏幕的Chrome应用大小

来自分类Dev

我如何ul相对于标头的大小?

来自分类Dev

endturnwithnext参与者,它是如何工作的?

来自分类Dev

Akka.NET查询参与者有效

来自分类Dev

具有参与者的Akka群集节点离开

来自分类Dev

Akka:在参与者系统之外进行交流?

来自分类Dev

Akka消息和参与者的命名约定

来自分类Dev

Akka持久性查询和参与者分片

来自分类Dev

Akka启动和访问参与者返回的数据

来自分类Dev

Akka是否根据可用资源来规范参与者?

来自分类Dev

具有持久参与者的 Akka Sharding 的背压

来自分类Dev

UML用例图的参与者数量

来自分类Dev

使用Symfony FosMessageBundle或OrnicarMessageBundle加载线程参与者的问题

来自分类Dev

在 Azure Service Fabric 参与者中启动线程?

来自分类Dev

字体大小相对于身体?

来自分类Dev

相对于关联值的节点大小

来自分类Dev

在任何时候,服务结构集群中给定参与者的给定参与者ID的参与者实例的最大数量是多少?

来自分类Dev

如何在部署在不同群集节点上的两个相同参与者之间保持状态?(akka.net)

来自分类Dev

如何计算具有多个观察值/行的,在列的不同行中具有值组合的参与者的数量?

来自分类Dev

仅选择一定数量的试验后如何获得所有参与者的平均值

来自分类Dev

如何使HTML文本框相对于页面大小调整大小?

来自分类Dev

在Python3 / tkinter中,如何相对于其父窗口大小设置框架的大小?

来自分类Dev

如何相对于浏览器窗口大小调整div的大小?

来自分类Dev

如何相对于视口大小调整轮播大小 Boostrap 4.1.0

来自分类Dev

如何在 Xamarin 的滚动视图中相对于屏幕大小调整内容大小?

Related 相关文章

  1. 1

    Akka参与者之间的工作负载平衡

  2. 2

    如何确定pointsGrob的大小(相对于textGrob的大小)?

  3. 3

    在Spray应用程序中,如何为业务层设置单独的长期参与者池?

  4. 4

    scala的参与者模型如何利用C线程和本机系统线程?

  5. 5

    如何设置相对于屏幕的Chrome应用大小

  6. 6

    我如何ul相对于标头的大小?

  7. 7

    endturnwithnext参与者,它是如何工作的?

  8. 8

    Akka.NET查询参与者有效

  9. 9

    具有参与者的Akka群集节点离开

  10. 10

    Akka:在参与者系统之外进行交流?

  11. 11

    Akka消息和参与者的命名约定

  12. 12

    Akka持久性查询和参与者分片

  13. 13

    Akka启动和访问参与者返回的数据

  14. 14

    Akka是否根据可用资源来规范参与者?

  15. 15

    具有持久参与者的 Akka Sharding 的背压

  16. 16

    UML用例图的参与者数量

  17. 17

    使用Symfony FosMessageBundle或OrnicarMessageBundle加载线程参与者的问题

  18. 18

    在 Azure Service Fabric 参与者中启动线程?

  19. 19

    字体大小相对于身体?

  20. 20

    相对于关联值的节点大小

  21. 21

    在任何时候,服务结构集群中给定参与者的给定参与者ID的参与者实例的最大数量是多少?

  22. 22

    如何在部署在不同群集节点上的两个相同参与者之间保持状态?(akka.net)

  23. 23

    如何计算具有多个观察值/行的,在列的不同行中具有值组合的参与者的数量?

  24. 24

    仅选择一定数量的试验后如何获得所有参与者的平均值

  25. 25

    如何使HTML文本框相对于页面大小调整大小?

  26. 26

    在Python3 / tkinter中,如何相对于其父窗口大小设置框架的大小?

  27. 27

    如何相对于浏览器窗口大小调整div的大小?

  28. 28

    如何相对于视口大小调整轮播大小 Boostrap 4.1.0

  29. 29

    如何在 Xamarin 的滚动视图中相对于屏幕大小调整内容大小?

热门标签

归档