Neler yeni
Metin2 Support

Metin2 Dünyasına Hoş Geldiniz! Yeni bir maceraya adım atın ve topluluğumuza katılın. Sorularınızı sormak, deneyimlerinizi paylaşmak ve diğer oyuncularla iletişim kurmak için hemen kaydolun. Kayıt olun, etkileşimde bulunun ve Metin2 dünyasındaki serüveninizi daha da özel hale getirin. Birlikte oynamak için sabırsızlanıyoruz!

Linux Performans Optimizasyonu

iReeKaa

New member
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
da performans optimizasyonunun bir parçasıdır.

Linux nedir linux isletim sisteminin avantajlari nelerdir

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
  • Veritabanı
  • Web sunucusu
  • Yanlış servis yapılandırması
kaynaklı olabilir.

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
her sistem için aynı sonucu vermez.

Önce mevcut sistem ölçülmelidir.

Hangi Kaynaklar Kontrol Edilmeli?​

Temel olarak şu alanlar incelenmelidir:

  • CPU
  • RAM
  • Swap
  • Disk
  • Disk I/O
  • Process'ler
  • Load Average
  • Servisler
Bu veriler birlikte değerlendirilmelidir.

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
gibi birçok nedenden kaynaklanabilir.

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
ise araştırılmalıdır.

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
ortalaması gösterilir.

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
Bu durumda hangi process'in kaynak tükettiği bulunmalıdır.

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
yüksek tek çekirdek performansından faydalanabilir.

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
için kullanabilir.

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
gibi uygulamalarda kritik olabilir.

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
Yüksek değer:

  • Swap kullanımına daha erken yönelebilir
Ancak her sunucuda aynı değer kullanılmamalıdır.

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
yoğun disk kullanabilir.

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ı
gibi nedenler araştırılmalıdır.

Disk Doluluk Oranı​

Diskin tamamen dolması ciddi problemdir.

Özellikle:

  • Log
  • Veritabanı
  • Mail kuyruğu
  • Cache
nedeniyle disk dolabilir.

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
  • Mail
  • Session dosyaları
  • Log
  • Geçici dosyalar
çok sayıda küçük dosya oluşturabilir.

Dosya Sistemi Seçimi​

Linux sistemlerde yaygın olarak:

  • ext4
  • XFS
kullanılır.

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ı
tüketebilir.

Ö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
için kullanılan sistemdir.

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
tüketebilir.

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
gibi kritik hizmetleri bozabilir.

Ö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
oluşturan uygulamalar araştırılmalıdır.

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ı
araştırılmalıdır.

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
yükü artabilir.

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
işlemlerinin tamamını aynı dakikaya koymak yerine farklı zamanlara dağıtmak daha mantıklıdır.

Web Sunucusu Optimizasyonu​

Linux web sunucularında yaygın olarak:

  • Apache
  • Nginx
  • LiteSpeed
kullanılır.

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
olarak kullanılır.

LiteSpeed Performansı​

LiteSpeed özellikle hosting ortamlarında:

  • HTTP/3
  • LSCache
  • PHP entegrasyonu
gibi avantajlar sağlayabilir.

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
önemlidir.

Güncel PHP Sürümü​

Yeni PHP sürümleri genellikle eski sürümlere göre daha iyi:

  • Performans
  • Güvenlik
sunabilir.

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
Çok fazla worker:

  • RAM tüketir
Bu nedenle dengeli ayar gerekir.

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
oluşturabilir.

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
gibi kişiye özel sayfaların yanlış cache'lenmesi problem oluşturabilir.

CDN Performansa Fayda Sağlar mı?​

Evet.

Özellikle:

  • Görseller
  • CSS
  • JavaScript
kullanıcıya daha yakın sunuculardan dağıtılabilir.

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ı
dır.

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
ile ilgilidir.

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
nedeniyle oluşabilir.

Özellikle oyun ve VoIP uygulamalarında ciddi etkisi vardır.

Network Interface Hataları​

Network kartında:

  • Dropped packet
  • Error
  • Overrun
değerleri kontrol edilmelidir.

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
gibi özel sistemlerde gerekebilir.

File Descriptor Limiti​

Linux process'lerin açabileceği:

  • Dosya
  • Socket
sayısı sınırlıdır.

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
ile uyumlu olması gerekir.

Güç Yönetimi Performansı Etkiler mi?​

Evet.

Özellikle fiziksel sunucularda CPU güç profili:

  • Performance
  • Balanced
  • Power Saving
gibi modlarda olabilir.

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
iş yüklerinde faydalı olabilir.

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.

Mysql tuning 930x620

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
nedeniyle yeniden başlatma gerekebilir.

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
açısından daha sağlıklıdır.

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
belirli miktarda kaynak kullanabilir.

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
CPU veya ağ kaynağını tüketebilir.

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
Bu durumda sorun uygulama performansı değil saldırı olabilir.

