vuralserhat86

optimization

27
10
# Install this skill:
npx skills add vuralserhat86/antigravity-agentic-skills --skill "optimization"

Install specific skill from multi-skill repository

# Description

Sistem ve akış optimizasyonu rehberi. 2025 AI-driven optimizasyon, darboğaz tespiti ve kullanıcı akış iyileştirmeleri.

# SKILL.md


name: optimization
router_kit: FullStackKit
description: Sistem ve akış optimizasyonu rehberi. 2025 AI-driven optimizasyon, darboğaz tespiti ve kullanıcı akış iyileştirmeleri.
metadata:
skillport:
category: operations
tags: [architecture, automation, best practices, clean code, coding, collaboration, compliance, debugging, design patterns, development, documentation, efficiency, git, optimization, productivity, programming, project management, quality assurance, refactoring, software engineering, standards, testing, utilities, version control, workflow] - observability


Optimization Skill - Sistem & Akış Optimizasyonu

Yazılım sistemlerini ve kullanıcı akışlarını en yüksek performans ve verimliliğe ulaştırma metodolojisi.
2025 AI-destekli gözlemlenebilirlik ve sistematik iyileştirme teknikleri.


📋 İçindekiler

  1. Optimizasyon Prensipleri (2025)
  2. Darboğaz Tespiti (Bottleneck Identification)
  3. AI-Driven Optimizasyon
  4. Modern Gözlemlenebilirlik (Observability)
  5. Frontend & Kullanıcı Deneyimi Optimizasyonu
  6. Backend & Veritabanı Optimizasyonu
  7. Sistematik İyileştirme Döngüsü
  8. Kontrol Listesi
  9. Yapma Listesi
  10. Mutlaka Yap Listesi

1. Optimizasyon Prensipleri (2025)

Prensip Açıklama
Measurement Over Guessing Ölçemediğin şeyi optimize edemezsin.
80/20 Rule (Pareto) Sorunların %80'i, kodun %20'sinden kaynaklanır.
Don't Optimize Early Önce çalıştır, sonra doğru çalıştır, en son hızlı çalıştır.
User-Centric Metrics Sadece teknik hız değil, algılanan hız (perceived performance) önemlidir.
AI-Assisted Analysis Karmaşık veri setlerini analiz etmek için AI araçlarını kullan.

2. Darboğaz Tespiti (Bottleneck Identification)

2.1 Sistematik Hata & Yavaşlık Tespiti

Darboğazları tespit etmek için şu adımları izle:

  1. Profiling: Kodun hangi kısımlarının CPU/Memory tükettiğini belirle.
  2. Tracing: İsteklerin (request) sistemler arasındaki yolculuğunu izle.
  3. Log Analysis: Hata ve yavaşlık örüntülerini (patterns) bul.
  4. User Flow Analysis: Kullanıcının takıldığı veya yavaşladığı "adım"ları tespit et.

2.2 Darboğaz İşaretleri

  • CPU Spikes: Yoğun matematiksel işlem veya sonsuz döngü.
  • Memory Leaks: Zamanla artan ve düşmeyen bellek kullanımı.
  • High Latency: Veritabanı sorguları veya dış API bağımlılıkları.
  • Lock Contention: Çoklu işlemlerde (concurrency) kaynak bekleme süreleri.

3. AI-Driven Optimizasyon

2025 yılında optimizasyon, manuel analizden AI destekli analize evrilmiştir:

  • AI Profiling: AI araçlarının kod tabanını inceleyip potansiyel performans sorunlarını önceden tahmin etmesi.
  • Automated Refactoring: Performans düşüren kod bloklarının AI tarafından "cleaner & faster" versiyonları ile değiştirilmesi.
  • Predictive Scaling: Gelecekteki yükü tahmin edip altyapıyı önceden hazılaması.

4. Modern Gözlemlenebilirlik (Observability)

4.1 OpenTelemetry ve Full-Stack Visibility

Sistemi sadece "izlemek" (monitoring) yetmez, "anlamak" (observability) gerekir:

  • Metrics: Zamana dayalı numerik veriler (örn: saniyedeki istek sayısı).
  • Traces: Tek bir isteğin sistemdeki tüm izi (Microservices/Distributed tracing).
  • Logs: Detaylı olay kayıtları.

4.2 Gözlemlenebilirlik Araçları

  • Prometheus & Grafana: Metrik görselleştirme.
  • Jaeger/Zipkin: Distributed tracing.
  • New Relic / Datadog: Full-stack APM (Application Performance Monitoring).

5. Frontend & Kullanıcı Deneyimi Optimizasyonu

