1 2 3 Previous Next 37 Replies Latest reply on May 26, 2006 2:30 PM by gohip

    JBoss Mail Server Performance and Throughput

    gohip

      Does anyone have any data, or could possibly point me in right direction, of where to find out about the Performance and Throughput statistics of JBoss Mail Server?

      Is there any sort of benchmarking software, that applies to Mail server testing, that others have used, and could recommend

      Utmost sincerity

      jay glass
      http://ichibancomputers.com

      PS: why is there no link, just to search within jboss mail server, instead, we have to go to generic page, where we have to select jbossmailserver from drop down, buried in drop down i should say!

        • 1. Re: JBoss Mail Server Performance and Throughput
          acoliver

          There is specmail from the spec people: http://www.spec.org/mail2001/. Unfortunately our lab does not at the moment meet the requirements of the run rules so we cannot publish our resutls. However, we do test with it. Testing with it is probably cost prohibitive. My intention is to get JBoss to offer "sizing" as a service for JBMS. Of course this will be based on customer demand. Not a big deal. We will have our own tool by the 1.0 release and I have bits and pieces of it, but I haven't yet committed it.

          I can offer no defense for our site design. For my own needs I use google to search our site and generally find what I need. Though I agree it could be more optimal.

          -Andy

          • 2. Re: JBoss Mail Server Performance and Throughput
            gohip

            Thanks for info Andrew...

            Now my boss, would like me to write a tester/benchmark app that would spin off several threads each thread slamming mail server with email send's

            This app would then run on multiple pc's connected to different networks, firing off at same time, i.e. initial launch, and then try and rate the mail servers performance based on logs of both apps

            As to the bits and pieces you have, is it worth me looking at and seeing if i can tie it in together as thus described? it could be the first of many user submitted testing app's!

            • 3. Re: JBoss Mail Server Performance and Throughput
              acoliver

              yes. I will send it this weekend. It'd be very helpful to have someone else help with this.

              • 4. Re: JBoss Mail Server Performance and Throughput
                gohip

                great, be aware, though as you may not have already guessed, i not great(yet) with "mBeans" and xmBeans, and the nonesuch

                so is plain old java okay? guess I see what yeah got!

                • 5. Re: JBoss Mail Server Performance and Throughput
                  acoliver

                  plain java. Threads, Sockets and Streams.

                  mbeans ala JBoss and xmbeans are just a wrapper around reflexion and dynamic proxies (another implementation of the same thing is called Spring).

                  • 6. Re: JBoss Mail Server Performance and Throughput

                     

                    Now my boss, would like me to write a tester/benchmark app that would spin off several threads each thread slamming mail server with email send's


                    Look at using Grinder http://grinder.sourceforge.net/

                    It will do all of the multi-threading and measuring transactions per second for you. All you will need to do is write a script to send the email. I think they even supply a sample script that does just that. Its based on Jython, but you can write most of the code in Java and just hook it in with a Jython script.

                    It supports multiple threads and processes distributed across mulitple machines.

                    Mike.

                    • 7. Re: JBoss Mail Server Performance and Throughput
                      acoliver

                      what I had written is checked in the jboss-mail module src/sizing. If we can get some decent stats from it the grinder method intrigues me more. However I don't have time to mess with it sufficiently as the setup for custom scripts did not immediately seem clear to me. I'd really appreciate it if someone else pulled that off though.

                      -andy

                      • 8. Re: JBoss Mail Server Performance and Throughput
                        gohip

                        Now Andrew,

                        I was thinkin about it, and obviously, when I began to think about it, it became apparent, that there are several facets of JB Mail that could be possibly tested.

                        Performance thoroughput of World Facing SMTP service
                        Performance thoroughput of User Facing SMTP service
                        Performance thoroughput of POP service

                        thus for now, I will focus this discussion on the "Performance thoroughput of World Facing SMTP service"

                        When I began to think about that, I realised, I wouldnt be sending email from the remote machine, as a user, but that i should "pretend" I am another mail server.

                        Basically, and please correct me if i am wrong (prob.), all a "real" mail server does, is the exact same thing that is accomplished through telnet session into our mail server, i.e.

                        EHLO [my.BCompany.com]
                        MAIL FROM:<joeschmoe@my.BCompany.com>
                        RCPT TO:<jasong@my.company.com>
                        DATA
                        subject; Send Data
                        this is another telnet test email
                        .


                        (though I can never get subject to work...)

                        so the "pretend" mail server on my machine, as well as other "zombie" (no, no virus's, just seems like a good name) "pretend" mail server machines, at the simplest, could just have a small Java application, that began spawning threads up to a certain threshold, each thread would create a socket connection to port 25 of the mail server we want to perform performance testing on, send a mail, and then...

                        Then I hit on this scenario, since this is the world facing side of the smtp service

                        should the thread continue sending emails, or disconnect.

                        it seems most mail servers, might not have more than one or two messages at a given time, in our situation.

                        thus a true test, it seems would be to have each thread disconnect from the mail server, have a new thread take it's place, and send another, else, the connection would still be open, and we would lose out on actually testing multiple connections...


                        • 9. Re: JBoss Mail Server Performance and Throughput
                          acoliver

                          did you even look at the code I put in for you?

                          • 10. Re: JBoss Mail Server Performance and Throughput
                            gohip

                            yes, well didnt look at it, building it now (before I jack it all up), I looked at grinder, but dont neccessarily need all that at this moment

                            i am going to look at your code now...

                            • 11. Re: JBoss Mail Server Performance and Throughput
                              gohip

                              okay, so test is running locally right now...

                              your props file...
                              hostname=192.168.69.251
                              port=25
                              threads=5
                              prefix=test
                              start=100000
                              end=120000
                              domain=192.168.69.251

                              threads is actually number of concurrent users?

                              so, in my scenario users = mail servers, so as I have it set, it seems that 5 mail servers are sending mail, at random intervals

                              start = 100000 and end =1200000

                              Im waiting, to see if it quits sending when it reaches 120, 000 emails, but does this mean, it started at 100,000 and goes to 120k, so in essence, it is sending 20,000 emails?

                              I imagine, If I set the threads to 100, as you had it, it will finish alot faster? depending on the limitations of may machine?

                              • 12. Re: JBoss Mail Server Performance and Throughput
                                gohip

                                I thin netbeans died, the program is still running, netbeans says it's still building, I see output/emails wizzing by in the system.out's

                                but netbeans's output screen has gone blank...

                                it's at 110,000

                                • 13. Re: JBoss Mail Server Performance and Throughput
                                  acoliver

                                  threads is THREADS. Start-end is users. I mostly wanted you to look at the code cause it answers all the questions you asked more completely. output logs to a file (redirect)

                                  • 14. Re: JBoss Mail Server Performance and Throughput
                                    gohip

                                    oh, so I just weked it to Th=100, start=0, end=5000
                                    based on my assumption, oops

                                    so with what you said, i have a hundred threads(mail servers/senders) sending to 5,000 users?

                                    yes, your right, okay, need to look at code more

                                    my results this run:

                                    with 5000 user
                                    it tooks us 280906 millisecond
                                    at about 1 message per user that is 56 milliseconds per message

                                    and "tid:4,users{test4998@192.168.69.251,test4999@192.168.69.251"

                                    means that user "test4998" is sending an email to user "test4999"

                                    1 2 3 Previous Next