Veritabanı Bağlantı Sayısı​

Çok fazla eş zamanlı bağlantı:

  • RAM tüketimini
  • CPU yükünü
artırabilir.

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
ise donanım artırmak yalnızca problemi geciktirebilir.

Vertical Scaling Nedir?​

Mevcut sunucuya daha fazla:

  • CPU
  • RAM
  • Disk
eklemektir.

Horizontal Scaling Nedir?​

Yükü birden fazla sunucuya dağıtmaktır.

Örneğin:

  • Birden fazla web server
  • Ayrı veritabanı
  • Load balancer
kullanılabilir.

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
farklı sunucularda çalıştırılabilir.

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
dır.

Monitoring Araçları​

Linux sistemlerde birçok izleme çözümü bulunur.

Örneğin:

  • Netdata
  • Zabbix
  • Prometheus
  • Grafana
  • Nagios
kullanılabilir.

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
bildirim gönderebilir.

Performance Baseline Nedir?​

Sistemin normal çalışma değerlerinin kaydedilmesidir.

Örneğin normalde:

  • CPU yüzde 20
  • RAM yüzde 60
  • Load 2
ise daha sonra oluşan değişiklikler kolay fark edilir.

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
benchmark yapılabilir.

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ı
yavaşlatabilir.

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
gibi nedenlerden kaynaklanabilir.

Görsel Optimizasyonu Linux Performansını Etkiler mi?​

Dolaylı olarak evet.

Çok büyük görseller:

  • Disk
  • Network
  • Web sunucusu
yükünü artırabilir.

Web sitelerinde görsel optimizasyonu önemli performans kazancı sağlayabilir.

Statik Dosyalar​

CSS, JavaScript ve görsellerin:

  • Cache
  • CDN
  • Sıkıştırma
ile sunulması web sunucusu yükünü azaltabilir.

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:

  1. CPU kullanımını kontrol edin.
  2. RAM ve swap durumuna bakın.
  3. Load Average değerlerini inceleyin.
  4. Disk doluluk oranını kontrol edin.
  5. Disk I/O beklemesini kontrol edin.
  6. En çok kaynak kullanan process'leri bulun.
  7. Gereksiz servisleri belirleyin.
  8. Uygulama loglarını kontrol edin.
  9. Veritabanı yavaş sorgularını inceleyin.
  10. Cache sistemlerini değerlendirin.
  11. Monitoring kurun.
  12. Değişiklikleri tek tek uygulayın.

Web Hosting Sunucusu İçin Optimizasyon​

Hosting sunucusunda özellikle:

  • Web server
  • PHP
  • MySQL/MariaDB
  • Disk I/O
  • Mail
  • Backup
birlikte takip edilmelidir.

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
limitlerini kullanıcı bazında yönetmeye yardımcı olabilir.

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
önemlidir.

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ı
dinamiktir.

Bu nedenle veritabanı ve PHP performansı daha önemlidir.

Oyun Sunucusu Optimizasyonu​

Oyun sunucularında:

  • Tek çekirdek performansı
  • Düşük latency
  • Paket kaybı
  • CPU steal
önemlidir.

Web hosting ayarları oyun sunucusuna doğrudan uygulanmamalıdır.

Veritabanı Sunucusu Optimizasyonu​

Burada en önemli alanlar:

  • RAM
  • Disk IOPS
  • Query optimizasyonu
  • Index
  • Buffer
dır.

Ç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
kontrol edilebilir.

Hafif Masaüstü Ortamları​

Düşük donanımlı bilgisayarlarda:

  • XFCE
  • LXQt
gibi daha hafif masaüstleri tercih edilebilir.

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
ciddi şekilde hızlanabilir.

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?
Daha sonra ilgili kaynak incelenmelidir.

“Sunucu Yavaş” Tek Başına Yeterli Bilgi Değildir​

Performans problemi bildirirken:

  • Saat
  • Load
  • CPU
  • RAM
  • Disk
  • Network
bilgileri mümkün olduğunca kaydedilmelidir.

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
yükseltilebilir.

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
  • Veritabanı
  • Uygulamalar
birlikte değerlendirilmesi gerekir.

Ö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ı
şeklindedir.

Web sunucularında ayrıca:

  • Cache
  • PHP
  • MySQL/MariaDB
  • CDN
  • Görsel optimizasyonu
önemlidir.

Sanal sunucularda ise fiziksel host üzerindeki:

  • CPU Steal
  • Disk yoğunluğu
  • Overselling
gibi faktörler de göz önünde bulundurulmalıdır.

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.
 

Konuyu görüntüleyenler

  • Üst