5.1 Core Web Vitals (2025)

  • LCP (Largest Contentful Paint): En büyük içeriğin yüklenme süresi.
  • INP (Interaction to Next Paint): Kullanıcı etkileşimine verilen tepki hızı (FID'nin yerini aldı).
  • CLS (Cumulative Layout Shift): Sayfa düzenindeki kaymalar (göze hoş gelmeyen zıplamalar).

5.2 Teknikler

  • Static Replacement: JavaScript render yerine Server-Side Rendering (SSR) veya Static Site Generation (SSG).
  • Image Optimization: WebP/AVIF formatları, responsive sizes ve lazy loading.
  • Bundle Splitting: Kullanılmayan JavaScript'i yüklememe (Tree shaking).

6. Backend & Veritabanı Optimizasyonu

6.1 Database Query Optimization

  • Indexing: Doğru kolonlara index eklemek sorgu hızını 100x artırabilir.
  • N+1 Avoidance: Tek tek sorgu atmak yerine "include" veya "join" kullanmak.
  • Query Caching: Sık değişmeyen verileri Redis gibi memory-store'larda tutmak.

6.2 Konvansiyonel Teknikler

  • Connection Pooling: Veritabanı bağlantılarını açık tutup tekrar kullanmak.
  • Asynchronous Processing: Zaman alan işleri (e-posta gönderimi vb.) arka plana (background jobs) atmak.

7. Sistematik İyileştirme Döngüsü

graph LR
    A[Measure] --> B[Analyze]
    B --> C[Optimize]
    C --> D[Verify]
    D --> A
  1. Measure: Mevcut durumu ölç (Baseline).
  2. Analyze: Darboğazı ve nedenini bul.
  3. Optimize: En büyük etkiyi yaratacak değişikliği yap.
  4. Verify: Değişikliğin performansa etkisini doğrula (Regression test).

8. Kontrol Listesi

  • [ ] Darboğaz teknik verilerle (metrics) doğrulandı mı?
  • [ ] Erken optimizasyon (premature optimization) yapılmadığından emin misin?
  • [ ] Yapılan değişikliğin rollback planı hazır mı?
  • [ ] Değişiklik sonrası "algılanan performans" (perceived performance) ölçüldü mü?
  • [ ] Yeni bir darboğaz yaratılmadığı test edildi mi?

9. Yapma Listesi

❌ Ölçüm yapmadan kodu değiştirme.
❌ Sadece benchmark sonuçlarına bakarak (gerçek kullanıcı verisi olmadan) karar verme.
❌ Tek seferde çok fazla parametreyi optimize etmeye çalışma.
❌ "Daha hızlı" uğruna kod okunabilirliğini (readability) feda etme.


10. Mutlaka Yap Listesi

✅ 80/20 kuralına odaklan; en çok kullanılan akışları iyileştir.
✅ OpenTelemetry standartlarını kullanarak sistemini şeffaf hale getir.
✅ AI araçlarını veri analizi ve kalıp tespiti (pattern detection) için kullan.
✅ Kullanıcı flow analizleri ile "hissedilen" yavaşlıkları öncelikle gider.
✅ Her optimizasyon sonrası regression testleri çalıştır.


Son Güncelleme: Aralık 2025
Optimization v1.1 - Enhanced

🔄 Workflow

Kaynak: Google SRE Book - Performance & Brendan Gregg's Methodology

Aşama 1: Baseline & Profiling

  • [ ] Metric Selection: Neyi optimize edeceksin? (Latency, Throughput, Saturation, Error Rate).
  • [ ] Baseline Measurement: Optimizasyon öncesi "Before" verisini kaydet (Rakam yoksa başlama).
  • [ ] Profiling: CPU (Flamegraph), Memory (Heap dump) veya I/O analizini yap.

Aşama 2: Optimization Cycle

  • [ ] Hypothesis: "X'i değiştirirsem Y kadar hızlanır" hipotezini kur.
  • [ ] Small Steps: Tek seferde tek bir değişiklik yap (Atomik commit).
  • [ ] Verification: Değişiklik sonrası tekrar ölç ("After" verisi). Hedefe ulaşıldı mı?

Aşama 3: Prevention

  • [ ] Regression Test: Performans testini CI sürecine ekle (Load testing).
  • [ ] Alerting: Metrikler tekrar kötüleşirse haber verecek alarmları kur.
  • [ ] Scalability: Dikey (Vertical) yerine Yatay (Horizontal) ölçekleme imkanlarını değerlendir.

Kontrol Noktaları

Aşama Doğrulama
1 Optimizasyon kodu daha karmaşık/okunaksız hale getirdi mi? (Trade-off)
2 Yerel ortamda (Local) yapılan ölçüm Prod ile tutarlı mı?
3 Bir darboğazı çözerken yenisi yaratıldı mı (Bottleneck shifting)?

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.