Configuring your database

GrapheneDB allows you to adjust the following Neo4j settings:

To change the Neo4j configuration, navigate to your database Configure tab and switch to editing mode by clicking on the Edit configuration button.

Applying changes

Once you have introduced the new configuration settings, click on the Apply and restart button. A confirmation dialog will be shown to confirm the changes.

🚧

Applying changes on Single Dedicated plans

In order to apply changes in the configuration, your database needs to be restarted. This will result in a short downtime, which will depend on the time that Neo4j needs to stop and start your database, usually less than 1 minute.

📘

Applying changes on High Available plans

Before changing applying the configuration on a cluster, all the nodes need to be available.

High Available plans will be restarted using the rolling restart strategy, meaning that you won’t experience downtime in the client while applying the configuration.

Read-only mode

When the read-only mode is enabled, no insertions, updates or deletions will be performed.

Transaction timeout

It is possible to configure Neo4j to terminate transactions whose execution time has exceeded the configured timeout.

To change the default transaction timeout that was configured for your plan, please navigate to Configure, click on the Edit configuration button to change it.

Transaction timeout limits for each plan

There is a minimum and a maximum for transaction timeout that depends on your plan. To prevent issues with long running requests, we have chosen ranges that make sense with the resources of each plan.

PlanMinMax
DS11s5min
DS21s5min
DS31s5min
DS41s15min
DS5 and higher1s45min
HA11s5min
HA21s15min
HA3 and higher1s45min

Memory configuration

Your instance memory is assigned and used by different components:

  • Heap memory. The runtime data area from which memory for all class instances and arrays is allocated.
  • Page cache. The page cache is used to cache the Neo4j data stored on disk. The caching of graph data and indexes into memory helps avoid costly disk access and result in optimal performance.
  • Other memory used by Neo4j. This is the rest of memory that is needed for Neo4j to be configured.
  • OS memory. The memory that must be reserved for running the processes of the operating system itself.

To simplify memory configuration to the user, GrapheneDB only allows changing heap memory for your database. The value for the page cache will be automatically calculated to use the remaining available memory.

GrapheneDB shows how the rest of the memory is distributed for the sake of transparency, but heap and page cache are the two important memory settings for you to consider.

The default heap is designed for your database to work correctly, but it’s allowed to reduce it in favor of increasing Page Cache, so that more data can fit into memory and reduce disk access.

If you are running a DS1 or DS2 plan, memory won’t be able to be adjusted, as the plans are already running with the minimum heap needed for Neo4j to work correctly.

🚧

Attention

A bad memory configuration can have a dramatic impact on performance and even make your database unresponsive. Please make sure you know what you’re doing before you change these settings.