smaple.tr
performans mühendisliği

Performans Mühendisliği ve Yazılım Optimizasyon Rehberi [2026]

Mehmet Kurtipek
January 21, 2026
10 min read
performans mühendisliği
optimizasyon
core web vitals
caching
profiling
ölçeklenebilirlik

Performans Muhendisligi ve Yazilim Optimizasyon Rehberi

Kullanici deneyimini dogrudan etkileyen en kritik faktorlerden biri yazilim performansidir. Arastirmalar, sayfa yuklenme suresinin 1 saniye artmasinin donusum oranlarini yuzde 7 ila 12 arasinda dusurdugunu gostermektedir. Performans muhendisligi, bu sorunu sistematik bir yaklasimla ele alan ve yazilim yasam dongusunun her asamasinda performansi on planda tutan bir disiplindir.

Bu rehberde frontend ve backend optimizasyon tekniklerinden caching katmanlarina, profiling araclarindan olceklenebilirlik stratejilerine kadar performans muhendisliginin tum boyutlarini inceliyoruz.

Performans Muhendisligi Nedir?

Performans muhendisligi, yazilimin hiz, yanit suresi, kaynak tuketimi ve olceklenebilirlik gibi performans metriklerini surekli olarak izleyen, analiz eden ve iyilestiren bir muhendislik disiplinidir. Performans testi ile karistirilmamasi gereken onemli bir ayrimi vardir:

Ozellik Performans Testi Performans Muhendisligi
Kapsam Belirli test senaryolari Tum yazilim yasam dongusu
Zamanlama Genellikle surum oncesi Tasarimdan uretime surekli
Odak Sorunlari tespit etme Sorunlari onleme ve iyilestirme
Sorumluluk Test ekibi Tum gelistirme ekibi
Yaklasim Reaktif Proaktif

Performans muhendisligi, yazilim mimarisinin tasarim asamasindan baslar ve uretim ortaminda surekli izleme ile devam eder. Amac, performans sorunlarini kullanicilar fark etmeden once tespit etmek ve cozemektir. Geleneksel yaklasimda performans testi yalnizca surum oncesinde yapilir ve tespit edilen sorunlar icin zaman kisitli kalir. Performans muhendisligi ise gereksinim analizinden itibaren performans kriterlerini tanimlar, mimari kararlarda performans etkisini degerlendirme surecine dahil eder ve uretim ortaminda surekli geri bildirim dongusu olusturur. Bu yaklasim, Donald Knuth'un meshur sozundeki "erken optimizasyon tum kotuluklerin anasıdır" uyarisini da dogru baglamina oturtur: amac rastgele optimizasyon degil, olcume dayali ve sistematik iyilestirmedir.

Frontend Performans Optimizasyonu

Core Web Vitals ve Kullanici Deneyimi

Google'in Core Web Vitals metrikleri, kullanici deneyiminin olculebilir gostergelerini sunar. 2026 itibarıyla bu metrikler hem SEO siralamasini hem de kullanici memnuniyetini dogrudan etkilemektedir.

Metrik Aciklama Iyi Iyilestirme Gerekli Kotu
LCP (Largest Contentful Paint) En buyuk icerigin yuklenme suresi 2.5s altinda 2.5s - 4s 4s uzerinde
INP (Interaction to Next Paint) Etkilesimden sonraki boyama suresi 200ms altinda 200ms - 500ms 500ms uzerinde
CLS (Cumulative Layout Shift) Gorsel kararsizlik skoru 0.1 altinda 0.1 - 0.25 0.25 uzerinde

Bundle Optimizasyonu ve Kod Bolme

