Re: NIST-SIP 55 CAPS on my laptop and counting!
"M. Ranganathan" <[email protected]>
| Newsgroups | gmane.comp.voip.nist-sip |
|---|---|
| Message-ID | <[email protected]> |
Hello again, I fixed the leak ( timer task inner class holding on to a reference to a MessageChannel and refusing to let go of the Input buffer consequently. Ugh! ). 10000 calls seem to work fine. On my machine the windows image size of Shootist is up at around 110 Mb and stays steady there. Please cvs update and try. I am still at 55 CAPS (must be something to do with the speed limit on US Highways :-) ). Fran, you can run it on 1.4 -- the concurrent library works on 1.4 (and even 1.3 I believe) and I have deliberately refrained from using Java 5 for NIST-SIP so far (a pity). Here is a snapshot hot off the press for those with draconian firewall policies: https://jain-sip.dev.java.net/files/documents/44/35417/jain-sip-1.2.tar.gz Incidentally, you may want to cut to Java 5 for performance reasons. Object pooling and GC has been enhanced and your performance will be certainly better. Would be nice to figure out why it does not seem to scale on Matt's multiprocessor whereas it does seem to scale for Francisco. Well, maybe its worth a wiki page as we figure out how to tune the stack (I did make a feeble attempt at starting a wiki for jsip but am bogged down with other stuff). Ranga. Francisco Javier Tellez Vaquero wrote: > Hi again, > we've repeated the tests with a machine with 4 CPU's Sun UltraSparc+ > dual-core at 1,5Ghz (as is we have 8 CPU's). > > We use SIPP as the client and test.load.concurrency.Shootme as the > server. The flow is: > > SIPP -------------------------> SHOOTME > > INVITE -----------> > 180 <--------------- > 200 <--------------- > ACK --------------> > BYE <-------------- > 200 ----------------> > > We reach almost 60cps with only 8% of CPU usage (1% per CPU). We see > the CPU usage scale, that means with 4 CPU's you obtain 16 % of CPU > usage. > > After this test we change the BYE and is SIPP who sends it. > > SIPP -------------------------> SHOOTME > > INVITE -----------> > 180 <--------------- > 200 <--------------- > ACK --------------> > BYE --------------> > 200 <-------------- > > This time we can't reach more than 30cps in a stable way. If you try > to send more, you begin having a lot ot concurrent calls and finally > performance falls. > > I think bottleneck must be in the input. If we have time we'll try to > use a profiler to find where the problem is. > > A question I have is if there's any possibility to use this software > with Java 1.4 because of 'javax.util.concurrency' package. > > Best Regards, > Fran. > > >> From: "Francisco Javier Tellez Vaquero" <[email protected]> >> To: [email protected] >> CC: [email protected] >> Subject: Re: [nist-sip] NIST-SIP 55 CAPS on my laptop and counting! >> Date: Tue, 30 May 2006 09:46:54 +0200 >> >> Hello Ranga, >> we're preparing a machine with 4 Sun UltraSparc+ to make the tests. >> We use SIPP as the client. When we finish the tests we let you know. >> >> Regards, >> Fran. >> >> >>> From: "M. Rangnathan" <[email protected]> >>> To: Jeroen van Bemmel <[email protected]> >>> CC: sip mailing <[email protected]> >>> Subject: Re: [nist-sip] NIST-SIP 55 CAPS on my laptop and counting! >>> Date: Tue, 30 May 2006 03:01:25 -0400 >>> >>> Thanks for the feedback guys! >>> >>> Goes to show that I do need to rate limit the rate at which messages >>> are being processed. Timing out on ClientTransaction should be >>> expected at high thruput I guess so I suppose one should not fail >>> the test on that basis. I will add a stack config option to rate >>> limit the incoming requests to prevent server choking. I guess there >>> are some scalability issues (many perhaps). I'll give it a hack and >>> revert back here. Any clues about why it is not scaling with the >>> number of processors Matt? There has to be a bottleneck somewhere >>> but I have no clue with my uniprocessor at hand. >>> >>> >>> Regards, >>> >>> Ranga >>> >>> Jeroen van Bemmel wrote: >>> >>>> I get 52 cps on my P4 2.8Ghz w/ Hyperthreading when I set >>>> #threads=1 or #threads=2 >>>> I tried tweaking the JVM options but this gives worse results (e.g. >>>> -server). This could be due to the relatively small >>>> >>>> When I set #dialogs=10000, after a while I get (with 1GB of memory) >>>> >>>> [java] Exception in thread "UDPMessageProcessorThread" >>>> java.lang.OutOfMemoryError: Java heap space >>>> >>>> or, when I try tweaking the JVM options again, >>>> >>>> shootist: >>>> [java] createSipStack gov.nist.javax.sip.SipStackImpl@1f14ceb >>>> [java] Transaction Time out >>>> [java] state = Calling Transaction >>>> [java] dialog = gov.nist.javax.sip.stack.SIPDialog@1385660 >>>> [java] dialogState = Terminated Dialog >>>> [java] Transaction Time out >>>> [java] Transaction >>>> gov.nist.javax.sip.stack.SIPClientTransaction@a828be4 >>>> [java] Exception in thread "Timer-1" >>>> junit.framework.AssertionFailedError: Unexpected event: TimeoutEvent >>>> [java] request INVITE sip:[email protected] SIP/2.0 >>>> [java] at junit.framework.Assert.fail(Assert.java:47) >>>> [java] Call-ID: [email protected] >>>> [java] at >>>> test.load.concurrency.Shootist.processTimeout(Shootist.java:226) >>>> [java] CSeq: 1 INVITE >>>> [java] at >>>> gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:335) >>>> [java] From: "The Master Blaster" <sip:[email protected]>;tag=2451 >>>> [java] at >>>> gov.nist.javax.sip.SipProviderImpl.handleEvent(SipProviderImpl.java:123) >>>> >>>> [java] To: "The Little Blister" <sip:[email protected]> >>>> [java] at >>>> gov.nist.javax.sip.SipProviderImpl.transactionErrorEvent(SipProviderImpl.java:787) >>>> >>>> >>>> [java] Via: SIP/2.0/UDP >>>> 127.0.0.1:5060;branch=z9hG4bK3fcfcdb99f111ceb3c91137f916b7c2d >>>> [java] at >>>> gov.nist.javax.sip.stack.SIPTransaction.raiseErrorEvent(SIPTransaction.java:765) >>>> >>>> >>>> [java] Max-Forwards: 70 >>>> [java] at >>>> gov.nist.javax.sip.stack.SIPClientTransaction.fireTimeoutTimer(SIPClientTransaction.java:936) >>>> >>>> >>>> [java] Contact: "BigGuy" <sip:[email protected]:5060> >>>> [java] at >>>> gov.nist.javax.sip.stack.SIPTransaction.fireTimer(SIPTransaction.java:586) >>>> >>>> >>>> [java] My-Header: my header value >>>> [java] Call-Info: <http://www.antd.nist.gov> >>>> [java] Route: <sip:127.0.0.1:5070;lr;transport=udp> >>>> [java] Content-Length: 0 >>>> >>>> >>>> [java] Timer already cancelled. >>>> [java] at >>>> gov.nist.javax.sip.stack.SIPClientTransaction$TransactionTimer.run(SIPClientTransaction.java:252) >>>> >>>> >>>> [java] at java.util.TimerThread.mainLoop(Timer.java:512) >>>> [java] at java.util.TimerThread.run(Timer.java:462) >>>> [java] java.lang.IllegalStateException: Timer already cancelled. >>>> [java] at java.util.Timer.sched(Timer.java:354) >>>> [java] java examples.shootist.Shootist >>>> [java] >>>> is your class path set to the root? >>>> [java] at java.util.Timer.schedule(Timer.java:222) >>>> [java] at >>>> gov.nist.javax.sip.stack.SIPClientTransaction.startTransactionTimer(SIPClientTransaction.java:1121) >>>> >>>> >>>> [java] at >>>> gov.nist.javax.sip.stack.SIPTransactionStack.createMessageChannel(SIPTransactionStack.java:919) >>>> >>>> >>>> [java] at >>>> gov.nist.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:299) >>>> >>>> >>>> [java] at >>>> test.load.concurrency.Shootist.sendInvite(Shootist.java:329) >>>> [java] at >>>> test.load.concurrency.Shootist.main(Shootist.java:393) >>>> >>>> >>>> ----- Original Message ----- From: "M. Rangnathan" <[email protected]> >>>> To: "Matt Porter" <[email protected]> >>>> Cc: "sip mailing" <[email protected]> >>>> Sent: Tuesday, May 30, 2006 7:40 AM >>>> Subject: Re: [nist-sip] NIST-SIP 55 CAPS on my laptop and counting! >>>> >>>> >>>>> Another config param I forgot to set for multiprocessor -- >>>>> REENTRANT_LISTENER = true >>>>> Also please edit ProtocolObjects and set the THREAD_POOL_SIZE >>>>> appropriately >>>>> >>>>> 1 is the right setting for uniprocessor. Set it to >>>>> >>>>> Do revert to us with a quick test run. Thanks! >>>>> >>>>> Ranga >>>>> >>>>> >>>>> Matt Porter wrote: >>>>> >>>>>> i didnt inspect anything just ran the test as the were and got >>>>>> this.. >>>>>> >>>>>> dual-core 2.8: 58 cps >>>>>> 8 way 2.8 zeon (4 CPU's with hyperthreading): 62 cps >>>>>> >>>>>> ----- Original Message ----- From: "M. Rangnathan" <[email protected]> >>>>>> To: "sip mailing" <[email protected]> >>>>>> Sent: Monday, May 29, 2006 9:27 PM >>>>>> Subject: [nist-sip] NIST-SIP 55 CAPS on my laptop and counting! >>>>>> >>>>>> >>>>>>> Hello! >>>>>>> >>>>>>> I got rid of all my synchornized data structures and replaced >>>>>>> them all with equivalent concurrent library synchronized >>>>>>> hashmaps and such. I ran the following experiment: >>>>>>> >>>>>>> UAC to UAS call setup and teardown with the UAS tears down the >>>>>>> call. I set the thread pool size to unconstrained (hmm.. negates >>>>>>> previous hypothesis). I ran 1000 concurrent Dialogs and averaged >>>>>>> call setup/teardown per call over 1000 calls. My measured >>>>>>> thruput on my single processor laptop is 55 Calls / Second ( I >>>>>>> measure the average time between INVITE and BYE ). I ran this in >>>>>>> self test mode. The test is in src/test/load/concurrency/ >>>>>>> >>>>>>> Can somebody repeat the test and report results and also examine >>>>>>> the test code (it is quite small). >>>>>>> >>>>>>> Would anybody like to run this using SIPP on their >>>>>>> multiprocessor machine and do a scalability analysis ( i.e. >>>>>>> scalability with respect to number of processors / rate of >>>>>>> INVITEs etc. ). I will try to devise a mechansm to deal with >>>>>>> flooding attacks (yetanudder stack configuration parameter ugh! ). >>>>>>> The harder we work at it the faster it goes. >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> Ranga >>>>>>> >>>>>>> -- >>>>>>> M. Ranganathan >>>>>>> Advanced Networking Technologies Division, >>>>>>> National Institute of Standards and Technology (NIST), >>>>>>> 100 Bureau Drive, Stop 8920, Gaithersburg, MD 20899. tel:301 975 >>>>>>> 3664 , fax:301 590 0932 http://w3.antd.nist.gov/ >>>>>>> Advanced Networking Technologies For the People! >>>>>>> >>>>>>> _______________________________________________ >>>>>>> nist-sip mailing list >>>>>>> [email protected] >>>>>>> http://www-x.antd.nist.gov/mailman/listinfo/nist-sip >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> M. Ranganathan >>>>> Advanced Networking Technologies Division, >>>>> National Institute of Standards and Technology (NIST), >>>>> 100 Bureau Drive, Stop 8920, Gaithersburg, MD 20899. tel:301 975 >>>>> 3664 , fax:301 590 0932 http://w3.antd.nist.gov/ >>>>> Advanced Networking Technologies For the People! >>>>> >>>>> _______________________________________________ >>>>> nist-sip mailing list >>>>> [email protected] >>>>> http://www-x.antd.nist.gov/mailman/listinfo/nist-sip >>>> >>>> >>>> >>>> >>>> >>> >>> >>> -- >>> M. Ranganathan >>> >>> Advanced Networking Technologies Division, >>> National Institute of Standards and Technology (NIST), >>> 100 Bureau Drive, Stop 8920, Gaithersburg, MD 20899. tel:301 975 >>> 3664 , fax:301 590 0932 http://w3.antd.nist.gov/ >>> Advanced Networking Technologies For the People! >>> >>> >>> _______________________________________________ >>> nist-sip mailing list >>> [email protected] >>> http://www-x.antd.nist.gov/mailman/listinfo/nist-sip >> >> >> >> >> _______________________________________________ >> nist-sip mailing list >> [email protected] >> http://www-x.antd.nist.gov/mailman/listinfo/nist-sip > > > > > -- M. Ranganathan Advanced Networking Technologies Division, National Institute of Standards and Technology (NIST), 100 Bureau Drive, Stop 8920, Gaithersburg, MD 20899. tel:301 975 3664 , fax:301 590 0932 http://w3.antd.nist.gov/ Advanced Networking Technologies For the People!