Ana içeriğe atla

Odoo için PostgreSQL Performans Optimizasyonu: Ayarlama, Dizin Oluşturma ve İzleme

Odoo performansı için PostgreSQL'i optimize edin. Yapılandırma ayarlamayı, indeksleme stratejilerini, sorgu analizini, vakum yönetimini, bağlantı havuzu oluşturmayı ve en iyi uygulamaları izlemeyi öğrenin.

E
ECOSIRE Research and Development Team
|5 Mart 20265 dk okuma898 Kelime|

Doğru şekilde ayarlanmış bir PostgreSQL örneği, Odoo yanıt sürelerini varsayılan ayarlara kıyasla 2-5 kat artırabilir. Odoo performans sorunlarının çoğu, veritabanı yapılandırmasına dayanır - varsayılan PostgreSQL ayarları, çok kullanıcılı bir ERP sistemine güç sağlamak için değil, minimum kaynak kullanımı için…

Performance & Scalability serimizin bir parçası

Tam kılavuzu okuyun

Doğru şekilde ayarlanmış bir PostgreSQL örneği, Odoo yanıt sürelerini varsayılan ayarlara kıyasla 2-5 kat artırabilir. Odoo performans sorunlarının çoğu, veritabanı yapılandırmasına dayanır - varsayılan PostgreSQL ayarları, çok kullanıcılı bir ERP sistemine güç sağlamak için değil, minimum kaynak kullanımı için tasarlanmıştır.

Önemli Çıkarımlar

  • Varsayılan PostgreSQL ayarları yalnızca 128 MB paylaşılan arabellek kullanır - üretim Odoo'nun %25 RAM'e ihtiyacı vardır
  • Sıkça sorgulanan sütunlardaki eksik dizinler, tam tablo taramalarına ve sayfa yüklemelerinin yavaşlamasına neden olur
  • PgBouncer ile bağlantı havuzu oluşturma, veritabanı bağlantı yükünü %80 oranında azaltır
  • Düzenli VACUUM ve ANALYZE, tablonun şişmesini önler ve sorgu planlarının optimum düzeyde kalmasını sağlar

PostgreSQL Yapılandırma Ayarı

Bellek Ayarları

postgresql.conf öğesini donanımınıza uygun ayarlarla düzenleyin. 16 GB RAM'e sahip bir sunucu için, paylaşılan_buffers'ı 4 GB'ye (toplam RAM'in %25'i), active_cache_size'yi 12 GB'ye (toplam RAM'in %75'i), work_mem'i işlem başına 64 MB'a, bakım_work_mem'i 1 GB'ye ve wal_buffers'ı 64 MB'a ayarlayın.

