Assuming proper hardware resources and an external database, how many concurrent clients can a single installation of the Professional version of Messenger handle?
That’'s unfortunately a tough question to answer. Our primary bottleneck is the persistent c2s connections to the server. Our server is jdk 1.3 compatible so we use blocking i/o and dedicate a thread to each connection.
So, the primary limit is usually either the number of connections, or the number of threads for your OS and JVM. For example some versions of Windows, out of the box only allow 64 connections. Linux default kernel is usually limited to 1024 connections.
Then there is the thread limit. Some JVMs perform very poorly after a few hundred threads are running while others can handle several thousand. The actual number varies both on the OS (Windows handles many threads much better than Linux) and on the JVM vendor and version. In addition, too many threads usually degrades the OS performance rather than setting a firm upper limit so the system will typically consume more and and more CPU until response times grow unacceptable.
We hope to run some benchmarks to demonstrate some example setups and their limits and post them on our website. One of the big questions for us is whether we should go with completely generic OS installations which will set some hard limits on where we can scale to per machine, or whether limits on ‘‘custom systems’’ like Linux kernel recompiles and Windows undocumented registry setting changes are more useful.
So, I don’‘t want to beat around the bush too much but the real answer is, "We can’‘t say with certainty." Ideally I’‘d like to put together a test tool that you could install and run on your particular setup to get the correct numbers for you. I’‘m not sure when I’'ll have the time to do that though.
Sorry for the wishy-washy answer. Unfortunately that’'s the best I have right now.
Sorry for the wishy-washy answer. Unfortunately
that’'s the best I have right now.
No problem. I figured it was “it depends” kind of question I was asking.
Thanks for the info,