- Katılım
- 14 Mar 2025
- Mesajlar
- 11
- Tepkime puanı
- 3
- Puanları
- 3
Linux Performans Optimizasyonu
Linux sistemlerde performans optimizasyonu, sunucunun veya bilgisayarın kaynaklarını daha verimli kullanmasını sağlamak için yapılan düzenlemelerin tamamıdır.Amaç yalnızca sistemi hızlandırmak değildir.
Aynı zamanda:
- CPU kullanımını dengede tutmak
- RAM tüketimini azaltmak
- Disk performansını iyileştirmek
- Gereksiz servisleri kapatmak
- Ağ performansını düzenlemek
- Uygulamaların daha kararlı çalışmasını sağlamak
Linux Performans Optimizasyonu Nedir?
Linux performans optimizasyonu, işletim sistemi üzerindeki kaynak kullanımını inceleyip darboğaz oluşturan noktaları düzeltme işlemidir.Bir sistemin yavaş olması her zaman:
CPU yetersiz
anlamına gelmez.
Sorun bazen:
- RAM
- Disk
- Ağ
- Veritabanı
- Web sunucusu
- Yanlış servis yapılandırması
Bu nedenle optimizasyona başlamadan önce gerçek darboğazın bulunması gerekir.
İlk Kural: Sorunu Ölçmeden Ayar Değiştirmeyin
Linux optimizasyonunda yapılan en büyük hatalardan biri internette bulunan rastgele ayarları uygulamaktır.Örneğin:
- Kernel ayarı
- Swap ayarı
- Disk scheduler
- Network tuning
Önce mevcut sistem ölçülmelidir.
Hangi Kaynaklar Kontrol Edilmeli?
Temel olarak şu alanlar incelenmelidir:- CPU
- RAM
- Swap
- Disk
- Disk I/O
- Ağ
- Process'ler
- Load Average
- Servisler
CPU Kullanımı
CPU, sistemde çalışan işlemlerin hesaplama yükünü taşır.Yüksek CPU kullanımı:
- Web sitesi
- Veritabanı
- PHP
- Oyun sunucusu
- Sıkıştırma
- Yedekleme
- Zararlı işlem
Yüksek CPU Her Zaman Sorun mu?
Hayır.Örneğin işlemci kısa süreli yüzde 100 kullanılıyorsa bu normal olabilir.
Sorun:
- Uzun süre yüzde 100
- Sistem cevap vermiyor
- Load Average sürekli yüksek
Load Average Nedir?
Linux'ta Load Average sistemin işlem yükünü gösteren önemli bir metriktir.Genellikle:
- 1 dakika
- 5 dakika
- 15 dakika
Ancak load değeri tek başına yorumlanmamalıdır.
CPU çekirdek sayısı önemlidir.
Load Average Nasıl Yorumlanır?
Örneğin 4 çekirdekli bir sistemde:Load 4
yaklaşık olarak tüm çekirdeklerin yoğun çalıştığını gösterebilir.
Load 20
ise ciddi işlem kuyruğu veya I/O problemi olabileceğini düşündürebilir.
Ancak disk bekleyen işlemler de load değerini yükseltebilir.
CPU Darboğazı Nasıl Anlaşılır?
Şunlar görülebilir:- CPU sürekli yüksek
- Load yüksek
- Uygulamalar geç yanıt veriyor
- Tek process çok fazla CPU kullanıyor
Tek Çekirdek Problemi
Bazı uygulamalar çok çekirdekli işlemciden tam yararlanamaz.Örneğin sistemde:
16 çekirdek
olabilir ancak uygulama yalnızca bir çekirdeği kullanabilir.
Bu durumda toplam CPU yüzde 10 görünürken tek çekirdek yüzde 100 olabilir.
Performans analizi yaparken bu ayrıntı önemlidir.
CPU Frekansı Önemli mi?
Evet.Özellikle:
- Oyun sunucuları
- Tek thread uygulamalar
- Bazı veritabanı işlemleri
Daha fazla çekirdek her zaman daha yüksek uygulama performansı anlamına gelmez.
RAM Kullanımı
Linux RAM'i mümkün olduğunca verimli kullanmaya çalışır.Bu nedenle:
RAM dolu görünüyor
diye hemen sorun olduğu düşünülmemelidir.
Linux boş RAM'i:
- Cache
- Buffer
Linux Neden RAM'i Dolu Gösterir?
Sistem kullanılmayan RAM'i disk cache için kullanabilir.Bu aslında performans açısından faydalıdır.
Uygulamalar RAM'e ihtiyaç duyduğunda cache alanı serbest bırakılabilir.
Bu nedenle sadece:
Used RAM
değerine bakmak yanıltıcı olabilir.
Available Memory Daha Önemli mi?
Evet.Sistemin gerçek kullanılabilir belleğini anlamak için:
Available
değeri daha anlamlıdır.
RAM Yetersizse Ne Olur?
Şunlar görülebilir:- Swap kullanımı artar
- Sistem yavaşlar
- Uygulamalar kapanabilir
- OOM Killer devreye girebilir
OOM Killer Nedir?
OOM:Out Of Memory
anlamına gelir.
RAM ciddi şekilde tükendiğinde Linux bazı işlemleri sonlandırarak sistemi ayakta tutmaya çalışabilir.
Bu durum özellikle:
- MySQL
- Java
- PHP
- Oyun sunucusu
Swap Nedir?
Swap, RAM yetersiz kaldığında disk üzerinde kullanılan ek bellek alanıdır.RAM kadar hızlı değildir.
Özellikle HDD üzerinde swap kullanımı ciddi performans kaybına neden olabilir.
SSD ve NVMe'de daha hızlı olsa da yine RAM'in yerini tutmaz.
Swap Kullanmak Kötü mü?
Hayır.Swap tamamen kötü değildir.
Sistemin ani bellek taşmalarında çökmesini önleyebilir.
Ancak sürekli yoğun swap kullanımı:
RAM yetersizliği
işareti olabilir.
Swappiness Nedir?
Linux'un swap kullanımına ne kadar erken yönleneceğini etkileyen kernel ayarlarından biridir.Düşük değer:
- RAM kullanımını daha uzun süre tercih eder
- Swap kullanımına daha erken yönelebilir
Swap Kapatılmalı mı?
Genellikle rastgele kapatılmamalıdır.Özellikle üretim sunucularında küçük bir swap alanı sistem güvenliği açısından faydalı olabilir.
Ancak yüksek performans gerektiren özel sistemlerde kullanım senaryosuna göre değerlendirilmelidir.
Disk Performansı
Linux sistemlerde en önemli darboğazlardan biri disk olabilir.Özellikle:
- Veritabanı
- Web hosting
- Mail sunucusu
- Log sistemi
- Backup
HDD ve SSD Farkı
HDD mekanik disk olduğu için rastgele erişim performansı düşüktür.SSD çok daha hızlıdır.
NVMe SSD ise özellikle yüksek IOPS gerektiren uygulamalarda daha iyi performans sunabilir.
IOPS Nedir?
IOPS:Input/Output Operations Per Second
anlamına gelir.
Diskin saniyede kaç giriş/çıkış işlemi gerçekleştirebildiğini ifade eder.
Veritabanı ve hosting sistemlerinde oldukça önemlidir.
Disk Hızı Sadece MB/s Değildir
Örneğin iki disk de:500 MB/s
okuma yapabilir.
Ancak rastgele küçük dosya işlemlerinde IOPS değerleri çok farklı olabilir.
Web hosting ve veritabanında çoğu zaman IOPS daha önemlidir.
Disk I/O Beklemesi Nedir?
CPU bazı işlemleri tamamlamak için diski bekleyebilir.Bu durumda CPU kullanımı düşük görünür ancak sistem yavaş olabilir.
Buna:
I/O Wait
denir.
Yüksek I/O Wait Ne Anlama Gelir?
Genellikle:- Yavaş disk
- Aşırı disk kullanımı
- Yoğun veritabanı
- Backup işlemi
- Log yazımı
Disk Doluluk Oranı
Diskin tamamen dolması ciddi problemdir.Özellikle:
- Log
- Veritabanı
- Mail kuyruğu
- Cache
Disk dolduğunda uygulamalar hata vermeye başlayabilir.
Diskte Boş Alan Bırakılmalı mı?
Evet.Özellikle SSD'lerde tamamen dolu disk performansı düşürebilir.
İşletim sisteminin ve uygulamaların rahat çalışması için boş alan bırakılmalıdır.
Inode Nedir?
Linux dosya sistemlerinde her dosya belirli metadata kaydı kullanır.Milyonlarca küçük dosya bulunduğunda disk alanı boş olsa bile inode tükenebilir.
Bu durumda yeni dosya oluşturulamaz.
Inode Neden Dolar?
Özellikle:- Cache
- Session dosyaları
- Log
- Geçici dosyalar
Dosya Sistemi Seçimi
Linux sistemlerde yaygın olarak:- ext4
- XFS
Her dosya sisteminin farklı kullanım senaryolarında avantajları vardır.
Çoğu genel amaçlı sunucuda her ikisi de oldukça başarılıdır.
Disk Scheduler Nedir?
Linux'un disk işlemlerini nasıl sıraya koyacağını belirleyen mekanizmadır.Modern SSD ve NVMe sistemlerde scheduler seçimi eski HDD sistemlerden farklı olabilir.
Ancak rastgele scheduler değiştirmenin her zaman performans kazandıracağı düşünülmemelidir.
TRIM Nedir?
SSD üzerinde silinen blokların diske bildirilmesine yardımcı olur.Bu işlem SSD'nin uzun vadeli performansını korumaya yardımcı olabilir.
Modern Linux dağıtımlarında periyodik TRIM kullanılabilir.
Log Dosyaları Performansı Etkiler mi?
Evet.Çok yoğun log yazımı:
- Disk I/O
- Disk alanı
Özellikle debug seviyesinde gereksiz log açık bırakılırsa ciddi yük oluşabilir.
Logrotate Nedir?
Log dosyalarının:- Döndürülmesi
- Sıkıştırılması
- Eski kayıtların silinmesi
Logların sınırsız büyümesini önlemek açısından önemlidir.
Gereksiz Servisleri Kapatmak
Sunucuda kullanılmayan servisler:- RAM
- CPU
- Port
- Güvenlik yüzeyi
Bu nedenle gerçekten ihtiyaç olmayan servislerin çalıştırılmaması daha doğrudur.
Her Servisi Kapatmak Doğru mu?
Hayır.Servisin ne işe yaradığını bilmeden kapatmak:
- Network
- SSH
- DNS
- Web
Önce görevi anlaşılmalıdır.
Startup Servisleri
Sunucu açıldığında otomatik başlayan servisler kontrol edilmelidir.Gereksiz servisler boot süresini uzatabilir ve sürekli kaynak tüketebilir.
Process Kontrolü
Sistemde çalışan işlemler düzenli kontrol edilmelidir.Özellikle:
- Sürekli yüksek CPU
- Aşırı RAM
- Çok fazla process
Zombie Process Nedir?
İşlemi tamamlanmış ancak parent process tarafından düzgün temizlenmemiş process'tir.Az sayıda zombie genellikle ciddi performans problemi oluşturmaz.
Ancak sürekli artıyorsa uygulama hatası olabilir.
Çok Fazla Process Sorun mu?
Sistemin kapasitesine bağlıdır.Binlerce process normal olabilir.
Ancak beklenmedik şekilde hızla artıyorsa:
- Uygulama hatası
- Fork bomb benzeri durum
- Yanlış servis yapılandırması
Nice Değeri Nedir?
Linux'ta process CPU önceliğini etkileyebilir.Bazı arka plan işlemlerinin daha düşük öncelikle çalışması sağlanabilir.
Örneğin büyük backup işlemi web sunucusunu engellememelidir.
Backup İşlemleri Performansı Etkiler mi?
Evet.Backup sırasında:
- Disk okuma
- Disk yazma
- CPU
- Ağ
Bu nedenle büyük yedeklemeler düşük trafik saatlerinde çalıştırılabilir.
Cron Job Optimizasyonu
Aynı anda çok sayıda ağır cron görevi başlatmak sistem yükünü yükseltebilir.Örneğin:
- Backup
- Veritabanı bakım
- Log sıkıştırma
Web Sunucusu Optimizasyonu
Linux web sunucularında yaygın olarak:- Apache
- Nginx
- LiteSpeed
Her birinin çalışma yapısı farklıdır.
Apache Performansı
Apache güçlü ve uyumlu bir web sunucusudur.Ancak yanlış process ve worker ayarlarında fazla RAM tüketebilir.
Özellikle yüksek trafikli sitelerde yapılandırma önemlidir.
Nginx Performansı
Nginx event-driven yapısı sayesinde çok sayıda bağlantıyı verimli yönetebilir.Genellikle:
- Reverse proxy
- Statik içerik
- Web sunucusu
LiteSpeed Performansı
LiteSpeed özellikle hosting ortamlarında:- HTTP/3
- LSCache
- PHP entegrasyonu
WordPress sitelerinde LiteSpeed Cache ile güçlü performans alınabilir.
PHP Performans Optimizasyonu
WordPress ve birçok web uygulaması PHP kullanır.PHP performansında:
- Sürüm
- OPcache
- PHP-FPM
- Memory limit
Güncel PHP Sürümü
Yeni PHP sürümleri genellikle eski sürümlere göre daha iyi:- Performans
- Güvenlik
Ancak uygulamanın uyumluluğu kontrol edilmelidir.
OPcache Nedir?
PHP'nin derlenmiş kodunu bellekte tutarak her istekte tekrar derleme ihtiyacını azaltır.Yoğun PHP sitelerinde ciddi performans avantajı sağlayabilir.
PHP-FPM Nedir?
PHP işlemlerinin process havuzları üzerinden yönetilmesini sağlayan sistemdir.Doğru yapılandırıldığında yüksek trafikli sitelerde verimli olabilir.
PHP Worker Nedir?
Aynı anda kaç PHP isteğinin işlenebileceğini belirleyen worker yapısıdır.Çok az worker:
- Kuyruk oluşturur
- RAM tüketir
MySQL ve MariaDB Optimizasyonu
Veritabanı web sunucularındaki en önemli performans bileşenlerinden biridir.Yanlış yapılandırılmış MySQL:
- Yüksek CPU
- Yüksek disk I/O
- Yavaş sorgu
Veritabanı Optimizasyonunda İlk Adım
Önce yavaş sorgular bulunmalıdır.Her problemi:
RAM artırarak
çözmeye çalışmak doğru değildir.
Slow Query Nedir?
Normalden uzun süren veritabanı sorgusudur.Çok kullanılan yavaş sorgular siteyi ciddi şekilde yavaşlatabilir.
Index Nedir?
Veritabanında belirli kayıtların daha hızlı bulunmasını sağlayan yapıdır.Doğru index sorguları ciddi şekilde hızlandırabilir.
Yanlış veya gereksiz index ise disk ve yazma maliyetini artırabilir.
InnoDB Buffer Pool
MySQL ve MariaDB'de InnoDB verilerini bellekte tutmak için kullanılan önemli alandır.Veritabanı sunucularında doğru boyutlandırılması performansı ciddi şekilde etkileyebilir.
Ancak sunucunun tüm RAM'ini buffer pool'a vermek doğru değildir.
İşletim sistemi ve diğer servisler için de RAM bırakılmalıdır.
Query Cache Kullanılmalı mı?
Modern MySQL sürümlerinde eski Query Cache özelliği artık kullanılmaz.Güncel sistemlerde uygulama cache, object cache ve doğru veritabanı optimizasyonu daha önemlidir.
Redis Nedir?
Redis hızlı bir bellek içi veri deposudur.WordPress gibi sistemlerde:
Object Cache
amaçlı kullanılabilir.
Bu sayede tekrarlanan bazı veritabanı sorguları azaltılabilir.
Memcached Nedir?
Redis'e benzer şekilde bellek tabanlı cache sistemi olarak kullanılabilir.Özellikle dinamik uygulamalarda veritabanı yükünü azaltabilir.
Page Cache
Tam oluşturulmuş web sayfasının cache'den sunulmasıdır.WordPress gibi PHP tabanlı sistemlerde performansı ciddi şekilde artırabilir.
Cache Her Şeye Uygulanır mı?
Hayır.Özellikle:
- Sepet
- Ödeme
- Kullanıcı paneli
CDN Performansa Fayda Sağlar mı?
Evet.Özellikle:
- Görseller
- CSS
- JavaScript
Bu, origin sunucu yükünü de azaltabilir.
Ağ Performansı
Sunucu güçlü olsa bile ağ bağlantısı kötü ise kullanıcı yavaşlık yaşayabilir.Kontrol edilmesi gerekenler:
- Bant genişliği
- Paket kaybı
- Latency
- Routing
- Interface hataları
Ping Düşürmek Linux Ayarıyla Mümkün mü?
Her zaman değil.Ping büyük ölçüde:
- Fiziksel mesafe
- Operatör routing
- Network yoğunluğu
Kernel ayarlarıyla 50 ms bağlantıyı 5 ms yapmak mümkün değildir.
Paket Kaybı
Paket kaybı:- Kötü bağlantı
- Aşırı trafik
- Interface problemi
- Operatör sorunu
Özellikle oyun ve VoIP uygulamalarında ciddi etkisi vardır.
Network Interface Hataları
Network kartında:- Dropped packet
- Error
- Overrun
Bu değerler sürekli yükseliyorsa ağ tarafında problem olabilir.
TCP Ayarları
Linux kernel içerisinde çok sayıda TCP parametresi vardır.Ancak internette bulunan:
20 tane sysctl ayarını kopyala
yaklaşımı önerilmez.
Yanlış TCP ayarları bağlantı performansını daha kötü hale getirebilir.
Kernel Tuning Gerekli mi?
Her sunucuda değil.Standart Linux ayarları birçok sistem için yeterlidir.
Kernel tuning daha çok:
- Çok yüksek bağlantı sayısı
- Proxy
- Load balancer
- Büyük veritabanı
- Yoğun network
File Descriptor Limiti
Linux process'lerin açabileceği:- Dosya
- Socket
Yoğun web sunucularında bu limit düşükse:
Too many open files
hatası alınabilir.
Ancak limiti sınırsız yükseltmek yerine ihtiyaca göre ayarlamak gerekir.
Connection Limit
Web sunucusu veya uygulama aynı anda belirli sayıda bağlantı yönetebilir.Bu sınırların:
- CPU
- RAM
- Uygulama kapasitesi
Güç Yönetimi Performansı Etkiler mi?
Evet.Özellikle fiziksel sunucularda CPU güç profili:
- Performance
- Balanced
- Power Saving
Yüksek performans gereken sunucularda uygun güç profili seçilmelidir.
Sanal Sunucularda CPU Steal Nedir?
VPS/VDS ortamında fiziksel CPU başka sanal makineler tarafından yoğun kullanılıyorsa guest sistem CPU bekleyebilir.Bu durum:
CPU Steal
olarak görülebilir.
Yüksek steal değeri fiziksel host aşırı kullanılıyor olabilir anlamına gelir.
Overselling Performansı Etkiler mi?
Evet.Bir fiziksel sunucuya kapasitesinin çok üzerinde sanal CPU veya RAM satılırsa yoğun saatlerde performans düşebilir.
Bu nedenle yalnızca VDS içindeki CPU kullanımına bakmak yeterli olmayabilir.
Sanal Disk Performansı
VM içerisinde disk hızlı görünse bile fiziksel datastore yoğun olabilir.Özellikle birçok sanal makine aynı SSD veya RAID grubunu kullanıyorsa I/O darboğazı oluşabilir.
NUMA Nedir?
Çok işlemcili veya yüksek çekirdekli sistemlerde bellek erişim yapısını etkileyen mimaridir.Büyük sanal makinelerde CPU ve RAM dağılımı NUMA performansını etkileyebilir.
Küçük sunucularda genellikle manuel müdahale gerekmez.
CPU Pinning Nedir?
Belirli process veya sanal CPU'ların belirli fiziksel çekirdeklere bağlanmasıdır.Özel düşük latency uygulamalarda kullanılabilir.
Ancak genel web hosting sistemlerinde çoğu zaman gereksizdir.
Huge Pages Nedir?
Büyük bellek sayfalarıdır.Bazı:
- Veritabanı
- Sanallaştırma
Ancak her uygulamada performans artırmaz.
Transparent Huge Pages
Kernel'in huge page kullanımını otomatik yönetmeye çalıştığı sistemdir.Bazı veritabanı uygulamalarında latency sorunlarına neden olabileceği için uygulama üreticisinin tavsiyeleri kontrol edilmelidir.
Dosya Cache Mekanizması
Linux boş RAM'i dosya cache için kullanır.Bu nedenle RAM'i manuel olarak sürekli temizlemek genellikle doğru değildir.
RAM Cache Temizlemek Sistemi Hızlandırır mı?
Genellikle hayır.Linux cache'i performansı artırmak için kullanır.
Sürekli cache temizlemek diskin yeniden okunmasına neden olup sistemi daha yavaş hale getirebilir.
“RAM Temizleme Scriptleri” Faydalı mı?
Çoğu durumda gereksizdir.Linux bellek yönetimini kendisi oldukça iyi yapar.
Gerçek sorun memory leak ise kaynak uygulamada çözüm aranmalıdır.
Memory Leak Nedir?
Bir uygulamanın kullandığı belleği zamanla serbest bırakmamasıdır.Bu durumda RAM tüketimi sürekli artabilir.
Çözüm sadece servisi sürekli restart etmek değil, gerçek nedeni bulmaktır.
Servis Restart Etmek Optimizasyon mu?
Hayır.Geçici rahatlama sağlayabilir ancak kalıcı çözüm değildir.
Örneğin MySQL her gece restart edilerek RAM düşürülüyorsa altta başka problem olabilir.
Uptime Çok Yüksek Olursa Sistem Yavaşlar mı?
Tek başına hayır.Linux sunucular aylarca veya yıllarca çalışabilir.
Ancak:
- Kernel güncellemesi
- Memory leak
- Uygulama problemi
Kernel Güncellemeleri
Güvenlik ve performans iyileştirmeleri içerebilir.Bazı kernel güncellemelerinin aktif olması için reboot gerekir.
Sunucular plansız değil bakım penceresinde yeniden başlatılmalıdır.
İşletim Sistemi Güncel Tutulmalı mı?
Evet.Güncel sistem:
- Güvenlik
- Uyumluluk
- Performans
Ancak üretim sistemlerinde büyük sürüm güncellemeleri test edilmelidir.
Güvenlik Yazılımları Performansı Etkiler mi?
Evet.Örneğin:
- Antivirüs
- Malware scanner
- WAF
- Firewall
Ancak güvenliği kapatmak performans optimizasyonu değildir.
Doğru yapılandırma yapılmalıdır.
Firewall Performansı
Çok fazla karmaşık firewall kuralı network işlemlerini etkileyebilir.Ancak modern sistemler oldukça yüksek sayıda kuralı yönetebilir.
Gereksiz ve tekrar eden kuralları temizlemek daha düzenli bir yapı sağlar.
Fail2Ban Kaynak Kullanır mı?
Genellikle normal kullanımda düşük kaynak tüketir.Ancak çok büyük log dosyalarını sürekli tarayan yanlış yapılandırmalar yük oluşturabilir.
Malware Sistemi Yavaşlatabilir mi?
Evet.Ele geçirilmiş sunucularda:
- Crypto miner
- Spam bot
- Proxy
- Zararlı process
Beklenmeyen yüksek kullanımda güvenlik kontrolü de yapılmalıdır.
DDoS Performans Problemi Gibi Görünebilir mi?
Evet.Yoğun saldırı sırasında:
- Network dolar
- Connection sayısı artar
- Web server worker'ları tükenir
Veritabanı Bağlantı Sayısı
Çok fazla eş zamanlı bağlantı:- RAM tüketimini
- CPU yükünü
Connection pool kullanımı uygulamaya göre faydalı olabilir.
Connection Pool Nedir?
Her istek için yeni bağlantı oluşturmak yerine mevcut bağlantıların tekrar kullanılmasıdır.Yoğun uygulamalarda veritabanı üzerindeki bağlantı maliyetini azaltabilir.
Uygulama Seviyesi Optimizasyon
Sunucu ayarlarını değiştirmeden önce uygulama kodu da incelenmelidir.Örneğin kötü yazılmış bir sorgu:
32 çekirdekli sunucuda bile
sistemi yavaşlatabilir.
Daha Güçlü Sunucu Her Sorunu Çözer mi?
Hayır.Örneğin problem:
- Sonsuz döngü
- Kötü SQL sorgusu
- Yetersiz index
- Çok büyük görsel
Vertical Scaling Nedir?
Mevcut sunucuya daha fazla:- CPU
- RAM
- Disk
Horizontal Scaling Nedir?
Yükü birden fazla sunucuya dağıtmaktır.Örneğin:
- Birden fazla web server
- Ayrı veritabanı
- Load balancer
Load Balancer Nedir?
Kullanıcı trafiğini birden fazla sunucuya dağıtır.Büyük sistemlerde ölçeklenebilirlik sağlar.
Veritabanını Ayrı Sunucuya Taşımak
Büyük web sitelerinde:- Web
- Database
Bu sayede kaynaklar birbirini daha az etkiler.
Ancak ağ latency ve güvenlik doğru yapılandırılmalıdır.
İzleme Sistemi Kurulmalı mı?
Kesinlikle.Optimizasyonun temeli ölçümdür.
Takip edilmesi gerekenler:
- CPU
- RAM
- Load
- Disk
- I/O
- Network
- Servis durumu
Monitoring Araçları
Linux sistemlerde birçok izleme çözümü bulunur.Örneğin:
- Netdata
- Zabbix
- Prometheus
- Grafana
- Nagios
Grafik Tutmak Neden Önemli?
Sorun oluştuğunda:Şu an CPU normal
demek yeterli değildir.
Gece saat 03:00'te ne olduğunu görmek için geçmiş grafik gerekir.
Alarm Sistemi
Monitoring sistemi:- Disk dolduğunda
- RAM yükseldiğinde
- Servis kapandığında
- CPU uzun süre yüksek olduğunda
Performance Baseline Nedir?
Sistemin normal çalışma değerlerinin kaydedilmesidir.Örneğin normalde:
- CPU yüzde 20
- RAM yüzde 60
- Load 2
Değişiklikleri Tek Tek Yapın
Performans ayarlarında aynı anda 20 değişiklik yapmak doğru değildir.Çünkü performans artarsa hangi ayarın işe yaradığını bilemezsiniz.
Daha kötüsü sistem bozulursa hangi değişikliğin sorun çıkardığını bulmak zorlaşır.
Benchmark Nedir?
Sistemin belirli kaynaklarının performansını ölçmek için yapılan testtir.Örneğin:
- CPU
- Disk
- Network
Ancak benchmark sonucu gerçek uygulama performansıyla birebir aynı değildir.
Disk Benchmark Yaparken Dikkat
Üretim sunucusunda ağır disk testi:- Gerçek kullanıcıları
- Veritabanını
Bu nedenle dikkatli yapılmalıdır.
Stress Test Nedir?
Sunucunun yüksek yük altında davranışını ölçmek için yapılan testtir.Özellikle yeni sistem kurulurken kapasiteyi görmek için faydalı olabilir.
Canlı üretim sisteminde plansız uygulanmamalıdır.
Web Sitesi Performansında TTFB
TTFB:Time To First Byte
anlamına gelir.
Tarayıcının sunucudan ilk veri parçasını alma süresidir.
Yüksek TTFB:
- Yavaş PHP
- Yavaş veritabanı
- Server load
- Uzak lokasyon
Görsel Optimizasyonu Linux Performansını Etkiler mi?
Dolaylı olarak evet.Çok büyük görseller:
- Disk
- Network
- Web sunucusu
Web sitelerinde görsel optimizasyonu önemli performans kazancı sağlayabilir.
Statik Dosyalar
CSS, JavaScript ve görsellerin:- Cache
- CDN
- Sıkıştırma
Gzip ve Brotli
Web içeriklerinin sıkıştırılarak daha küçük boyutta gönderilmesini sağlar.Bu sayede network transfer miktarı azaltılabilir.
Ancak sıkıştırma da CPU kullanır.
Modern sistemlerde genellikle sağladığı fayda daha büyüktür.
HTTP/2 ve HTTP/3
Modern web protokolleri bağlantı kullanımını daha verimli hale getirebilir.Özellikle çok sayıda web kaynağı bulunan sitelerde avantaj sağlayabilir.
DNS Performansı
Yavaş DNS çözümleme site açılışını etkileyebilir.Güvenilir ve hızlı DNS sağlayıcı kullanılması önemlidir.
Linux Sunucu İçin Basit Optimizasyon Sırası
Yeni başlayanlar şu sırayı izleyebilir:- CPU kullanımını kontrol edin.
- RAM ve swap durumuna bakın.
- Load Average değerlerini inceleyin.
- Disk doluluk oranını kontrol edin.
- Disk I/O beklemesini kontrol edin.
- En çok kaynak kullanan process'leri bulun.
- Gereksiz servisleri belirleyin.
- Uygulama loglarını kontrol edin.
- Veritabanı yavaş sorgularını inceleyin.
- Cache sistemlerini değerlendirin.
- Monitoring kurun.
- Değişiklikleri tek tek uygulayın.
Web Hosting Sunucusu İçin Optimizasyon
Hosting sunucusunda özellikle:- Web server
- PHP
- MySQL/MariaDB
- Disk I/O
- Backup
Bir müşterinin aşırı kaynak tüketmesi diğer siteleri etkileyebilir.
CloudLinux Kullanımı
Paylaşımlı hosting ortamlarında CloudLinux:- CPU
- RAM
- I/O
- Process
Bu sayede tek hosting hesabının tüm sunucuyu etkilemesi azaltılabilir.
LVE Limitleri Çok Düşük Olursa
Site gereksiz yere yavaşlayabilir.Çok yüksek olursa tek hesap sunucuyu zorlayabilir.
Bu nedenle paketlere uygun limitler belirlenmelidir.
CageFS Performansı Etkiler mi?
Temel amacı güvenlik ve kullanıcı izolasyonudur.Normal yapılandırmada ciddi bir performans problemi oluşturması beklenmez.
WordPress Hosting Optimizasyonu
WordPress sunucularında:- Page cache
- Object cache
- OPcache
- Görsel optimizasyonu
- CDN
Ayrıca ağır temalar ve gereksiz eklentiler azaltılmalıdır.
WooCommerce Sunucusu
WooCommerce tamamen statik cache'e güvenemez.Çünkü:
- Sepet
- Ödeme
- Kullanıcı hesabı
Bu nedenle veritabanı ve PHP performansı daha önemlidir.
Oyun Sunucusu Optimizasyonu
Oyun sunucularında:- Tek çekirdek performansı
- Düşük latency
- Paket kaybı
- CPU steal
Web hosting ayarları oyun sunucusuna doğrudan uygulanmamalıdır.
Veritabanı Sunucusu Optimizasyonu
Burada en önemli alanlar:- RAM
- Disk IOPS
- Query optimizasyonu
- Index
- Buffer
Çok yüksek CPU her zaman donanım eksikliği anlamına gelmez.
Linux Masaüstü Performansı
Linux masaüstünde optimizasyon biraz farklıdır.Örneğin:
- Gereksiz startup uygulamaları
- Ağır masaüstü ortamı
- RAM kullanımı
- Disk
Hafif Masaüstü Ortamları
Düşük donanımlı bilgisayarlarda:- XFCE
- LXQt
SSD'ye Geçmek
Eski HDD kullanan bilgisayarda yapılabilecek en büyük performans yükseltmelerinden biri SSD'ye geçmektir.Özellikle:
- Boot
- Program açılışı
- Dosya erişimi
RAM Artırmak
Sistem sürekli swap kullanıyorsa RAM artırımı ciddi fayda sağlayabilir.Ancak RAM zaten yeterliyse daha fazla RAM her zaman hız kazandırmaz.
Linux Optimizasyonunda Yapılan Yaygın Hatalar
İnternetten Rastgele sysctl Ayarları Kopyalamak
Sistemi bozabilir.Swap'i Direkt Kapatmak
Bellek taşmasında sistemi daha riskli hale getirebilir.RAM Cache'i Sürekli Temizlemek
Performansı artırmak yerine azaltabilir.CPU Yüksek Diye Hemen CPU Artırmak
Önce hangi process'in kullandığı bulunmalıdır.Disk Hızına Sadece MB/s ile Bakmak
IOPS ve latency de önemlidir.Monitoring Kullanmamak
Sorunun ne zaman başladığı bulunamaz.Her Servisi Kapatmak
Sistem işlevlerini bozabilir.Aynı Anda Çok Fazla Ayar Değiştirmek
Sorun giderme zorlaşır.Linux Performans Kontrol Listesi
- CPU sürekli yüksek mi?
- Tek çekirdek yüzde 100 mü?
- Load Average normal mi?
- RAM yeterli mi?
- Swap sürekli kullanılıyor mu?
- OOM olayı var mı?
- Disk dolu mu?
- Inode dolu mu?
- I/O Wait yüksek mi?
- Log dosyaları aşırı büyümüş mü?
- Gereksiz servis var mı?
- Backup yoğun saatlerde mi çalışıyor?
- Veritabanında yavaş sorgu var mı?
- Cache sistemi var mı?
- Ağda paket kaybı var mı?
- Sanal sunucuda CPU Steal yüksek mi?
- Monitoring sistemi aktif mi?
Performans Sorunu Çıktığında İzlenecek Yol
Öncelikle:Ne yavaş?
sorusu cevaplanmalıdır.
Örneğin:
- Tüm sunucu mu?
- Sadece web sitesi mi?
- Sadece veritabanı mı?
- Sadece disk işlemleri mi?
- Sadece belirli saatlerde mi?
“Sunucu Yavaş” Tek Başına Yeterli Bilgi Değildir
Performans problemi bildirirken:- Saat
- Load
- CPU
- RAM
- Disk
- Network
Bu sayede sorun çok daha hızlı bulunabilir.
Donanım Yükseltmesi Ne Zaman Yapılmalı?
Optimizasyon yapıldıktan sonra kaynak gerçekten yetersiz kalıyorsa:- CPU
- RAM
- SSD
- Network
Donanım yükseltme yanlış yapılandırmayı düzeltmek için kullanılmamalıdır.
Daha Fazla CPU mu RAM mi?
Soruna göre değişir.CPU yüzde 100 ise:
CPU
RAM bitip swap kullanılıyorsa:
RAM
Disk beklemesi yüksekse:
Daha hızlı disk
gerekebilir.
Her performans problemine aynı çözüm uygulanamaz.
Linux Performansında En Önemli Kural
En önemli yaklaşım:Ölç → Darboğazı bul → Tek değişiklik yap → Tekrar ölç
şeklindedir.
Bu yöntem hem daha güvenli hem daha profesyoneldir.
Sonuç
Linux performans optimizasyonu tek bir ayar değiştirerek yapılabilecek bir işlem değildir.Sistemin:
- CPU
- RAM
- Swap
- Disk
- Ağ
- Veritabanı
- Uygulamalar
Özellikle yüksek CPU gördüğünüzde hemen işlemci yükseltmek veya RAM dolu göründüğünde doğrudan bellek artırmak doğru yaklaşım değildir.
Önce gerçek darboğaz belirlenmelidir.
Linux sistemlerde en sık karşılaşılan performans problemleri:
- Yetersiz RAM
- Yoğun swap
- Yavaş disk
- Yüksek I/O Wait
- Kötü veritabanı sorguları
- Ağ problemleri
- Gereksiz servisler
- Yanlış uygulama ayarları
Web sunucularında ayrıca:
- Cache
- PHP
- MySQL/MariaDB
- CDN
- Görsel optimizasyonu
Sanal sunucularda ise fiziksel host üzerindeki:
- CPU Steal
- Disk yoğunluğu
- Overselling
Kısacası başarılı Linux performans optimizasyonunun temel mantığı rastgele ayarlar uygulamak değil, sistemi ölçmek, gerçek darboğazı tespit etmek ve yalnızca gerekli noktada değişiklik yapmaktır.



