Karar: Sunucu boyutlandırma (sizing)
Doğru boyutlandırma; iş yükü profilinden (OLTP, veri ambarı, karma) başlar ve gerçek darboğazı (CPU mu, I/O mu, RAM mi) bulmayı gerektirir. Altın kural: sık erişilen veri kümesi (working set) RAM'e sığmalı, önce ölç sonra büyüt ve ani yükler için pay (headroom) bırak. Bu ağaç; iş yükünü belirleyip darboğaza göre kaynağı ve ölçekleme yönünü (dikey/yatay) seçmeye yardım eder.
İş yükü profilin nedir?
Boyutlandırma iş yüküyle başlar çünkü OLTP ile analitik yükler tamamen farklı kaynak profili ister. Sistemin ağırlıklı işi ne: çok sayıda küçük, hızlı işlem (OLTP) mi, büyük tarama/agregasyon içeren raporlama/analitik (DWH) mi, yoksa ikisinin karışımı mı? Emin değilsen önce ölçmen gerekir.
- OLTP — çok sayıda küçük, kısa işlem (web/uygulama)
- Analitik / veri ambarı (DWH) — büyük tarama ve agregasyon
- Karma yük veya emin değilim
- Darboğazı biliyorum; dikey mi yatay mı büyütmeliyim?
Darboğaz nerede: RAM mi, I/O mu, CPU mu?
OLTP'de kaynağı körlemesine artırmak yerine gerçek darboğazı bul. Metriklerine bak: sık erişilen veri RAM'e sığmıyor ve disk okuması mı yüksek (RAM/I/O), diskin gecikmesi/IOPS'i mi yetmiyor (I/O), yoksa veri zaten bellekte ama işlemci mi doluyor (CPU)? Yanlış kaynağı büyütmek para ve zaman israfıdır.
- Sık erişilen veri RAM'e sığmıyor, disk okuması yüksek
- Veri bellekte ama disk gecikmesi/IOPS yetersiz (yazma ağır)
- Veri bellekte, disk rahat ama CPU sürekli dolu
Öneri: Önce ölç, sonra boyutlandır
Tahminle donanım almak neredeyse her zaman yanlış boyutlandırma üretir. İş yükü profili ve darboğaz, gerçek metriklerle ortaya çıkar. Boyutlandırma bir tahmin değil, ölçüm-temelli bir iterasyondur.
Öneri: RAM'i büyüt — working set belleğe sığmalı
En kritik OLTP kuralı: sık erişilen veri ve index'ler (working set) belleğe (buffer/cache) sığmalıdır. Sığmazsa her sorgu diske iner, gecikme patlar ve I/O darboğaza dönüşür. Genellikle en yüksek getirili yatırım RAM'dir.
Öneri: I/O katmanını güçlendir (IOPS/latency)
Veri bellekte olsa bile yazma-ağırlıklı yükte (commit, WAL/redo/binlog, checkpoint) disk hızı belirleyicidir. Burada mesele kapasite değil, IOPS ve gecikmedir. Yanlış disk sınıfı, hızlı CPU/RAM'e rağmen sistemi dize getirir.
Öneri: CPU darboğazını çöz (önce sorgu, sonra çekirdek)
Veri bellekte ve disk rahatken CPU doluysa, çoğu zaman kök neden verimsiz sorgular (kötü plan, eksik index, çok sayıda küçük sorgu) veya aşırı eşzamanlılıktır. Çekirdek eklemeden önce yükü azaltmak genelde daha ucuz ve etkilidir.
Öneri: Analitik/DWH — throughput, paralellik ve yatay ölçek
Veri ambarı yükü, büyük tabloları tarayıp agrega eden az sayıda ağır sorgudan oluşur. Burada öncelik düşük gecikme değil, yüksek tarama verimi (throughput), paralellik ve genellikle yatay ölçeklenebilir mimaridir.
Genel ilke: Dikey mi yatay mı + headroom + önce ölç
Hangi kaynağı büyüteceğin kadar, nasıl ölçekleyeceğin de önemli. Dikey (daha büyük makine) basittir ama bir tavana ve tek nokta riskine sahiptir; yatay (daha çok makine) ölçeklenir ama karmaşıklık ekler. Her durumda ani yükler için pay bırak ve kararı ölçümle doğrula.