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 have an 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.