4 Replies Latest reply on May 5, 2006 3:35 PM by markricard

    Expected Concurrent Users on JBoss... Really...

    markricard

      We are trying to figure out what "range" we should be shooting for with concurrent users on a system. Yes, I know, "it depends on your application logic, your hardware, blah blah". But lets assume some things.

      1.) Dell 2850 64 Bit Dual 3.0mhz with 6 Gigs RAM, SCSI hard drives
      2.) CentOS 64 bit operating system with JRockit 64 bit VM
      3.) Pretend the database is MySQL and is on a server that can do anything
      4.) Pretend the code is written fairly well and has gone thru profilers that show no serious bottlenecks.
      5.) The typical route for a request for data is jsp->struts->sessionejb->hibernate->mysql
      6.) The workflow performed concurrently is creating a simple account (we all know that workflow - name, address, etc)

      Now, I think that is more than enough information in a general sense to ask what concurrent user range we or anyone should expect. And by concurrent, I mean "requests at the same time" not "logged in".

      Also, does fronting JBoss/Tomcat with Apache for static content/load balancing make a difference? If so, how about a % improvement and assumptions for that percent. Looking for real world examples here if any have some.

      What I am looking for is "at least x but probably not more than y concurrent users without some timeouts or errors".


      Anxiously waiting and thanks in advance,
      Mark

        • 1. Re: Expected Concurrent Users on JBoss... Really...
          markricard

          Amazing... not a single person can give a clue as to what an acceptable range is?

          • 2. Re: Expected Concurrent Users on JBoss... Really...
            wlouth_jboss

            Hi Mark,

            I think you might be a bit unfair in your critic. Honestly there is really no way any person is going to offer any capacity advice without understand the nature of your application. There are many applications on the market that have similar technology stacks but there are completely different beasts when you look at the execution behavior and the environment context. You must begin performance tester to start to build a understanding of the important components and resources in the application runtime and how they are effected by different workload and concurrency patterns.

            Maybe you could look at some of our performance insight articles:
            http://www.jinspired.com/products/jxinsight/insights.html

            I would also recommend the following steps in capacity planning and performance assessment.
            http://jroller.com/page/wlouth?entry=software_performance_engineering_spe_activities

            Regards

            William Louth
            JXInsight Product Architect
            JInspired

            "J*EE tuning, testing, tracing, and monitoring with Insight"
            http://www.jinspired.com

            • 3. Re: Expected Concurrent Users on JBoss... Really...
              markricard

              Thank you for the response.

              I am trying to find out, on average, what people are getting in concurrent usage. I completely understand you can create a bad system and get 1 concurrent user. Or you can create a great architecture and get 100x more. Or you could have an application that doesn't do much and get tons of concurrents. Finally, you can have one that does a ton of stuff and has far less concurrents.

              What I am looking for are people to tell me the complexity of their system, kind of hardware, and how many concurrent users they have using JBoss. Its not complicated.

              I find that NOBODY wants to do this.

              • 4. Re: Expected Concurrent Users on JBoss... Really...
                markricard

                Part of my original question was does fronting Tomcat with Apache really help? And the answer is undeniably YES!

                Before we moved anything to Apache, we load tested JBoss/Tomcat and tweaked its settings. Moved Max Threads values and such. Exactly as described on multiple forums. We tweaked it until we came up with a concurrent usage count that was as high as we could get it.

                Then, we pushed all of our images to Apache. The result was a 30% increase in concurrent users on our JBoss/Tomcat box.

                This is the kind of stuff I am looking for. If you have some great concurrent usage numbers, there are reasons for it. And I want to know, and share, why.