After you determine the maximum transmission rate, configure and tune your production system.

For best performance, the producer and the consumers should run on different machines and each process should have at least one CPU dedicated to it. The following is a list of configuration changes that can improve multicast performance. Check with your system administrator about changing any of the limits discussed here.

  • Increase the default datagram size for systems running Microsoft Windows from 1024 bytes to a value that matches your network’s maximum transmission unit (MTU), which is typically 1500 bytes. The higher setting should improve the system’s network performance.
  • Distribution statistics for stack time probes are deactivated by default to increase multicast performance. To reduce multicast speed, you can enable time statistics by setting the gemfire.enable-time-statistics property to true.

    This enables time statistics for a Java application:

    -Dgemfire.enable-time-statistics=true
    

    The time statistics properties are passed to the cache server on the gfsh the command line:

    gfsh>start server --name=server_name --enable-time-statistics=true
    
  • Monitor the members that receive data for signs of data loss. A few data loss messages can happen normally during region creation. Data loss monitoring can be done by reviewing the GemFire DistributionStats in the statistics archive using the optional Visual Statistics Display (VSD) tool. If the cache regions are configured to require acknowledgment, you could see messages timing out as they wait for a response. After a put into a region, the next operations might report that the entry could not be found.

  • Multicast retransmit requests and unicast retransmits can also be monitored to detect data loss. Even when you see data loss, the cause of the problem may have nothing to do with the network. However, if it happens constantly then you should try testing the flow control rate again

  • If necessary, reconfigure all the gemfire.properties files and repeat with lower flow control maximum credits until you find the maximum useful rate for your installation.

  • Slow system performance might be helped by reducing how far your multicast messaging goes in your network.
  • Reduce multicast latency by deactivating batching. By default, GemFire uses batching for operations when the region’s scope is distributed-no-ack. Set the disableBatching property to true on the application or when starting a cache server process through the gfsh command line:

    gfsh>start server --name=server_name --J=-Dp2p.disableBatching=true
    
check-circle-line exclamation-circle-line close-line
Scroll to top icon