In the Endeca Server, caching of results for the Dgraph process is used extensively, for many types of queries. You can use the following tips for tuning it.
One of the patterns of caching utilized by the Endeca Server Dgraph process involves caching of intermediate results during parallel query processing. Such a caching strategy allows the computing resources to be utilized better, and therefore, improves throughput of the Endeca Server.
This command returns the setting for the --compute-cache-size, for all Dgraph processes serving your data domain. This is the amount of RAM, in MB, allocated to the result cache on each Dgraph node in the data domain.
The default is 0, which is interpreted as follows: When an absolute value is set to 0, the default Dgraph cache size is computed as 10% of the amount of RAM available on the Endeca Server node hosting the Dgraph node.
Note that if your data domain runs on more than one Endeca Server instance, you should issue this command on each machine hosting the Endeca Server for this data domain.
Experiment with gradually increasing the Dgraph cache size. For example, you may start by changing the cache size to 20% of memory instead of leaving it at the default value.
Note that to specify the new value, you would have to calculate what 20% of memory means in MB, based on the size of RAM on the machine hosting the Endeca Server.
endeca-cmd put-dd-profile <data_domain_profile_name> --compute-cache-size <value>
It creates a new data domain profile with the specified setting for the cache size. (In order to have a usable data domain profile, specify other options for the new data domain profile, to mimic an existing data domain profile. These options are not included in this example.) In the new data domain profile, all Dgraph processes will use the specified Dgraph cache size. The existing data domain would need to be recreated utilizing this profile.
<ns1:putDataDomainProfile xmlns:ns1="http://www.endeca.com/endeca-server/cluster/1/0"> <ns1:dataDomainProfile> ... <ns2:computeCacheSizeMB xmlns:ns2="http://www.endeca.com/endeca-server/types/1/0">1</ns2:computeCacheSizeMB> </ns1:dataDomainProfile> </ns1:putDataDomainProfile>
For additional information on endeca-cmd, see this guide. For full information on managing data domains, see the Oracle Endeca Server Cluster Guide.