Skip to main content
Version: 2.0

Performance Tuning

Increase Module Memory

Increase the memory for modules using environment variables. Memory configuration is available for Config, Fuze, Search, Payment, Files, PDF, Manager, NLP, Publish, and Security. Below are examples of how to configure each.

Config

version: '3.5'
services:
config:
environment:
- MAX_HEAP=2048m
- INITIAL_HEAP=2048m

Fuze

version: '3.5'
services:
fuze:
environment:
- MAX_HEAP=2048m
- INITIAL_HEAP=2048m
version: '3.5'
services:
search:
environment:
- MAX_HEAP=2048m
- INITIAL_HEAP=2048m

Payment

version: '3.5'
services:
payment:
environment:
- MAX_HEAP=2048m
- INITIAL_HEAP=2048m

Files

version: '3.5'
services:
files:
environment:
- MAX_HEAP=2048m
- INITIAL_HEAP=2048m

PDF

version: '3.5'
services:
pdf:
environment:
- MAX_HEAP=2048m
- INITIAL_HEAP=2048m

Manager

version: '3.5'
services:
manager:
environment:
- MAX_HEAP=2048m
- INITIAL_HEAP=2048m

NLP

version: '3.5'
services:
nlp:
environment:
- MAX_HEAP=2048m
- INITIAL_HEAP=2048m

Publish

version: '3.5'
services:
publish:
environment:
- MAX_HEAP=2048m
- INITIAL_HEAP=2048m

Security

version: '3.5'
services:
security:
environment:
- MAX_HEAP=2048m
- INITIAL_HEAP=2048m

Increase ONgDB Memory

You can find the memory configuration in the ONgDB section of the docker-compose.yml project file.

version: '3.5'
services:
ongdb:
environment:
- ONGDB_dbms_memory_heap_initial__size=1024m
- ONGDB_dbms_memory_heap_max__size=1024m
- ONGDB_dbms_memory_pagecache_size=1024m

Increase Elasticsearch Memory

Elasticsearch memory can be increased by modifying docker-compose.yml in the root of the package

version: '3.5'
services:
elasticsearch:
environment:
- ES_JAVA_OPTS=-Xmx1024m -Xms1024m

Enable GPU for NLP

Enable GPU to allow GraphGrid NLP to run with all available Nvidia GPUs for increased performance. There are 3 GPU options available through the GraphGrid CLI: enable, disable, and check.

The enable/disable command adds/removes the following snippet to the docker-compose NLP section:

# docker-compose.yml
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities:
- gpu

The check command checks for compatibility to use GraphGrid with GPU support and provides information about the environment.

GPU Compatibility

The check command runs a check on the system's GPU software and hardware against the following requirements:

  • Nvidia driver min. 450
  • CUDA version: max. 11.2
  • Compute capacity: min.3.0
note

More compatibility testing to come! GraphGrid NLP has only been tested on Nvidia GPUs and therefore cannot provide requirement parameters for other GPUs.

GraphGrid CLI GPU Commands

Use the following GraphGrid CLI commands to enable/disable or check the environment compatibility to run GraphGrid with GPU support.

For a list of all options:

./bin/graphgrid gpu --help
note

GPU usage is disabled by default. The user must manually enable the GPU with the following command or else processes will be handled by the CPU.

Enable

./bin/graphgrid gpu enable

Disable

This setting is a change within the docker-compose file, therefore, disabling the GPU requires GraphGrid NLP to either be offline or restarted if it is online.

./bin/graphgrid gpu disable

To restart GraphGrid NLP if it is online:

./bin/graphgrid start nlp

Check

./bin/graphgrid gpu check