1 2 3 4 Previous Next 46 Replies Latest reply on Mar 26, 2004 10:21 AM by ggimler Go to original post
      • 45. Re: Multicast JMS
        apdutta

        Hi Bela,
        Thanks for your quick reply

        I started with SLJMS. Could run the examples. InteractiveJMSClient with Producder/Subscriber.

        But, I am not clear how to use it for my needs.
        1. If I have 3 Java Progs running on 3 Different machines what they shud do to use SLJMS and communicate with each other.
        2. What configuration + property file settings do i need on these 3 machines.
        3. I dont have any app server. I assume that is okay with SLJMS.

        Please guide me. Sorry for such dumb questions.
        Regards
        Aditya


        Bela Ban wrote:------------------
        There is a prototype of JMS running on top of JGroups at jboss.org. Checkout the project called ServerlessJMS, maybe this is what you need.

        Aditya Dutta wrote:----------------

        Hi,
        I am very new to JGroups.
        I wanted to use JGroups for group coordination between a set of independant java programs running on different machines. But, I would wish to use the JMS Protocol.
        I would be very grateful if any one can please guide me as to how it can be done, where to start and how to write configs for JMS Protocol. I have downloaded JGroups and the demos work i.e. Draw program. I am very impressed and the functionality fits my needs perfectly. But, please help as how I can use it with JMS.

        Thanks in advance
        Aditya Dutta
        EAI Consultant
        Michelin Tire Co Ltd
        Tokyo, Japan

        • 46. Re: Multicast JMS
          ggimler

           

          "bela" wrote:


          10Mpbs ? You're going to get 1MB/sec throughput max.

          If you run only on the local box, set UDP.bind_addr to 127.0.0.1, to circumvent the NIC entirely. Also add a multicast route that actually points to your loopback device.
          I suggest you take the NIC down for the duration of the tests to make sure you don't send anything via the 10Mbps link.

          Also, I suggest to set UDP.loopback=true.



          Ok - I ran the same tests on some faster machines using a gigabit ethernet. Tests were run on a dual 64-bit AMD Opteron machine running Suse Linux with JDK 1.4.2. The numbers increased a lot but you can see the numbers still degrade with each additional subscriber. Here are the numbers I got:

          Text messages (10000 sent)
          -1300 msg/sec with 1 pub - 1 sub
          - 915 msg/sec with 1 pub - 2 sub
          - 780 msg/sec with 1 pub - 3 sub

          Object messages (10000 sent)
          - 410 msg/sec with 1 pub - 1 sub
          - 306 msg/sec with 1 pub - 2 sub
          - 243 msg/sec with 1 pub - 3 sub


          So yes the object messages still need to be optimized perhaps with better techniques but even if they were optimized I would start out with a higher rate than 410 msg/sec but it would still decrease with each subscriber and that's the main limitation right now. I can try some tcpdumps or use ethereal to try and see what's going on network-wise.

          "Bela" wrote:

          Here's another one: you may want to adjust the compression level in COMPRESS (9 = best).
          Bela


          Tried that - it didn't make much difference. I did notice a bug however when I put the compression to 0. Here's that output when that's the compression value:

          ERROR 10:57:43,691 [Connection Management Thread] (GroupConnection.java:194) - Dispatching failed
          [java] java.lang.IllegalArgumentException: java.io.StreamCorruptedException
          [java] at org.jgroups.Message.getObject(Message.java:218)
          [java] at sljms.GroupConnection.dispatch(GroupConnection.java:239)
          [java] at sljms.GroupConnection.run(GroupConnection.java:188)
          [java] at java.lang.Thread.run(Thread.java:534)




          1 2 3 4 Previous Next