Memory Usage Considerations with the node_read_cache_size Option

The tibdg grid create command comes with the node_read_cache_size option. This property governs the size of the read cache allotted to a node.

Here are some memory usage considerations when you are assigning a size to the read cache:
  • If the RAM on a node's host exceeds the amount of data persisted by the node, increasing the node_read_cache_size value to match the size of the uncompressed data set yields an improved random read performance.
  • If the data set is larger than the host's RAM, increasing the node_read_cache_size value can negatively affect the random read performance. In such instances, the read cache of the application comes at the expense of the page cache of the operating system.
  • If node_read_cache_size is a significant percentage of the host RAM, the operating system must be configured to prevent swapping of the node application for optimal performance. Example:
    • On Linux, you might have to reduce the value of /proc/sys/vm/swappiness or disable swap.
    • In Docker, you can modify the --memory-swappiness run parameter to prevent swapping.