Performance Settings Checklist
30 September 2019 10:22 AM
This article lists some common system and MarkLogic Server settings that can affect the performance of a MarkLogic cluster.
From MarkLogic System Requirements:
** The deadline I/O scheduler is required on Red Hat Linux platforms. The deadline scheduler is optimized to ensure efficient disk I/O for multi-threaded processes, and MarkLogic Server can have many simultaneous threads. For information on the deadline scheduler, see the Red Hat documentation.
Note that on VMWare hosted servers, the noop scheduler is recommended.
You can read more about I/O schedulers in the following MarkLogic knowledgebase article
At system startup on Linux machines, MarkLogic Server logs a message to the ErrorLog.txt file showing the Huge Page size, and the message indicates if the size is below the recommended level.
If you are using Red Hat 6, you must turn off Transparent Huge Pages (Transparent Huge Pages are configured automatically by the operating system).
You can also read more about huge pages, transparent huge pages, and group cache settings at the following MarkLogic knowledgebase articles:
Linux Huge Pages and Transparent Huge Pages
Group Caches and Linux Huge Pages
MarkLogic Server Configurations
The following items are related to default MarkLogic Server configurations and their relationship to indexes – either index population during ingest or index reads during query time, especially in the context of avoiding threads locking when executed in parallel
There’s a collection of settings that are enabled by default in the server, whose values we often recommend changing from their defaults when users run into performance issues. Those are:
You can read more about these settings and how they relate to overall multi-thread/multi-request system performance in the following knowledgebase articles:
- When submitting lots of parallel queries, some subset of those queries take much longer - Why?;
- Read only queries run at a timestamp - Update transactions use locks;