Performans optimizasyonu serimizin son bölümüne hoş geldiniz. İlk bölümde donanım ve işletim sistemi ayarlarını, ikinci bölümde Mailbox sunucu yapılandırmasını ele almıştık. Bu son yazıda LDAP dizin servisi, MTA (posta aktarım aracısı) ve yük dengeleyici optimizasyonlarını inceliyoruz.
Zimbra OpenLDAP Optimizasyonu
LDAP, Zimbra’nın kullanıcı hesapları, dağıtım listeleri, sunucu yapılandırmaları ve COS (Class of Service) bilgilerini sakladığı dizin servisidir. Büyük kurulumlar için LDAP performansı kritik öneme sahiptir.
Multi-Master Replikasyon
ZCS 8.0 ve sonrasında Multi-Master Replikasyon (MMR) desteği mevcuttur. Bu yapı sayesinde:
- Birden fazla LDAP sunucusu yazma işlemi kabul eder
- LDAP sunucusu arızalanırsa diğeri devralır
- Coğrafi olarak dağıtık yapılarda gecikme azalır
LDAP Replika Sunucuları
Ana LDAP sunucusuna yükü azaltmak için replika sunucular kurun. Özellikle MTA sunucularının LDAP sorgularını replika sunuculardan yapması önerilir. Bu, ana LDAP sunucusunun Mailbox sunucu isteklerine odaklanmasını sağlar.
# LDAP replikasyon durumunu kontrol edin
/opt/zimbra/libexec/zmreplchk
LDAP Önbellek Ayarları
Çok sayıda alan adı barındıran ortamlar için LDAP önbellek boyutlarını artırın:
# 20.000-30.000 domain barındıran ortamlar için
zmlocalconfig -e ldap_cache_domain_maxsize=30000
zmlocalconfig -e ldap_cache_external_domain_maxsize=10000
# Grup önbelleği
zmlocalconfig -e ldap_cache_group_maxsize=2000
MTA (Postfix) Optimizasyonu
Zimbra’nın MTA bileşeni Postfix’tir ve e-posta tesliminin merkezi noktasıdır. Yüksek hacimli e-posta trafiği için aşağıdaki optimizasyonlar önerilir.
LDAP Bağlantılarını Replikalara Yönlendirin
Postfix’in LDAP sorgularını ana sunucu yerine replika sunuculardan yapmasını sağlayın. Bu, ana LDAP sunucusu üzerindeki yükü önemli ölçüde azaltır:
# Postfix LDAP yapılandırmasını kontrol edin
postconf -n | grep ldap
SpamAssassin Optimizasyonu
SpamAssassin’in Bayes otomatik öğrenme özelliğini devre dışı bırakın. Bu özellik büyük kurulumlar için ciddi performans yükü oluşturur:
# /opt/zimbra/conf/salocal.cf.in dosyasında
bayes_auto_learn 0
Ayrıca AWL (Auto-Whitelist) eklentisini de devre dışı bırakın:
# /opt/zimbra/conf/spamassassin/v310.pre dosyasında
# loadplugin Mail::SpamAssassin::Plugin::AWL (bu satırı yorum yapın)
Dosya Kilitleme Yöntemi
SpamAssassin için dosya kilitleme yöntemini flock olarak ayarlayın:
# /opt/zimbra/conf/spamassassin/local.cf.in dosyasında
lock_method flock
DNSBL ve IP Beyaz Listesi
Spam filtreleme performansını artırmak için DNS tabanlı kara listeler (DNSBL) kullanın. Güvenilir gönderenler için IP beyaz listesi oluşturarak gereksiz spam kontrolü atlayın:
# Postfix restriction sınıflarında DNSBL ekleyin
zmprov ms $(zmhostname) zimbraMtaRestriction \
"reject_rbl_client zen.spamhaus.org"
E-posta güvenliği yapılandırması hakkında daha detaylı bilgi için SPF, DKIM ve DMARC rehberimize göz atabilirsiniz.
Yük Dengeleyici (Load Balancer) Yapılandırması
Çok sunuculu Zimbra kurulumlarında yük dengeleyici doğru yapılandırılmalıdır. İşte en iyi uygulamalar:
Temel İlkeler
- Tüm trafiği Nginx proxy’lerine dağıtın: IMAP, POP3 ve HTTP trafiğini tüm proxy sunuculara eşit şekilde yönlendirin.
- Oturum yapışkanlığı (session stickiness) kullanın: 5-15 dakikalık süreyle oturum kalıcılığı sağlayın. Bu, kullanıcıların oturum boyunca aynı sunucuya yönlendirilmesini garantiler.
- Katman 4 (TCP) yük dengeleme kullanın: Katman 7 (HTTP) yük dengeleme önemli performans yükü oluşturur. TCP seviyesinde dengeleme çok daha verimlidir.
- Kaynak IP’yi koruyun: NAT kullanarak kaynak IP adreslerini değiştirmeyin. Gerçek istemci IP adreslerinin Zimbra sunucularına ulaşması, güvenlik logları ve hız sınırlama için gereklidir.
Örnek HAProxy Yapılandırması
# HAProxy TCP modu örneği
frontend zimbra_https
bind *:443
mode tcp
default_backend zimbra_mailbox
backend zimbra_mailbox
mode tcp
balance roundrobin
stick-table type ip size 200k expire 10m
stick on src
server mail1 10.0.0.1:443 check
server mail2 10.0.0.2:443 check
Nginx Proxy Optimizasyonu
Zimbra’nın yerleşik Nginx proxy’si için bağlantı havuzu ayarları:
# Proxy worker ve bağlantı sayısı
zmprov ms $(zmhostname) zimbraReverseProxyWorkerProcesses auto
zmprov ms $(zmhostname) zimbraReverseProxyWorkerConnections 10240
Performans İzleme ve Analiz
Optimizasyonlardan sonra sürekli izleme yapmanız gerekir. Brendan Gregg’in USE (Utilization, Saturation, Errors) metodolojisi sistem performansı analizi için mükemmel bir çerçevedir:
- Utilization (Kullanım): CPU, bellek, disk ve ağ kullanım oranları
- Saturation (Doygunluk): Kuyruk uzunlukları, bekleme süreleri
- Errors (Hatalar): Hata oranları, zaman aşımları
# Hızlı kontrol komutları
vmstat 1 10 # CPU ve bellek kullanımı
iostat -x 1 10 # Disk I/O performansı
ss -s # TCP bağlantı istatistikleri
zmcontrol status # Zimbra servis durumu
Seri Özeti
Bu üç bölümlük seride Zimbra performans optimizasyonunun tüm katmanlarını ele aldık:
- Bölüm 1: Donanım seçimi, disk yapılandırması, işletim sistemi ve ağ ayarları
- Bölüm 2: Java bellek ayarları, MariaDB yapılandırması, Lucene indeksleme
- Bölüm 3 (bu yazı): LDAP replikasyon, Postfix MTA ve yük dengeleme
Her kurulumun gereksinimleri farklıdır. Bu rehberdeki değerleri kendi ortamınıza göre test ederek uyarlayın ve değişiklik öncesi mutlaka yedek alın.
Destek ve İletişim
Zimbra performans optimizasyonu veya kurulum konularında profesyonel destek almak için [email protected] adresinden bize ulaşabilir veya iletişim sayfamız üzerinden iletişime geçebilirsiniz.

