Hey, I’m running my website (latest Play 2.8.2), and I have some questions.
- I have an akka config in my application.conf (and alpakka s3 connector settings too) but it seems it doesn’t work when I run project locally (sbt run) but it works fine when I deliver it to my test/prod environment (with sbt docker:publish), what’s the problem here?
- Is there any way to monitor akka connection pool? I use alpakka s3 to upload files and stream it back to users and sometimes (like every 2-3 days) it failes with
exceeded configured max-open-requests value of 1024
exception and usually it means it might be over the high load but in my case it just stays till I reboot my server (so connections are not closing)
I’ve enabled INFO log level for akka and sometimes I see something like that:
2020-07-28 18:08:11 DEBUG a.h.impl.engine.client.PoolGateway application/Pool(shared->https://s3.us-west-2.amazonaws.com:443) Dispatching request [GET /streaming.traktrain.com/33107/b8ea8135-82a2-83c7-926f-2f27e94a47e3.mp3 Empty] to pool
2020-07-28 18:08:11 DEBUG a.h.impl.engine.client.PoolGateway application/Pool(shared->https://s3.us-west-2.amazonaws.com:443) [1 (Unconnected)] Dispatching request [GET /streaming.traktrain.com/33107/b8ea8135-82a2-83c7-926f-2f27e94a47e3.mp3 Empty]
2020-07-28 18:08:11 DEBUG a.h.impl.engine.client.PoolGateway application/Pool(shared->https://s3.us-west-2.amazonaws.com:443) [1 (Unconnected)] Before event [onNewRequest] In state [Unconnected] for [2675 ms]
2020-07-28 18:08:11 DEBUG a.h.impl.engine.client.PoolGateway application/Pool(shared->https://s3.us-west-2.amazonaws.com:443) [1 (Unconnected)] Establishing connection
2020-07-28 18:08:11 DEBUG a.h.impl.engine.client.PoolGateway application/Pool(shared->https://s3.us-west-2.amazonaws.com:443) [1 (Connecting)] After event [onNewRequest] State change [Unconnected] -> [Connecting]
2020-07-28 18:08:11 DEBUG akka.io.TcpOutgoingConnection akka://application/system/IO-TCP/selectors/$a/279006 Resolving s3.us-west-2.amazonaws.com before connecting
2020-07-28 18:08:11 DEBUG akka.io.TcpOutgoingConnection akka://application/system/IO-TCP/selectors/$a/279006 Attempting connection to [s3.us-west-2.amazonaws.com/52.218.246.40:443]
2020-07-28 18:08:11 DEBUG akka.io.TcpOutgoingConnection akka://application/system/IO-TCP/selectors/$a/279006 Connection established to [s3.us-west-2.amazonaws.com:443]
2020-07-28 18:08:11 DEBUG a.h.impl.engine.client.PoolGateway application/Pool(shared->https://s3.us-west-2.amazonaws.com:443) [1 (Connecting)] Connection attempt succeeded
There are numbers [1 (Connecting)] For example, is it open connections number? Or what’s that?
And here is my build.sbt:
val AkkaVersion = "2.5.31"
val AkkaHttpVersion = "10.1.12"
libraryDependencies ++= Seq(
"com.lightbend.akka" %% "akka-stream-alpakka-s3" % "2.0.1",
"com.typesafe.akka" %% "akka-stream" % AkkaVersion,
"com.typesafe.akka" %% "akka-http" % AkkaHttpVersion,
"com.typesafe.akka" %% "akka-http-xml" % AkkaHttpVersion
)
and akka conf:
akka {
loglevel = DEBUG
http {
client {
connecting-timeout = 5 s
idle-timeout = 5 s
parsing {
max-content-length = 3000m
}
}
server {
parsing {
max-content-length = 3000m
}
}
host-connection-pool {
max-open-requests = 1024
idle-timeout = 10 s
client {
connecting-timeout = 10 s
idle-timeout = 10 s
}
}
}
}
later I tried to change max-open-requests = 128 but still monitoring it