I'm running 2 Windows 2016 boxes with CF 2018 Ent installed.
We have a dedicated CF instance specifically to run as a websocket server.
It's setup to proxy via IIS.
We estimate that we could have 5,000 - 10,000 concurrent connections to it since our users could be subscribed to multiple channels.
After a fresh restart of CF and IIS, clients can connect to the websocket channel instantly and get a near instant success publish from the channel so you know you're successfully subscribed and updates will start coming in.
After a random amount of time after things are working well (minutes to days), clients will instantly connect but will no longer get the success publish until things are restarted again. This means they aren't truly subscribed to the channel anymore and no updates come through.
The instance resources look fine, good memory usage, garbage collection looks good, low cpu usage.
We've also been playing with the connection pool numbers.
server.xml max threads = 5000
We're knocking our heads against the wall with this for some time now and are hoping to get some help.
Matt, while I wish I could propose some single tweak that would help, there are just too many variables. What I would say is that with a combination of better monitoring of things, as well as close assessment of those various configuration settings (to make sure there's not an issue that's unclear for what you have shared), it SHOULD be possible both to understand what's causing the failing updates/channel communication, and then what setting needs to be tweaked (whether in the connector and its config, the proxy and its config, CF, IIS, the JVM, or perhaps even something else).
If you're at all interested in a helping hand to assess all that, see my carehart.org/consulting page. I hate to drop that as the only solution I can offer, but for now it is. Perhaps soemonee else will have another suggestion if you prefer to wait for that. But if you want it solved, either we will or you won't pay for any of my time you don't find valuable.