1. 3. Türkiye PostgreSQL Konferansı 1
M. Atıf CEYLAN
SitenizOlsun.com
DBA ve Geliştiriciler İçin Başarımı Artırıcı Öneriler
2. 3. Türkiye PostgreSQL Konferansı 2
Sunum İçeriği
● İhtiyacı belirlemek
● Sistem başarımını artırıcı öneriler
● Veritabanı başarımını artırıcı öneriler
● Uygulama başarımını artırıcı öneriler
3. 3. Türkiye PostgreSQL Konferansı 3
Sistem Başarımını Artırıcı Öneriler
● Mümkün olduğunca fazla bellek kullanmak,
● Disk seçeneklerini gözden geçirmek (ssd, raid)
Raid 10, Raid 1 ve Diğerleri
9. 3. Türkiye PostgreSQL Konferansı 9
Sistem Başarımını Artırıcı Öneriler
● Veri, index ve logları birden fazla disk üzerinde tutma
● Dosya Sistemi tercihi ve opsiyonları (xfs, noatime,barrier, stripe size,
block size)
● Unix Socket kullanımı
● Bağlantılarda SSL kullanımı
● shared_buffers, work_mem, maintenance_work_mem, temp_buffers,
effective_cache_size
SET work_mem = '16MB'; veya SET local work_mem = '16MB';
● log_min_duration_statement
● pg_stat_statements, pg_stat_plans, pgstattuple, pg_buffercache
● https://wiki.postgresql.org/wiki/Monitoring
● pganalyze, pgwatch
10. 3. Türkiye PostgreSQL Konferansı 10
Veritabanı Başarımını Artırıcı Öneriler
● Kurulum parametreleri ve kaynak koddan kurulum
● Partitioning
● Indexler
● Prepared Statements
● Tablespace
11. 3. Türkiye PostgreSQL Konferansı 11
Uygulama Başarımını Artırıcı Öneriler
● Gereksiz bağlantılar açmamak
● Sorgudan önce work_mem ayarlamak
● FullText Search kullanmak
● Select * ... ifadesini bilinçli kullanmak
● Explain çıktılara bakmak
● Toplu yapılacak işlemlerde birden fazla kez uygulama-veritabanı
arası git-gel yapmak yerine fonksiyonlar tanımlamak
● MemCache kullanımı