Modern frontend uygulamalarinda JavaScript bundle boyutu, performansin en kritik belirleyicilerinden biridir. Etkili bundle optimizasyonu icin su teknikleri uygulamak gerekir:

  • Tree Shaking: Kullanilmayan kodlarin derleme asamasinda otomatik olarak cikarilmasi. Webpack, Rollup ve Vite gibi araclar bu islemi destekler.
  • Code Splitting: Uygulamanin mantiksal parcalara bolunmesi ve her parcanin yalnizca ihtiyac duyuldugunda yuklenmesi. React.lazy() ve dinamik import() kullanimi bu amaca hizmet eder.
  • Lazy Loading: Gorsel alana girmeyen iceriklerin (gorseller, videolar, iframe'ler) Intersection Observer API ile gecikmeli yuklenmesi.

Gorsel ve Font Optimizasyonu

Gorseller, tipik bir web sayfasinin toplam boyutunun yuzde 50'sinden fazlasini olusturur. Gorsel optimizasyonu icin su adimlar uygulanmalidir: yeni nesil formatlar (WebP, AVIF) kullanilmali, srcset ve sizes ozellikleri ile responsive gorseller sunulmali ve gorsel boyutlari layout shift'e neden olmayacak sekilde acikca belirtilmelidir. Font yukleme stratejisinde ise font-display: swap kullanilmali, kullanilmayan font agirliklarindan kacinilmali ve mumkunse sistem fontlari tercih edilmelidir.

CDN Stratejisi

Icerik Dagilim Agi (CDN) kullanimi, statik kaynaklarin kullaniciya en yakin sunucudan iletilmesini saglar. Etkili bir CDN stratejisi su unsurlari icerir:

  • Statik dosyalar icin agresif cache politikalari (immutable header kullanimi)
  • Gorsel optimizasyonu (WebP/AVIF formatlari, responsive images)
  • HTTP/3 ve QUIC protokol destegi
  • Edge computing ile dinamik iceriklerin kenar sunucularda islenmesi

Backend Performans Optimizasyonu

N+1 Sorgu Problemi ve Cozumleri

Backend performans sorunlarinin en yaygin nedenlerinden biri N+1 sorgu problemidir. Bir liste sorgusunun ardindan her bir kayit icin ayri sorgu atilmasi, veritabani yukunu katlanarak arttirir.

Cozum yaklasimlari sunlardir:

  • Eager Loading: ORM araclarinda iliskili verilerin tek sorguda getirilmesi (ornegin Django'da select_related, Rails'de includes)
  • Batch Loading: Facebook'un DataLoader paterni ile sorgularin gruplanarak topluca calistirilmasi
  • Sorgu Analizi: Veritabani sorgu loglarinin duzenli olarak incelenmesi ve yavas sorgularin tespiti

Connection Pool Yonetimi

Veritabani baglanti havuzu (connection pool), her istek icin yeni baglanti olusturma maliyetini ortadan kaldirir. Dogru yapilandirma icin dikkat edilmesi gereken parametreler sunlardir:

  • Minimum havuz boyutu: Dusuk trafik donemlerinde bile hazir baglanti sayisi
  • Maksimum havuz boyutu: Sunucu kaynaklarina gore belirlenmeli (genellikle CPU cekirdek sayisinin 2-4 kati)
  • Baglanti zaman asimi: Kullanilmayan baglantilarin serbest birakilma suresi
  • Saglilk kontrolu: Havuzdaki baglantilarin duzenli olarak dogrulanmasi

Veritabani Indeks Stratejisi

Veritabani sorgularinin performansi buyuk olcude indeks yapisina baglidir. Eksik indeksler tam tablo taramasina (full table scan) yol acar ve sorgu surelerini dramatik olarak arttirir. Indeks stratejisi olusturulurken su ilkeler goz onunde bulundurulmalidir: WHERE, JOIN ve ORDER BY ifadelerinde sik kullanilan sutunlar indekslenmeli, cok sutunlu indekslerin sutun sirasi sorgu desenlerine gore belirlenmelidir. Ayrica kullanilmayan indeksler yazma performansini olumsuz etkiledigi icin duzenli olarak temizlenmelidir. PostgreSQL'de pg_stat_user_indexes, MySQL'de performance_schema bu analizler icin kullanilabilir.

Asenkron Isleme

Uzun suren islemlerin senkron olarak calistirilmasi, yanit surelerini ciddi olcude arttirir. Mesaj kuyrugu (RabbitMQ, Apache Kafka, Amazon SQS) kullanilarak su islemler asenkron hale getirilebilir:

  • E-posta ve bildirim gonderimi
  • Rapor ve dosya olusturma
  • Ucuncu parti API cagrilari
  • Veri donusum ve islemleri

Asenkron mimari, ayni zamanda sistemin dayanikliligini da arttirir. Bir servis gecici olarak kullanilamadiginda mesajlar kuyrukta bekler ve servis tekrar aktif olduğunda islenmeye devam eder. Bu yaklasim, mikro servis mimarilerinde servisler arasi gevşek baglantinin (loose coupling) saglanmasinda da kritik rol oynar.

Caching Katmanlari

Dogru yapilandirilmis bir caching stratejisi, sistem performansini on kat ve uzerinde artirabilir. Caching, farkli katmanlarda uygulanmalidir:

Katman Teknoloji Kullanim Alani TTL Onerisi
Tarayici Cache Cache-Control, ETag Statik dosyalar, API yanitlari Statik: 1 yil, API: 5-60 dk
CDN Cache Cloudflare, AWS CloudFront Statik ve yari-dinamik icerik 1 saat - 1 gun
Uygulama Cache Redis, Memcached Oturum, sorgu sonuclari, hesaplamalar 5 dk - 1 saat
Veritabani Cache Query Cache, Materialized View Sik tekrarlanan sorgular Veri degisimine bagli

Cache Invalidation Stratejileri

Cache yonetiminin en zor konusu, verilerin guncelligini saglamaktir. Uc temel yaklasim mevcuttur:

  • TTL (Time-To-Live): Belirli sure sonra otomatik gecersizleme. Basit ama tutarlilik garantisi dusuk.
  • Event-Driven Invalidation: Veri degistikce ilgili cache kayitlarinin aktif olarak silinmesi. Tutarlilik yuksek, karmasiklik da yuksek.
  • Versioned Keys: Cache anahtarlarina versiyon numarasi eklenmesi. Eski veriler dogal olarak zaman asimina ugrar.

Profiling ve Darbogaz Tespiti

Performans optimizasyonunda en kritik adim, darbogazi dogru tespit etmektir. Olcmeden yapilan optimizasyonlar genellikle yanlis noktalara odaklanir.

Profiling Araclari

  • Frontend: Chrome DevTools Performance paneli, Lighthouse, WebPageTest
  • Backend: py-spy (Python), async-profiler (Java/Kotlin), pprof (Go), dotTrace (.NET)
  • Veritabani: EXPLAIN ANALYZE, pg_stat_statements (PostgreSQL), Query Analyzer (MySQL)
  • Sistem: htop, iostat, vmstat, perf (Linux)

Darbogaz Kategorileri

Performans darbogazlari genellikle dort kategoride incelenir:

  1. CPU-bound: Yogun hesaplama islemleri. Cozum: algoritma optimizasyonu, paralel isleme.
  2. I/O-bound: Disk veya ag islemleri. Cozum: asenkron I/O, caching, batch isleme.
  3. Memory-bound: Yetersiz bellek veya bellek sizintisi. Cozum: nesne havuzu, lazy initialization, bellek profiling.
  4. Network-bound: Ag gecikmesi veya bant genisligi kisitlamasi. Cozum: veri sikistirma, protokol optimizasyonu, CDN.

Performans Butcesi Kavrami

Performans butcesi, uygulamanin performans metriklerinin asilmamasi gereken ust sinirlarini tanimlar. Bu sinirlar ekip tarafindan belirlenir ve CI/CD surecinde otomatik olarak denetlenir.

Ornek bir performans butcesi su sekilde tanimlanabilir:

  • Toplam JavaScript boyutu: maksimum 300 KB (sıkıstırılmıs)
  • Toplam CSS boyutu: maksimum 100 KB (sıkıstırılmıs)
  • LCP: maksimum 2.5 saniye
  • INP: maksimum 200 milisaniye
  • Toplam gorsel boyutu: maksimum 1.5 MB
  • API yanit suresi (p95): maksimum 500 milisaniye

Performans butcesi asildinginda CI/CD pipeline'i uyari verir veya derlemeyi basarisiz kilar. Bu yaklasim, performans regresyonlarinin uretime ulasmadan once tespit edilmesini saglar.

Yuk Testi ve Kapasite Planlama

Yuk testi, sistemin belirli trafik kosullari altindaki davranisini olcmek icin uygulanir. Farkli test turleri farkli amaclar icin kullanilir:

Test Turu Amac Suresi Yuk Profili
Smoke Test Temel islevsellik dogrulama 1-5 dk Dusuk yuk
Load Test Normal trafik altinda performans 15-60 dk Beklenen trafik
Stress Test Sistemin kirilma noktasini bulma 30-60 dk Artan yuk
Soak Test Uzun sureli kararliligi olcme 4-24 saat Normal yuk
Spike Test Ani trafik artisina tepki 15-30 dk Ani yuk artisi

k6, Gatling ve Locust gibi araclar, bu testlerin otomasyonu icin yaygin olarak tercih edilmektedir. Test senaryolari olusturulurken gercekci kullanici davranislari modellenmelidir. Ornegin bir e-ticaret uygulamasinda kullanicilarin yuzde 60'i urun listeleme, yuzde 25'i urun detay, yuzde 10'u sepete ekleme ve yuzde 5'i odeme islemleri gerceklestirir. Bu dagilim, yuk testinde dogru sekilde yansitilmalidir.

Kapasite planlamasi, yuk testi sonuclarina dayanarak sistemin gelecekteki trafik ihtiyaclarini karsilamak uzere kaynak planlamasi yapilmasini icerir. Mevsimsel trafik degisimleri, pazarlama kampanyalari ve organik buyume gibi faktorler bu planlamada dikkate alinmalidir.

Auto-Scaling Stratejileri

Bulut ortamlarinda auto-scaling, degisen yuke gore sistem kaynaklarinin otomatik olarak arttirilip azaltilmasini saglar.

Yatay ve Dikey Olcekleme

  • Yatay olcekleme (scale-out): Daha fazla sunucu eklenmesi. Kubernetes HPA (Horizontal Pod Autoscaler) veya AWS Auto Scaling Groups bu amacla kullanilir.
  • Dikey olcekleme (scale-up): Mevcut sunucunun CPU, RAM gibi kaynaklarinin arttirilmasi. Genellikle kisitli ve kesintiye neden olabilir.

Olcekleme Metrikleri

Auto-scaling tetikleyicileri dogru secilmelidir. CPU kullanimi tek basina yeterli olmayabilir. Onerilir metrikler sunlardir:

  • CPU kullanimi (yuzde 70 esik degeri)
  • Bellek kullanimi
  • Istek kuyrugu derinligi
  • Yanit suresi (p99)
  • Ozel uygulama metrikleri (aktif kullanici sayisi, islem kuyrugu boyutu)

APM Araclari ile Surekli Izleme

Application Performance Monitoring (APM) araclari, uretim ortaminda uygulamanin performansini gercek zamanli olarak izler. Piyasadaki baslica APM cozumleri sunlardir:

Arac Gucliu Yonleri Fiyatlandirma
New Relic Genis entegrasyon, AI destekli analiz Kullanima gore
Datadog Altyapi ve uygulama birlesik izleme Host basina
Elastic APM Acik kaynak secenegi, Elasticsearch entegrasyonu Kendi sunucunuzda ucretsiz
Grafana + Tempo Acik kaynak, esnek gorselilestirme Kendi sunucunuzda ucretsiz

APM araclari su temel verileri saglar:

  • Dagitik izleme (distributed tracing) ile istek yolculugunun uctan uca goruntulenmesi
  • Hata oranlarinin ve turlerinin izlenmesi
  • Veritabani sorgu performansinin analizi
  • Harici servis cagrisi surelerinin takibi

Performans Odakli Gelistirme Kulturu

Performans muhendisligi, yalnizca teknik bir konu degil ayni zamanda kulturel bir yaklasimdir. Ekip genelinde performans bilincinin olusturulmasi icin su uygulamalar benimsenmelidir:

  • Performans gozetimi (code review): Her pull request'te performans etkisinin degerlendirilmesi. Buyuk veri yapilari uzerinde dongu, gereksiz veritabani cagrilari ve bellek tuketimi gibi konular incelenmeli.
  • Performans metrikleri panolari: Ekibin performans metriklerini gercek zamanli gorebilecegi Grafana veya benzeri panolar olusturulmali. Bu panolar gelistirme ortaminda surekli eriselebilir olmali.
  • Performans hedefleri: Sprint ve ceyrek bazinda olculebilir performans iyilestirme hedeflerinin belirlenmesi. Ornegin "API yanit suresini p95 seviyesinde yuzde 20 dusurme" gibi somut hedefler konulmali.
  • Bilgi paylasimi: Performans konusunda duzenli teknik sunumlar ve dokumantasyon. Yasanan performans sorunlari ve cozumleri ekip ici bilgi tabaninda kayit altina alinmali.
  • Performans sampiyonlari: Her ekipten bir kisinin performans konusunda uzmanlasmasi ve ekip icinde bu bilinci yayginlastirmasi tesvik edilmeli.

Performans Regresyon Onleme

Performans kazanimlarinin korunmasi, elde edilmesi kadar onemlidir. CI/CD pipeline'ina entegre edilen otomatik kontroller, performans regresyonlarini erken asamada yakalar.

CI/CD Entegrasyonu

  • Lighthouse CI: Her commit'te otomatik Lighthouse taramasi ve skor karsilastirmasi
  • Bundle Size Check: JavaScript ve CSS bundle boyutlarinin onceki surum ile karsilastirilmasi
  • Benchmark Testleri: Kritik kod yollarinin benchmark testlerinin CI'da calistirilmasi
  • Yuk Testi Otomasyonu: Staging ortaminda otomatik yuk testlerinin tetiklenmesi

Bu kontroller, performans butcesi ile birlikte uygulandiginda performans regresyonlarinin uretim ortamina ulasmadan once tespit edilmesini saglar.

Smart Maple ile Performans Muhendisligi

Smart Maple olarak Ankara merkezli yazilim ekibimizle, projelerinizin performans muhendisligi sureclerini uctan uca yonetiyoruz. Mevcut uygulamalarinizin performans denetiminden yeni projelerin performans odakli mimarisine kadar her asamada deneyimli kadromuzla yaninizdayiz. Performans auditi, yuk testi altyapisi kurulumu, APM entegrasyonu ve olceklenebilir mimari tasarimi konularinda destek sunuyoruz.

Yillar icinde edindigimiz deneyim, performans sorunlarinin cogunun mimari tasarim asamasinda alinan kararlardan kaynaklandigini gostermektedir. Bu nedenle projenizin en basinda performans muhendisligi prensiplerini uygulamak, ileride olusabilecek maliyetli yeniden yapilandirma ihtiyacini ortadan kaldirir.

Performans sorunlariniz kullanicilarinizi etkilemeden once harekete gecmek icin bizimle iletisime gecebilirsiniz.

Related Articles

August 10, 2026

MLOps Rehberi: Makine Öğrenmesi Modellerini Production'a Taşıma

Giriş: MLOps Nedir ve Neden Önemlidir? Makine öğrenmesi modelleri geliştirmek günümüzde nispeten kolaydır. Açık kaynak kütüphaneleri kullanarak son derece başarılı modeller oluşturabiliriz. Ancak bu modelleri production ortamına taşıyarak, ölçeklendirebilir, güvenilir ve sürdürülebilir şekilde çalıştırmak tamamen farklı bir hikayedir. Araştırmalara göre, veri bilimcileri tarafından geliştirilen makine öğrenmesi modellerinin %87'si hiçbir zaman production ortamına ulaşmaz. Bu başarısızlı

Read More
August 9, 2026

LLM Fine-Tuning ve Özel Model Eğitimi Rehberi [2026]

LLM Fine-Tuning: Kurumsal Yapay Zeka Stratejisinin Temel Taşı Büyük dil modelleri (LLM), genel amaçlı metin üretimi ve anlama konusunda etkileyici performans sergiliyor. Ancak kurumsal ortamlarda belirli bir alan, terminoloji veya iş sürecine uyum sağlamaları gerektiğinde, genel bilgileri çoğu zaman yetersiz kalıyor. Bu noktada fine-tuning, yani ince ayar süreci devreye giriyor. Fine-tuning sayesinde mevcut bir temel modeli, kendi verileriniz ve ihtiyaçlarınız doğrultusunda özelleştirmek

Read More
August 8, 2026

Bilgisayarlı Görü Uygulamaları: Nesne Tespiti, OCR ve Endüstriyel AI

Bilgisayarlı Görü Uygulamaları: Endüstriyel ve Medikal AI'nin Temel Teknolojisi Bilgisayarlı görü, makine öğrenmesinin en etkili alanlarından biridir. Türkiye'de yaşanan dijital dönüşüm sürecinde, özellikle üretim, sağlık ve lojistik sektörlerinde görü tabanlı otomasyon kritik hale gelmiştir. Smart Maple olarak Ankara'da geliştirdiğimiz çözümler, son beş yılda 150+ kuruluşunun üretim verimliliğini ortalama %35 oranında artırmıştır. Bu rehberde, bilgisayarlı görü teknolojisinin iş değeri

Read More