
Bare Metal Sunucu Boyutlandırma Rehberi
İş yükünüze uygun bare metal sunucu nasıl seçilir? CPU, RAM, disk ve ağ gereksinimlerini doğru boyutlandırma rehberi.
Ahmet Yılmaz
Kıdemli Altyapı Mühendisi
Günlük 500.000+ sayfa görüntüleme, anlık 10.000 eşzamanlı bağlantı veya yoğun veritabanı sorguları - bu ölçekte paylaşımlı hosting veya küçük VPS'ler yetersiz kalır. Bare metal sunucu boyutlandırma, iş yükünüze uygun CPU, RAM, disk ve bant genişliğini doğru hesaplayarak hem performans hem maliyet dengesini kurmanızı sağlar. Bu rehberde her bileşeni ayrı ayrı ele alıyor ve iş yüküne göre pratik boyutlandırma önerileri sunuyoruz.
Neden Bare Metal?
Sanallaştırma katmanı (hypervisor) olmadan doğrudan donanıma erişim, bare metal sunucuların temel avantajıdır. Yüksek trafikli uygulamalarda bu fark somut performans kazanımlarına dönüşür: CPU cycle'ları paylaşılmaz, bellek erişiminde ek gecikme yoktur ve disk I/O'da "noisy neighbor" sorunu yaşanmaz. Özellikle veritabanı ağırlıklı iş yüklerinde, e-ticaret platformlarında ve gerçek zamanlı uygulamalarda bare metal, öngörülebilir ve tutarlı performans sunar.
💡 İpucu: Bare metal her zaman doğru seçim değildir. Trafik desenleri öngörülemez ve ani ölçekleme gerekiyorsa bulut sunucu daha uygun olabilir. Bare metal, tutarlı ve yüksek yük altında çalışan uygulamalar için idealdir.
CPU Seçimi ve Core Hesaplama
CPU seçiminde iki temel karar vardır: core sayısı ve saat hızı. Web sunucuları (Nginx, Apache) ve uygulama sunucuları (Node.js, PHP-FPM) genellikle çok sayıda eşzamanlı bağlantıyı işler - bu durumda core sayısı önceliklidir. Veritabanı sorguları ve tek iş parçacıklı işlemler ise yüksek saat hızından faydalanır.
Pratik Hesaplama Yöntemi
Kabaca bir web uygulaması için: her 1.000 eşzamanlı bağlantı başına 1 CPU core ayırın. PHP-FPM worker sayısı genellikle core sayısının 2-4 katı olarak yapılandırılır. Node.js cluster modunda her core bir worker process çalıştırır. Veritabanı sunucusu ayrıysa, toplam core'un %40-50'sini veritabanına ayırmayı planlayın.
terminal - CPU bilgisi ve yük kontrolü
# CPU core sayısı ve model bilgisilscpu | grep -E "Model name|Socket|Core|Thread"
# Anlık CPU kullanımı (core bazında)mpstat -P ALL 1 5
# PHP-FPM worker sayısını core'a göre ayarla# /etc/php/8.3/fpm/pool.d/www.conf# pm.max_children = CPU_CORE * 4 (örn: 16 core → 64 worker)RAM Planlama
RAM yetersizliği, sunucunun diske swap yapmasına ve performansın dramatik şekilde düşmesine neden olur. Yüksek trafikli uygulamalarda RAM planlaması şu bileşenleri kapsamalıdır:
İşletim Sistemi + Servisler Linux OS, systemd servisleri, monitoring agent'ları: ~1-2 GB.
Web Sunucusu (Nginx/Apache) Nginx düşük bellek tüketir (~2-10 MB/worker). Apache prefork modunda her child process ~20-50 MB kullanır.
Uygulama Katmanı (PHP-FPM / Node.js) PHP-FPM worker başına ~30-80 MB (uygulamaya göre değişir). 64 worker × 50 MB = ~3.2 GB. Node.js process başına ~100-300 MB.
Veritabanı (MySQL/PostgreSQL) MySQL InnoDB buffer pool: toplam RAM'in %60-70'i (ayrı DB sunucusunda). PostgreSQL shared_buffers: RAM'in %25'i + effective_cache_size: %50-75'i.
Cache Katmanı (Redis/Memcached) Session ve object cache için: genellikle 2-8 GB. Büyük e-ticaret sitelerinde 16 GB+ olabilir.
⚠️ Önemli: Toplam hesapladığınız RAM'e %20-30 headroom ekleyin. Trafik spike'larında ve OS file cache için bu boşluk kritiktir. SWAP yapılandırması yedek olarak ayarlanmalı ama asıl çözüm yeterli fiziksel RAM'dir.
Disk ve I/O Stratejisi
Yüksek trafikli uygulamalarda disk I/O genellikle en büyük darboğazdır. Veritabanı sorguları, log yazımı ve dosya servisi sürekli disk erişimi gerektirir. Disk seçiminde üç temel metrik önemlidir: IOPS (saniyedeki giriş/çıkış işlemi), throughput (MB/s) ve latency (gecikme).
Disk Türü | IOPS (4K random) | Throughput | Kullanım Alanı |
|---|---|---|---|
HDD (7200 RPM) | ~100-200 | ~150-200 MB/s | Arşiv, yedekleme, log depolama |
SATA SSD | ~50.000-90.000 | ~500-550 MB/s | Genel web hosting, orta trafik |
NVMe SSD | ~500.000-1.000.000+ | ~3.000-7.000 MB/s | Veritabanı, yüksek trafik, e-ticaret |
Veritabanı sunucuları için NVMe SSD zorunludur. RAID 10 yapılandırması ile hem performans hem yedeklilik sağlayın. Log dosyaları ve statik varlıklar için ayrı bir disk/partition kullanmak, veritabanı I/O'sunu izole eder.
Bant Genişliği ve Ağ
Bant genişliği hesaplaması: ortalama sayfa boyutu × saniyedeki istek sayısı. Örneğin, 2 MB ortalama sayfa boyutu ve saniyede 500 istek = 1.000 MB/s = ~8 Gbps. Bu hesaba CDN kullanımı dahil değildir - statik varlıkları CDN'e taşımak bant genişliği ihtiyacını %60-80 azaltabilir.
terminal - ağ performansı ölçümü
# Anlık bant genişliği kullanımıvnstat -l -i eth0
# Aylık trafik özetivnstat -m
# Ağ arayüzü hızını kontrol et (1G / 10G)ethtool eth0 | grep SpeedGünlük 1 milyon+ sayfa görüntüleme yapan siteler için 1 Gbps bağlantı genellikle yeterlidir (CDN ile birlikte). Video streaming veya büyük dosya dağıtımı yapıyorsanız 10 Gbps bağlantı gerekebilir. Ağ performansı optimizasyonu ile mevcut bant genişliğinizi daha verimli kullanabilirsiniz.
İş Yüküne Göre Boyutlandırma Tablosu
Aşağıdaki tablo, yaygın iş yükleri için başlangıç noktası niteliğindedir. Gerçek ihtiyaçlar uygulamanızın mimarisine, veritabanı boyutuna ve trafik desenine göre değişir - production öncesi mutlaka yük testi yapın.
Senaryo | CPU | RAM | Disk | Bant Genişliği |
|---|---|---|---|---|
WordPress / Blog | 8 core | 16 GB | 256 GB NVMe | 1 Gbps |
E-Ticaret (WooCommerce/Magento) | 16-24 core | 64 GB | 2× 512 GB NVMe (RAID 1) | 1 Gbps |
SaaS / API Backend | 24-32 core | 64-128 GB | 4× 1 TB NVMe (RAID 10) | 1-10 Gbps |
Veritabanı Sunucusu (MySQL/PG) | 16-32 core (yüksek GHz) | 128-256 GB | 4× 2 TB NVMe (RAID 10) | 1 Gbps (internal) |
Video Streaming / CDN Origin | 16 core | 32-64 GB | Yüksek kapasite HDD + NVMe cache | 10 Gbps |
💡 İpucu: Boyutlandırma tahmini yaptıktan sonra Locust veya k6 gibi yük testi araçlarıyla gerçek senaryoları simüle edin. Tahmin ile gerçek arasında %30-50 fark olması normaldir.
Sıkça Sorulan Sorular
Bare metal sunucu mu yoksa birden fazla VPS mi tercih etmeliyim?
Tutarlı yüksek yük altında çalışan tek bir uygulama için bare metal daha verimlidir. Birden fazla bağımsız servis çalıştırıyorsanız veya yatay ölçekleme gerekiyorsa, birden fazla VPS veya bare metal üzerinde sanallaştırma (Proxmox) daha esnek olabilir.
Sunucu boyutlandırmasını nasıl test edebilirim?
Production öncesi yük testi araçları (k6, Locust, Apache Bench) ile beklenen trafik miktarını simüle edin. CPU, RAM ve disk I/O metriklerini izleyerek darboğazları tespit edin. Gerçek trafik verisi yoksa, benzer ölçekteki sitelerin kaynak kullanımını referans alın.
Veritabanı ve web sunucusu aynı makinede mi olmalı?
Küçük-orta ölçekte aynı sunucuda çalıştırılabilir. Ancak günlük 500K+ sayfa görüntüleme veya 50 GB+ veritabanı boyutunda, web ve veritabanı sunucularını ayırmak hem performans hem ölçeklenebilirlik açısından doğru karardır.
Sunucu yetersiz kalırsa ne yapmalıyım?
Önce darboğazı tespit edin (CPU, RAM, disk I/O, ağ). Uygulama seviyesinde optimizasyon (cache, query tuning, CDN) genellikle donanım yükseltmesinden önce gelir. Donanım yükseltmesi gerekiyorsa Hosted Cloud dedicated sunucu planlarını inceleyebilirsiniz.
Sonuç
Bare metal sunucu boyutlandırması, iş yükünüzü doğru analiz etmekle başlar. CPU core sayısını eşzamanlı bağlantılara, RAM'i uygulama + veritabanı + cache toplamına, disk türünü I/O gereksinimlerine ve bant genişliğini trafik hacmine göre planlayın. Tahminlerinizi yük testi ile doğrulayın ve %20-30 headroom bırakın. Doğru boyutlandırılmış bir bare metal sunucu, aynı maliyetteki bulut kaynaklarından tutarlı olarak daha yüksek performans sunar.
Yüksek Performanslı Bare Metal Sunucu
Hosted Cloud dedicated sunucularında NVMe SSD, 1-10 Gbps bağlantı ve esnek donanım konfigürasyonu ile iş yükünüze özel çözüm oluşturun.
Ahmet Yılmaz
Kıdemli Altyapı Mühendisi
10 yılı aşkın bulut altyapısı ve DevOps deneyimiyle Hosted Cloud'un teknik ekibinde yer almaktadır. Kubernetes, Terraform ve yüksek erişilebilirlik mimarileri üzerine uzmanlaşmıştır.
Yorumlar yakında