Sorgu planlaması için, SSD depolama için random_page_cost'u 1,1'e (varsayılan 4.0, HDD'yi varsayar), efektif_io_concurrency'yi SSD'ler için 200'e ve daha doğru sorgu planları için default_statistics_target'ı 200'e ayarlayın.

Boyut yönergeleri:

Sunucu RAM'ipaylaşılan_bufferlaretkili_cache_sizeçalışma_mem
4 GB1 GB3 GB16 MB
8GB2GB6 GB32MB
16GB4 GB12 GB64MB
32GB8GB24 GB128 MB
64GB16GB48GB256 MB

Bağlantı Ayarları

max_connections'ı en az Odoo çalışanları x 2 artı arabelleğe ayarlayın. 4 işçi ve 2 cron iş parçacığıyla en az 12 bağlantıya ihtiyacınız var. Yönetici araçları, izleme ve arka plan görevleri için bağlantılar ekleyin. 200 değeri konforlu bir tavan boşluğu sağlar.


Odoo için İndeksleme Stratejileri

Eksik Dizinleri Belirleme

log_min_duration_statement'ı 500 ms'ye ayarlayarak yavaş sorgu günlüğünü etkinleştirin. Daha sonra tam tablo taramalarını belirlemek için yavaş sorgu günlüğünü analiz edin.

Ortak Odoo Dizinleri

Odoo, birincil anahtarlar ve yabancı anahtarlar üzerinde otomatik olarak dizinler oluşturur. sale_order(state), account_move(state),stock_move(state), account_move(date) ve sale_order(date_order) gibi sık sık filtrelenen sütunlara dizinler ekleyin.

Çok sütunlu dizinler, yaygın filtre kombinasyonlarını iyileştirir: account_move_line(account_id, date) vestock_quant(product_id,location_id).

Durum sütunları olan tablolar için, etkin kayıtlardaki kısmi dizinler daha etkilidir; yalnızca durumun iptal edilmediği veya yapılmadığı satırları dizinler.


EXPLAIN ANALYZE ile Sorgu Analizi

Yürütme planlarını anlamak için yavaş sorgularda EXPLAIN (ANALYZE, BUFFERS) komutunu çalıştırın. Şunu arayın:

  • Sıralı Tarama: Eksik bir dizini gösteren tam tablo taraması
  • İç İçe Döngü: Büyük sonuç kümeleri pahalı olabilir
  • Sıralama: Work_mem'in diske yayılmasını aşan bellek içi sıralamalar
  • Paylaşılan okuma arabellekleri: Yüksek değerler, verilerin önbelleğe alınmadığı anlamına gelir

Genel performans katilleri:

  1. WHERE yan tümcesi sütunlarında eksik dizinler
  2. Odoo ORM tarafından oluşturulan büyük IN cümleleri
  3. Yazma sırasında yeniden hesaplamayı tetikleyen kayıtlı hesaplanmış alanlar
  4. 5'ten fazla tabloyu birleştiren karmaşık rapor sorguları

VAKUM ve Bakım

PostgreSQL MVCC, satırlar güncellendiğinde veya silindiğinde ölü kayıtlar oluşturur. VACUUM bu alanı geri alır ve istatistikleri günceller.

Odoo iş yükleri için otomatik vakumlamayı yapılandırın: maksimum 3 çalışan, 60 saniyelik uyku süresi, 0,05 vakum ölçek faktörü ve 0,02 ölçek faktörünü analiz ederek otomatik vakumu etkinleştirin. Yüksek yazma tabloları için (account_move_line,stock_move, mail_message), tablo başına daha agresif ayarlar belirleyin.

Toplam ilişki boyutlarını ve ölü grup sayılarını kontrol ederek tablo şişkinliğini izleyin. VACUUM FULL'u yalnızca aşırı şişkinlik (%50'den fazla ölü alan) için ve masayı kilitlediğinden yalnızca bakım pencereleri sırasında kullanın.


PgBouncer ile Bağlantı Havuzu Oluşturma

PgBouncer, Odoo ve PostgreSQL arasında yer alır ve ek yükü azaltmak için bağlantıları bir araya toplar. Odoo için işlemler arasındaki bağlantıları serbest bırakan işlem havuzu modunu kullanın. default_pool_size'ı 40'a ve max_client_conn'u 200'e ayarlayın. Odoo'yu doğrudan PostgreSQL yerine PgBouncer bağlantı noktasına yönlendirin.


İzleme

Temel Metrikler

  • Aktif bağlantılar: max_connections'ın oldukça altında kalmalı
  • Önbellek isabet oranı: %99'un üzerinde olmalı
  • İşlem oranı: Başlangıç düzeyi ve anormallikleri izleyin
  • Sorgu sayısı yavaş: Eşiğinizi aşan sorgular
  • Çoğaltma gecikmesi: Okuma kopyaları kullanılıyorsa
  • Disk kullanımı: Veritabanı boyutu büyüme oranı
  • Tablo şişkinliği: Tablo başına ölü demet oranı

Zaman içindeki sorgu performansını izlemek için pg_stat_statements uzantısını kullanın. Her farklı sorgu modeli için yürütme sayısını, toplam süreyi, ortalama süreyi ve döndürülen satırları kaydeder.


Sıkça Sorulan Sorular

S: PostgreSQL'in darboğaz olup olmadığını nasıl anlarım?

Yavaş sorgu günlüğünü etkinleştirin ve Odoo performans günlüklerini kontrol edin. Yavaş isteklerin çoğu yavaş sorgulara karşılık geliyorsa ayarlama yardımcı olacaktır. Sorgular hızlı ancak Odoo yavaşsa, darboğaz uygulama kodunda veya ağdadır.

