Sistem Performans Analizi

21-22 Ocak 2026 | Donma ve Yavaşlama Sorunları

ÇÖZÜLDÜ
3
Kritik Sorun
OPTİMİZASYON
2
Önerilen İyileştirme
NORMAL
Sunucu
Kaynak Kullanımı

📝 Basit Anlatım (Herkes İçin)

Ne oldu? Akşam saatlerinde site yavaşladı ve şarkılar dondu.

Neden oldu?

  • Güvenlik duvarı sorunu: Şarkı dosyalarının şifreleme anahtarları (.key dosyaları) güvenlik sistemi tarafından engelleniyordu. Şarkı çalınamıyordu çünkü şifre çözülemiyordu.
  • Aşırı log gönderimi: Müzik çalar her işlemde sunucuya bilgi gönderiyordu (saniyede 7+ istek). Bu gereksiz yük oluşturuyordu.
  • Cache sorunu: Playlist dosyaları (.m3u8) her seferinde sunucudan alınıyordu, önbellekten gelmiyordu.

Ne yaptık?

  • .key, .m3u8, .ts dosyalarını güvenlik duvarı beyaz listesine ekledik
  • Cloudflare'da HLS cache kuralına .key dosyaları eklendi
  • Artık şarkılar düzgün çalıyor

🔧 Teknik Detaylar (Geliştiriciler İçin)

✅ ModSecurity .key Engeli (ÇÖZÜLDÜ)

Sorun: COMODO WAF Rule ID 210730, .key uzantılı dosyaları 403 ile blokluyordu.

Etki: 5,692 bloklanmış istek. HLS şifreleme anahtarları erişilemez → şarkı decode edilemiyor → donma.

Çözüm:

# /etc/httpd/conf/modsecurity.d/rules/comodo_free/userdata_wl_extensions
# Eklenen uzantılar:
.key/
.m3u8/
.ts/

Doğrulama: curl https://www.muzibu.com/storage/muzibu/hls/33594/enc.key → 200 OK

✅ Cloudflare HLS Cache Rule (ÇÖZÜLDÜ)

Güncellenen Kural:

Koşullar: URI Path contains "/hls/" OR ".ts" OR ".m3u8" OR ".key"
Edge TTL: 1 year
Browser TTL: 1 month
cf-cache-status: HIT ✅

⚠️ Aşırı Debug Log İstekleri (OPTİMİZASYON ÖNERİSİ)

Sorun: /api/muzibu/debug-log endpoint'i 3 saatte 75,108 istek aldı.

Sebep: player-core.js içinde serverLog() fonksiyonu 32 farklı yerde çağrılıyor:

  • scriptLoaded (her sayfa yüklemesi)
  • playSong, nextTrack, onTrackEnded
  • crossfade, genreRefill
  • Safari timeUpdate event'leri
  • ve daha fazlası...

Öneri:

  • Production'da sadece kritik hataları logla
  • Rate limiting ekle (örn: 1 istek/10 saniye)
  • Batch logging yap (biriktir, toplu gönder)

⚠️ .m3u8 Cache Bypass (OPTİMİZASYON ÖNERİSİ)

Sorun: Playlist dosyaları Cloudflare'da BYPASS oluyor.

curl -I https://www.muzibu.com/storage/muzibu/hls/33594/output.m3u8
cf-cache-status: BYPASS  ❌
set-cookie: XSRF-TOKEN=...
set-cookie: muzibu_session=...

Sebep: Laravel session middleware aktif → Set-Cookie header'ı → Cloudflare cache'lemiyor.

Öneri: HLS dosyalarını Laravel routing'den geçirme, statik olarak serve et.

📊 Sunucu Durumu (21 Ocak 20:00-23:00)

Kaynak Kullanımı

  • CPU: %0.7 (Normal)
  • RAM: 25GB / 251GB (Normal)
  • Disk: %42 (Normal)
  • Load Average: 1.90 (Normal)

HTTP İstekleri (Origin)

  • 20:00 → 86,671 istek
  • 21:00 → 102,822 istek (pik)
  • 22:00 → 89,103 istek
  • 5xx Hata: 1 adet (ihmal edilebilir)

☁️ Cloudflare Cache Drop Analizi

Grafikteki düşüş: ~21:00 civarında cache hit 7GB → ~0

Elenen Olasılıklar:

  • ❌ Cache Purge yapılmadı (audit log temiz)
  • ❌ Cache Rule değişikliği yok
  • ❌ Origin 5xx hatası yok

Olası Sebepler:

  • • Doğal trafik düşüşü (gece saatleri)
  • • Cloudflare edge cache geçici sorunu
  • • Development Mode geçici aktifleşmesi

🛡️ Güvenlik Kontrolü

✅ Hotlinking

Tespit edilmedi. Trafiğin %99'u kendi sitesinden.

✅ Malware Kalıntısı

8 Ocak'taki dosyalar silinmiş. Aktif tehdit yok.

📋 Sonraki Adımlar (Opsiyonel)

serverLog() optimizasyonu

Production'da gereksiz logları kapat, rate limiting ekle.

.m3u8 statik serve

Laravel session middleware'ini HLS route'larından kaldır.

Cloudflare Development Mode kontrolü

Audit log'da bu ayarın değişip değişmediğini detaylı incele.