Performance & Scalability serimizin bir parçası
Tam kılavuzu okuyunOdoo için PostgreSQL Performans Optimizasyonu: Ayarlama, Dizin Oluşturma ve İzleme
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'i | paylaşılan_bufferlar | etkili_cache_size | çalışma_mem |
|---|---|---|---|
| 4 GB | 1 GB | 3 GB | 16 MB |
| 8GB | 2GB | 6 GB | 32MB |
| 16GB | 4 GB | 12 GB | 64MB |
| 32GB | 8GB | 24 GB | 128 MB |
| 64GB | 16GB | 48GB | 256 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:
- WHERE yan tümcesi sütunlarında eksik dizinler
- Odoo ORM tarafından oluşturulan büyük IN cümleleri
- Yazma sırasında yeniden hesaplamayı tetikleyen kayıtlı hesaplanmış alanlar
- 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.
Yazan
ECOSIRE TeamTechnical 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.
İlgili Makaleler
Yapay Zeka Destekli Müşteri Segmentasyonu: RFM'den Tahmine Dayalı Kümelemeye
Yapay zekanın müşteri segmentasyonunu statik RFM analizinden dinamik tahmine dayalı kümelemeye nasıl dönüştürdüğünü öğrenin. Python, Odoo ve gerçek yatırım getirisi verilerini içeren uygulama kılavuzu.
Tedarik Zinciri Optimizasyonu için Yapay Zeka: Görünürlük, Tahmin ve Otomasyon
Yapay zeka ile tedarik zinciri operasyonlarını dönüştürün: talep algılama, tedarikçi risk puanlaması, rota optimizasyonu, depo otomasyonu ve kesinti tahmini. 2026 kılavuzu.
B2B E-ticaret Stratejisi: 2026'da Toptan Satış Çevrimiçi İş Kurun
Toptan satış fiyatlandırması, hesap yönetimi, kredi koşulları, delme katalogları ve Odoo B2B portal yapılandırması stratejileriyle B2B e-ticarette uzmanlaşın.
Performance & Scalability serisinden daha fazlası
Web Kancası Hata Ayıklama ve İzleme: Eksiksiz Sorun Giderme Kılavuzu
Arıza modellerini, hata ayıklama araçlarını, yeniden deneme stratejilerini, izleme kontrol panellerini ve en iyi güvenlik uygulamalarını kapsayan bu eksiksiz kılavuzla webhook hata ayıklama konusunda uzmanlaşın.
k6 Yük Testi: Lansmandan Önce API'lerinize Stres Testi Yapın
Node.js API'leri için k6 yük testinde uzmanlaşın. Sanal kullanıcı artışlarını, eşikleri, senaryoları, HTTP/2, WebSocket testini, Grafana kontrol panellerini ve CI entegrasyon modellerini kapsar.
Nginx Üretim Yapılandırması: SSL, Önbelleğe Alma ve Güvenlik
Nginx üretim yapılandırma kılavuzu: SSL sonlandırma, HTTP/2, önbelleğe alma başlıkları, güvenlik başlıkları, hız sınırlama, ters proxy kurulumu ve Cloudflare entegrasyon modelleri.
Odoo Performans Ayarlama: PostgreSQL ve Sunucu Optimizasyonu
Odoo 19 performans ayarlaması için uzman kılavuzu. Kurumsal dağıtımlar için PostgreSQL yapılandırmasını, indekslemeyi, sorgu optimizasyonunu, Nginx önbelleğe almayı ve sunucu boyutlandırmayı kapsar.
Odoo ve Acumatica: Büyüyen İşletmeler için Bulut ERP
Odoo ve Acumatica'nın 2026 karşılaştırması: benzersiz fiyatlandırma modelleri, ölçeklenebilirlik, üretim derinliği ve hangi bulut ERP'nin büyüme yörüngenize uyduğu.
Üretimde Yapay Zeka Aracılarını Test Etme ve İzleme
Üretim ortamlarında yapay zeka aracılarını test etmeye ve izlemeye yönelik eksiksiz bir kılavuz. OpenClaw dağıtımları için değerlendirme çerçevelerini, gözlemlenebilirliği, sapma tespitini ve olay müdahalesini kapsar.