You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've got a system where we run a fairly CPU-heavy process as part of incoming websocket requests. To ensure the system both protects itself from running out of resources and can handle sudden high loads, we're looking into Knative Serving as a potential solution, given that the containerConcurrency property seems to do exactly what we need.
Effectively we're looking to limit each container to 10 active websocket connections and force the auto scaler to add new instances if we need more. We've setup our deployment yaml as follows:
However, when applying a load of 40 active socket connections to this service, all of them go to the same pod. I checked netstat to get the number of active connections in the pod, and it returned 210 ESTABLISHED records on port 8080.
Displaying the list of pods, I get this:
NAME READY STATUS RESTARTS AGE
pod/socket-service-00001-deployment-cf64c4bd5-npdcj 2/2 Running 0 9h
It seems no matter how much load I throw at it, it refuses to scale. There are no errors in the autoscaler logs but also no indications that it attempts to scale. I feel like I'm missing something obvious, but I can't figure it out based on the documentation.
Is this expected to work the way I think it should? What's the best way to debug issues like this?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi all,
We've got a system where we run a fairly CPU-heavy process as part of incoming websocket requests. To ensure the system both protects itself from running out of resources and can handle sudden high loads, we're looking into Knative Serving as a potential solution, given that the
containerConcurrency
property seems to do exactly what we need.Effectively we're looking to limit each container to 10 active websocket connections and force the auto scaler to add new instances if we need more. We've setup our deployment yaml as follows:
However, when applying a load of 40 active socket connections to this service, all of them go to the same pod. I checked netstat to get the number of active connections in the pod, and it returned 210
ESTABLISHED
records on port8080
.Displaying the list of pods, I get this:
It seems no matter how much load I throw at it, it refuses to scale. There are no errors in the autoscaler logs but also no indications that it attempts to scale. I feel like I'm missing something obvious, but I can't figure it out based on the documentation.
Is this expected to work the way I think it should? What's the best way to debug issues like this?
Beta Was this translation helpful? Give feedback.
All reactions