15.07.2016 Views

MARKLOGIC SERVER

Inside-MarkLogic-Server

Inside-MarkLogic-Server

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

operating system may not have fully written the journal to disk. The "fast" option<br />

protects against MarkLogic Server process failures but not against host operating<br />

system kernel failures or host hardware failures. The "off" option does not journal<br />

at all and does not protect against MarkLogic Server process failures, host operating<br />

system kernel failures, or host hardware failures. For some specialized cases where<br />

the data is recoverable, such as during a bulk load, it may be appropriate to set<br />

journaling "off" temporarily to reduce disk activity and process overhead.<br />

5. Linux Huge Pages and Transparent Huge Pages: Linux Huge Pages are<br />

two-megabyte blocks of memory; normal pages are just four kilobytes. Besides<br />

being bigger, they also are locked in memory and cannot be paged out. Employing<br />

Huge Pages gives MarkLogic more efficient access to memory and also ensures that<br />

its in-memory data structures remain pegged in memory. MarkLogic recommends<br />

setting Linux Huge Pages to 3/8 the size of your physical memory and recommends<br />

against using Transparent Huge Pages, which while enabled by default on Red Hat<br />

6 are still buggy. You'll see advice to this effect in the ErrorLog.txt should MarkLogic<br />

detect anything less.<br />

6. Swap space: If the MarkLogic process uses all available memory, the OS will use<br />

swap space as a temporary memory store. Once this happens, things will get slow—<br />

very slow. Having swap space will allow your performance to gradually degrade<br />

over time instead of just crashing when the OS can't allocate more memory. If your<br />

hardware has less than 32 gigabytes RAM, then use 1x available RAM for swap. If<br />

your hardware has more than 32 gigabytes RAM, use 32 gigabytes RAM.<br />

7. Red Hat Linux deadline I/O scheduler: The deadline I/O scheduler improves<br />

performance and ensures that operations won't starve for resources and possibly never<br />

complete. On Red Hat Linux platforms, the deadline I/O scheduler is required.<br />

8. Forests: Forests are in most ways independent from each other, so with multi-core<br />

systems, you can often benefit by having more forests to get more parallel execution.<br />

Also, forests can be queried in parallel by different threads running on different<br />

cores. It's true that the stands within a forest can be queried in parallel by separate<br />

threads, but after a merge, there might be just one stand and so no chance for<br />

parallelization. This makes it important to configure a sufficient number of forests<br />

for your deployment.<br />

For more on best practices for optimizing MarkLogic performance, see the white paper<br />

Performance: Understanding System Resources.<br />

120

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!