Linux tuning to improve PostgreSQL performance: from hardware to postgresql.conf
Linux operating system has lots of tuning options which can change performance of your PostgreSQL installation drastically. People often say that an Oracle DBA is 90% a DBA and 10% a UNIX engineer, for a Postgres DBA this correspondence can optimistically be 50:50 or even lower on the DBA part. For PostgreSQL, obviously, most important are storage-related options like vm.dirty*, IO elevators or filesystem mount options, but there are many more of them: CPU scheduler options, NUMA settings, or even power saving policy. The goal of this tutorial is to provide some guidelines on how to choose proper hardware for a database server and explain to DBAs and engineers how to use available settings to match hardware configuration and PostgreSQL workload.
CEO and consultant, Data Egret
llya is a co-founder and Consultant at Data Egret. His previous experience encompasses such commercial databases as Oracle and DB2. Currently, Ilya works primarily with PostgreSQL with a focus on its performance and effective use in production. He sees the mission of PostgreSQL in substituting the commercial databases in high-performance mission-critical applications.