What is the maximum connection count threshold beyond which it will start impacting SQL Anywhere 16 database server's performance? DB Server Profile: SQL Anywhere 16 64 bit / Intel i5 2.5 GHz 8 cores / 16 GB RAM / 512 GB SSD Drive Max Connection Limit DB Property (SELECT Property('MaxConnections') is set to 32766. Can we really have these many active connections (pooled and regular) and still have optimum database performance? Also, what is the memory footprint for 1 database connection in SQL Anywhere 16? Thanks asked 28 Oct '20, 11:48 chinmaydixit |
According to that older FAQ, it's around 3k per connection. Note, Mark and Glenn were directors of SQL Anywhere Engineering then, so their statements are certainly trust-worthy.
For the general question, I can't tell but would assume that "it obviously depends": Even one single user can run queries that force the server to use its resources heavily...
I don't think much, if anything, has changed since I wrote my answer to that FAQ question that Volker pointed to... Except the memory overhead per connection has certainly increased (but I don't know what it would be in v16 or v17? - it would be at least 4k). The limiting criteria is going to be more related to what the connections are doing (i.e. query/update load) rather than number of connections.
Thanks Volker and Mark for your inputs. I appreciate your responses.
So with 500 active connections, the memory overhead just for the connection though, excluding data, would be ~2MB. Would that be correct?
I'm not sure where the 3k came from, but I think in addition there would more than that for communication memory per connection (at least one communication buffer of size 7.3K).
Thanks Ian for your update.
@Ian, is there a server-level or connection-level property that tells about the required memory footprint per connection?