S: Odoo için PostgreSQL kopyalarını kullanmalı mıyım?

Okuma replikaları raporlama sorgularını birincil veritabanından boşaltır. Odoo yerel olarak okuma/yazma bölmeyi desteklemediğinden özel yapılandırma, salt okunur sorguları kopyalara yönlendirir. Bu esas olarak çok büyük dağıtımlar için kullanışlıdır.

S: Odoo ile hangi PostgreSQL sürümünü kullanmalıyım?

Odoo sürümünüz tarafından desteklenen en son kararlı sürümü kullanın. Daha yeni sürümler, sorgu iyileştirici iyileştirmelerini ve daha iyi vakum performansını içerir. Güncel Odoo sürümleri için PostgreSQL 16 veya 17 önerilir.

S: Doğru ayarlamanın aslında ne kadar faydası var?

In our experience, moving from default settings to tuned configuration typically improves average page load times by 40-60% and reduces slow query frequency by 80-90%. İyileşme dramatik ve hızlıdır.


Sırada Ne Var

PostgreSQL ayarlama, Odoo performansı için en yüksek etkili optimizasyondur. Bellek ayarları ve indekslemeyle başlayın; bu iki değişiklik tek başına yanıt sürelerini genellikle yarı yarıya azaltır.

Veritabanı optimizasyonu yardımı için ECOSIRE ile iletişime geçin veya sürekli performans yönetimi için Odoo destek hizmetlerimizi inceleyin.


ECOSIRE tarafından yayınlandı - işletmelerin kurumsal yazılım çözümleriyle ölçeklenmesine yardımcı oluyor.

E

Yazan

ECOSIRE Team

Technical Writing

The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.

ECOSIRE

Odoo ERP ile İşinizi Dönüştürün

Operasyonlarınızı kolaylaştırmak için uzman Odoo uygulaması, özelleştirme ve destek.

Performance & Scalability serisinden daha fazlası

Shopify Hız Optimizasyonu: Temel Web Verilerini Gerçekten Yönlendiren Teknik Bir Kontrol Listesi (2026)

2026 için sahada test edilmiş Shopify hız kontrol listesi - gerçek mağazalarda LCP, INP ve CLS'yi gerçekte neyin iyileştirdiği, neyin zaman kaybettirdiği ve uygulamaların ve temaların nasıl denetleneceği.

Teknik SEO Denetim Kontrol Listesi 2026: Her Müşteri Sitesinde Çalıştırdığımız 47 Kontrol

2026'da her müşteri sitesinde yürüttüğümüz 47 maddelik teknik SEO denetim kontrol listesi: taranabilirlik, dizine ekleme, kanonik bilgiler, hreflang, Önemli Web Verileri ve günlükler.

Odoo 19 HR: Beceri Matrisi, Kariyer Planları, Performans Döngüleri

Odoo 19 İK yükseltmesi: yerel beceriler matrisi, kariyer yolu planlaması, performans inceleme döngüleri, 9 kutulu tablo, yedekleme planlaması, HRIS entegrasyonu.

Odoo 19 Performans Karşılaştırmaları: PostgreSQL 17 Ayar Numaraları

Odoo 19 performans kıyaslamaları: web istemci hızı, ORM verimi, PG17 ayarlama ayarları, bağlantı havuzu oluşturma, çalışan sayıları, ölçeklendirme eşikleri.

OpenClaw Maliyet Optimizasyonu ve Büyük Ölçekte Token Verimliliği

OpenClaw belirteci maliyet optimizasyonu: hızlı önbelleğe alma, model yönlendirme, yanıt önbelleğe alma, toplu API'ler ve üretim aracıları için kiracı başına maliyet korkulukları.

10 Milyon Satırdan Fazla Tablolar için Power BI Artımlı Yenileme

10 milyondan fazla satır tablosu için Power BI Artımlı Yenileme oyun kitabı: bölüm tasarımı, RangeStart/RangeEnd, yenileme ilkeleri, sorgu katlama ve DirectQuery hibritleri.