3 Replies Latest reply on Jul 10, 2007 12:19 PM by manik

    difference between mcast_addr and bind_addr

    seniorfrog

      I am using treecache in a clustered environment (16 total nodes, 4x4). Our current configuration only specifies a bind_addr, but I believe specifying both a mcast_addr and mcast_port might help the performance issues we're running into. I'm trying to convince a few people to specify a mcast_addr and port, but I'm not sure I totally understand the difference between the two (even after going through all the documentation). Can someone please tell me the difference between these two parameters? Similarly, does a mcast_addr need to be specified if a bind_addr is already specified?

      Here is some information just in case you might want to know:

      JBossCache version 1.4.1 SP3
      Hibernate version 3.2.4 ga
      Websphere version 6.0.x
      Solaris Machines (not sure of the exact version, but pretty recent).

      <UDP bind_addr="xxx.xxx.xxx"
       ip_mcast="true"
       ip_ttl="32"
       mcast_send_buf_size="150000"
       mcast_recv_buf_size="80000"
       ucast_send_buf_size="150000"
       ucast_recv_buf_size="80000"
       loopback="false"
      />
      


      We are using optimistic locking with repl_sync, but this might change as we go through our performance/scalability cycle.

        • 1. Re: difference between mcast_addr and bind_addr
          manik

          bind _addr specifies the address to bind to for incoming communications.

          mcast_addr and mcast_port specify the muticast address/port to use when broadcasting messages to the cluster.

          Even if you don't specify a mcast address and port one is used. See the javadocs on the UDP protocol on the JGroups website for defaults.

          There is no specific reason why specifying these would help performance though. I suppose what you need to do is to identify where your bottlenecks are - at what stages of the app do you run into performance bottlenecks, etc etc.

          • 2. Re: difference between mcast_addr and bind_addr
            seniorfrog

            Thanks for the reply. That helps me to understand the difference between the two much better.

            We are working with our network engineering department to monitor the network traffic between the different machines based on various configurations (the app servers are located offsite in a data center). So far we have been focusing on different configurations at the JBossCache level, specifically the cache mode. If we start testing different JGroups configurations I'll post the results here.

            Just FYI, it's hard to determine the bottleneck since we only run into problems when running all 16 nodes. Fun stuff. ;-)

            • 3. Re: difference between mcast_addr and bind_addr
              manik

              Have you tried repl_async?

              Also, if you need sync replication but have session affinity, you could try buddy replication. Makes things scale much better.