One common reason is when market data is not being consumed fast enough. Our server-side buffer can fill, resulting in delayed and killed connections.
To prevent this, it is best to read packets off the network immediately and put them into a queue. A separate thread can then parse the messages and process them.
Additionally, using multi-threaded languages like GoLang or C# can be more efficient for streaming large amounts of data than single-threaded languages like Python.
You can check the buffer limit in the connections tab in your dashboard. If you need additional assistance, please reach out to support@polygon.io.