Scala version : 2.11.7
Akka version : 2.4.17
-----
Hi Akka Team,
I'm writing an Akka application using Akka Cluster, Akka Actors and Akka
Stream. I have a cluster of 3 nodes : 2 workers and 1 node consuming data
from a source.
I want three configs files : application.conf, node.worker.conf and
node.source.conf. I limit the scope of this message to application.conf and
node.worker.conf.
Below you can find the content of node.worker.conf and application.conf :
akka.cluster.roles = [workers]
akka {
loglevel = "INFO"
loglevel = ${?FGS_AKKA_LOG_LEVEL}
actor {
provider = "akka.cluster.ClusterActorRefProvider"
default-dispatcher {
# This will be used if you have set "executor = "fork-join-executor""
fork-join-executor {
# Min number of threads to cap factor-based parallelism number to
parallelism-min = 1
# The parallelism factor is used to determine thread pool size
using the
# following formula: ceil(available processors * factor). Resulting
size
# is then bounded by the parallelism-min and parallelism-max values.
parallelism-factor = 1
# Max number of threads to cap factor-based parallelism number to
parallelism-max = 8
}
throughput = 1024
}
}
remote {
enabled-transports = ["akka.remote.netty.tcp"]
netty.tcp {
hostname = ${clustering.node-ip}
port = ${clustering.node-port}
bind-hostname = "0.0.0.0"
bind-port = ${clustering.node-port}
}
}
cluster {
seed-nodes =
[
"akka.tcp://"${clustering.cluster.name}"@"${clustering.fst-seed-node
-ip}":"${clustering.fst-seed-node-port}
"akka.tcp://"${clustering.cluster.name}"@"${clustering.snd-seed-node
-ip}":"${clustering.snd-seed-node-port}
]
}
}
clustering {
# Choose the same need port for the seed nodes. Seed nodes must be on
# different machines.
fst-seed-node-port = 2551
fst-seed-node-port = ${?FGS_FIRST_SEED_NODE_PORT}
snd-seed-node-port = 2552
snd-seed-node-port = ${?FGS_SECOND_SEED_NODE_PORT}
fst-seed-node-ip="localhost"
fst-seed-node-ip=${?FGS_FIRST_SEED_NODE_IP}
snd-seed-node-ip="localhost"
snd-seed-node-ip=${?FGS_SECOND_SEED_NODE_IP}
// Must be the public IP
node-ip = ${?FGS_CLUSTER_NODE_IP}
node-port = ${?FGS_CLUSTER_NODE_PORT}
cluster.name = "FGS"
}
I tried to tune some settings of my default-dispatcher : I want to limit
the number of threads in the thread pool to 8. My laptop has 8 cores, this
is why I put the parallelism-factor to 1.0
But looking with jvisualm the number allocated threads, I got more than
expected (I attached a screenshot). When I expected to have only 8 threads,
I get it 21.
This is how I create my ActorSystem :
val akkaConfig = ConfigFactory.load()
val actorSystemConfig =
(ConfigFactory parseResources "node.worker.conf")
.withFallback(akkaConfig)
.resolve()
lazy val actorSystemName = akkaConfig getString clusterNamePath
implicit val system = ActorSystem(actorSystemName, actorSystemConfig)
Am I wrong when creating my Actor System ?
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ:
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.