Eğitim Platformu Bakım, İzleme ve Kapasite Çalışması
Sınav saatlerinde çöken bir eğitim platformu için izleme ajanı, 7 uyarı kuralı, canlı durum sayfası, kapasite planı, kesintisiz dağıtım ve yük altında yedek tatbikatı. Sınav provasında hata oranı %39,6'dan %0'a, SLO içindeki kapasite 15'ten 4.708 istek/sn'ye çıktı. Her sayı depodaki betiklerle ölçülüyor.

- Sektör
- Eğitim · konsept çalışma (ölçülmüş önce/sonra)
- Yıl
- 2026
- Teknolojiler
- Bakım & Destek, DevOps, İzleme & Uyarı, Node.js, SQLite, Yük Testi, Kesintisiz Dağıtım, Yedekleme
Konsept çalışma, çalışan ürün. Bu proje belirli bir müşteri için değil, uurstudios portföyü için baştan sona geliştirildi. Kod, testler ve ölçüm sonuçları gerçek ve kaynak kodda doğrulanabilir. Benzerini sizin markanız için de geliştirebilirim.
Problem
Sınav saatinde platform saniyede yalnızca ~16 istek karşılayabiliyor, öğrencilerin %40'ı zaman aşımına düşüyordu. Sunucunun kendi ölçtüğü yanıt süresi normal göründüğü için sorun fark edilmiyordu. Kök nedenler: 400 bin satırlık gönderim tablosunda indeks olmaması, soru başına sorgu atan notlandırma ve olay döngüsünü kilitleyen tek süreç. Dağıtımlar süreci durdurup başlattığı için her sürümde yüzlerce istek düşüyor, yedekler hiç doğrulanmıyordu.
Çözüm
Veri katmanında 5 indeks, UNIQUE kısıtla tek yazmada mükerrer kontrolü, bellekte cevap anahtarı önbelleği, hazır sorgular ve WAL kullanıldı. Aynı sonuçları ürettiği eşdeğerlik testiyle kanıtlandı. Uygulama süreç kümesi olarak çalışıyor; SIGHUP ile işçiler tek tek yenileniyor ve boşaltmada Connection: close ile keep-alive yarışı (ECONNRESET) giderildi. İzleme ajanı sağlık, hazırlık, sentetik öğrenci yolculuğu ve Prometheus metriklerini topluyor. 7 kural 'eşik + süre' mantığıyla çalışıyor; olay döngüsü gecikmesi kuralı, sunucu içi metriklerin göremediği kuyruğu yakalıyor. Uyarılar günlüğe ve webhook'a gidiyor; olaylar tespit süresi, süre ve en kötü değerle kaydediliyor. Durum sayfası bağımlılıksız tek HTML. Yük üreteciyle sınav provası ve kapasite taraması yapıldı. VACUUM INTO ile yük altında tutarlı yedek, bütünlük kontrolü ve geri yükleme tatbikatı eklendi; npm audit, nöbet kılavuzu ve otomatik aylık rapor hazırlandı.
Sonuç
Sınav provasında (60 sanal öğrenci, 35. saniyede dağıtım): başarılı istek/sn 16 → 4.073, p95 1.201 ms → 43 ms, hata oranı %39,6 → %0 (244 bin istek), dağıtım sırasında hata 446 → 0 (27 bin istek), erişilebilirlik %75 → %100. Kapasite: SLO içinde (p95 ≤ 500 ms) 15 → 4.708 istek/sn; 3.000 eşzamanlı öğrenci hedefinin 15,7 katı. Yedek: 3.800 istek/sn yük altında 61 MB yedek 254 ms'de alındı, yedekten dönüş 514 ms sürdü. İzleme, eski sürümdeki sorunu 6 sn içinde yakaladı.


Canlı demo
Tarayıcıda deneyin
Çalışan sürümün kendisi. İçinde gezinebilir, tam ekranda açabilirsiniz.


