documentation:performance
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
documentation:performance [2009/10/19 12:12] – DEFLATE conflicts with XMLENT, can't enable deflate for html / xml yet dbs | documentation:performance [2022/02/10 13:34] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Optimizing the performance of your Evergreen server ====== | ====== Optimizing the performance of your Evergreen server ====== | ||
- | ===== Apache server optimization ===== | + | ===== PostgreSQL Database Configuration ===== |
+ | |||
+ | NOTE: Originally compiled at the Developer Hack-a-way, November 2015 | ||
+ | |||
+ | Operation System Considerations | ||
+ | * avoid 3.2 kernel (http:// | ||
+ | * usually " | ||
+ | * mount filesystems used for Pg with the ' | ||
+ | * disable NUMA zone-reclaim | ||
+ | * Kernel settings per http:// | ||
+ | * consider segregating I/O for WAL and WAL archiving on different drives/RAID controllers than those used for the main data directory | ||
+ | * Disable transparent huge pages ([[http:// | ||
+ | |||
+ | Hardware Considerations: | ||
+ | |||
+ | * RAID Cache + Battery + Writeback Cache (when battery is present / enabled) | ||
+ | * separate RAID volumes for the data directory | ||
+ | * separate RAID volume for the xact_log | ||
+ | * BIOS | ||
+ | * hyperthreading disabled (bshum) | ||
+ | * Ideally enough RAM to cache entire database (or at least metabib tables and indexes) -- RAM is faster than SSD | ||
+ | |||
+ | Application-level | ||
+ | * Use recent version of MARC:: | ||
+ | * Avoid running anything other than Pg on the database server | ||
+ | * Apply the fix for https:// | ||
+ | * Check page size for searching | ||
+ | * Tuning opensrf.xml - max children - cstore/ | ||
+ | * Separate tasks onto different physical (or virtual) machines | ||
+ | |||
+ | PostgreSQL | ||
+ | * https:// | ||
+ | * autovacuum aggressiveness | ||
+ | * default_statistics_target | ||
+ | * random_page_cost (lower particularly if you have SSDs) | ||
+ | * log_min_duration_statement (to identify long-running queries) | ||
+ | * GIN indexes, especially for metabib tables | ||
+ | * Look at actual index usage (e.g., http:// | ||
+ | * use of a separate, replicated database for reporting purposes | ||
+ | |||
+ | Tools | ||
+ | * pg_prewarm - http:// | ||
+ | * pgbadger - log analyzing and statistics: http:// | ||
+ | * EXPLAIN ANALYZE | ||
+ | |||
+ | |||
+ | ===== Apache server optimization | ||
There are a number of steps you can follow to optimize your Apache server. | There are a number of steps you can follow to optimize your Apache server. |
documentation/performance.txt · Last modified: 2022/02/10 13:34 by 127.0.0.1