Configuring Multicast Speed Limits
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 disabled by default to increase multicast performance. To reduce multicast speed, you can enable time statistics by setting the gemfire.
enable-time-statisticsproperty to true.
This enables time statistics for a Java application:
The time statistics properties are passed to the cache server on the
gfshthe 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.propertiesfiles 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 disabling batching. By default, GemFire uses batching for operations when the region’s scope is distributed-no-ack. Set the
disableBatchingproperty to true on the application or when starting a cache server process through the
gfsh>start server --name=server_name --J=-Dp2p.disableBatching=true