documentation:performance
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| documentation:performance [2009/10/18 01:18] – created 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. | ||
| Line 9: | Line 55: | ||
| a2enmod deflate # on Debian or Ubuntu | a2enmod deflate # on Debian or Ubuntu | ||
| </ | </ | ||
| - | - Edit / | + | - Edit / |
| < | < | ||
| - | AddOutputFilterByType DEFLATE | + | AddOutputFilterByType DEFLATE text/css application/ |
| </ | </ | ||
| </ | </ | ||
documentation/performance.1255843081.txt.gz · Last modified: 2022/02/10 13:33 (external edit)