Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Yavaş Sorguları Yakalayan ve Göç İşlemini Otomatik Oluşturan Ücretsiz Laravel Paketi Geliştirdim
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Yavaş Sorguları Yakalayan ve Göç İşlemini Otomatik Oluşturan Ücretsiz Laravel Paketi Geliştirdim

Yazılım

Yavaş Sorguları Yakalayan ve Göç İşlemini Otomatik Oluşturan Ücretsiz Laravel Paketi Geliştirdim

teknomers
Son güncelleme: 13 Haziran 2026 17:38
teknomers
Paylaş
Paylaş

Üretim veritabanınız yavaş. Bunun farkındasınız. Kullanıcılarınız da. Ancak, ne zaman başladığını ya da hangi deploy’un bu duruma yol açtığını bilmiyorsunuz.

Dün yapılan deploy bazı sorguları 4 kat yavaşlattı. Telescope, “mevcut durumu” gösteriyor — ancak gerileme hakkında bilgi vermiyor. Pulse, “sorgular yavaş” diyor — ama neyin değiştiğini söylemiyor. Git loglarında derinlemesine araştırmak ve EXPLAIN komutunu manuel olarak çalıştırmak zorunda kalıyorsunuz.

QueryGuard‘ı bu soruya yanıt vermek için geliştirdim: “Hangi deploy, hangi sorguyu yavaşlattı?”


Problem

Diyelim ki saat 15:00’te bir deploy yaptınız. 18:00’de hata izleme sisteminiz, artan zaman aşımı istisnalarını gösteriyor. Telescope’u kontrol ediyorsunuz — sorgular şu an iyi görünüyor. Git geçmişini kontrol ediyorsunuz — 15:00’den sonra 47 commit yapılmış. 10 sorguya manuel olarak EXPLAIN uyguluyorsunuz. Stres.

Bu, “üretim dedektifliği” tarzı bir süreç. Her ekip bunu yaşıyor. Çoğu, durumu çözmek için:

  1. “Bilinen yavaş sorgular” listeleri tutmak
  2. Ayrı bir sorgu izleme kurmak (genellikle pahalı SaaS, genellikle APM)
  3. Geliştirme ortamında slower:analyze komutunu çalıştırmak (üretim kalıplarını kaçırır)
  4. Yavaş deploy’ları kabullenmek ve hiç bir şey yapmamak

QueryGuard, sizin için dedektiflik işini yapar.


Ne Yapar

Ücretsiz Laravel paketi kurun:

composer require queryguard/laravel

Hepsi bu kadar. Kurulum gerektirmiyor. Veritabanınıza otomatik olarak bağlanıyor.


Üç Şeyi Tespit Eder

1. Yavaş sorgular — her sorguyu izler, p95 değeriniz 500ms’yi geçtiğinde uyarı verir.

2. N+1 sorguları — aynı parmak izine sahip sorguların tek bir istekte tekrarlandığında tespit eder.

Warning: N+1: SELECT * FROM products WHERE id = ? [150 repeats in single request]
Location: app/Http/Controllers/OrderController.php:42

3. Eksik indeksler — WHERE ve JOIN koşullarını ayrıştırır, şemanızı kontrol eder, eksik olan bir indeks önerir.


AI Bölümü

php artisan queryguard:analyze {id} komutunu çalıştırın ve QueryGuard:

  1. Sorgu şablonunu ve EXPLAIN çıktısını alır
  2. Tablo şemanızı (kolonlar, indeksler, kısıtlamalar) okur
  3. Bağlamı Claude veya OpenAI’ye gönderir (API anahtarınız, maliyetiniz)
  4. Yapılandırılmış bir tanı ve çalıştırmaya hazır migration ile geri döner
$ php artisan queryguard:analyze slow-query-123

Diagnosis:
  Query was doing a full table scan of 2.1M rows.
  Missing composite index on (user_id, status).

Fix migration generated:
  php artisan queryguard:fix slow-query-123

Expected improvement:
  p95 latency: 1200ms to 120ms (~10x faster)


Gerçek Örnek

// OrderController.php
$orders = Order::with()->get();

foreach ($orders as $order) {
    $order->customer->name; // triggers N+1
}

QueryGuard, bunu otomatik olarak tespit eder:

N+1 Detected
Query:    SELECT * FROM customers WHERE id = ?
Repeats:  247 times in single request
Location: app/Http/Controllers/OrderController.php:18

Fix: Order::with('items', 'customer')->get();


Nasıl Çalışır

  • DB::listen ile bağlanır — kodunuzda hiçbir değişiklik gerektirmiyor
  • Her sorgunun parmak izini alır (tüm literal değerleri kaldırır, boşlukları normalleştirir)
  • Her istek için bellek içinde tamponlar — her sorguda veritabanına yazma işlemi yapmaz
  • terminating() yakalayıcı içinde kalıp tespit eder
  • Sadece sorunları ve toplama verilerini saklar, asla ham sorgu değerlerini tutmaz

Ek yük: dinleyici, kayıt modunda her sorguda 0.05ms’den daha az ek yük getirir. EXPLAIN ve şema denetimi yalnızca artisan komutları ile talep edildiğinde çalıştırılır, üretimde asla otomatik olarak çalışmaz.


Gizlilik

Parmak izleyici, her şey saklanmadan veya gönderilmeden önce tüm literal değerleri kaldırır. Bu, hiçbir ham değer geçmediğini doğrulayan özel bir CI testi ile kontrol edilir. Sadece select * from orders where user_id = ? gibi normalleştirilmiş şablonlar saklanır.


Kurulum

composer require queryguard/laravel
php artisan migrate
php artisan queryguard:report

Lakavel 10, 11, 12, 13 ve PHP 8.2+ desteği sunar.


Neden Ücretsiz?

Ücretsiz paket, tamamı ile işlevsel ve sonsuza kadar kullanılabilir. Sürekli izleme, kendi anahtarınızla AI analizi ve oluşturulan migration’lar alırsınız. Hesap açmanız gerekmez.

QueryGuard Cloud (ücretli, bekleme listesi açık) üretim geçmişi, deploy’tan gerileme izleme ve ekip uyarıları ekleyecektir — ayda 19$’dan başlayan fiyatlarla.

GitHub: https://github.com/wilfridterry/query-guard
Packagist: https://packagist.org/packages/queryguard/laravel

Bir şey çalışmıyorsa bir sorun açın. Geri bildirimler, gelecekte ne yapılacağına doğrudan yön veriyor.

Kaynak: Orijinal Makale

Contents
  • Problem
  • Ne Yapar
    • Üç Şeyi Tespit Eder
    • AI Bölümü
  • Gerçek Örnek
  • Nasıl Çalışır
    • Gizlilik
  • Kurulum
  • Neden Ücretsiz?
Laravel ile Prodüksiyon MCP Sunucusu Oluşturma
Redis öncelikli spatie/laravel-permission alternatifinin karşılaştırması
Ücretsiz bir harcama takip aracı geliştirdim ve nihayet gerçek kullanıcılar için yayına aldım.
DuckDuckGo bir arama motorundan daha fazlası olmak istiyor
Composer Güncellemesi Artık Güvenli Değil
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Mike Rugnetta ile Yaratıcı Sürecin ve Güvenilir Gücün Önemi
Sonraki Makale Dwarf Fortress’ta 100 Yeni Yaratıkla Macera Sizleri Bekliyor

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

2026’DAKİ EN İYİ 10 KRİPTO PARA İADE ŞİRKETİ – ZEUS KRİPTO İADE HİZMETLERİ İLE İLETİŞİME GEÇİN
Yazılım
Yeni Switch 1 Güncellemesi, Kullanıcıların Beklentilerini Karşılıyor
Oyun
Robinhood’un %10 İşten Çıkarma Notu: AI’ye Suç Atmak Yetmiyor
Genel
İngiltere’den Acil Zorunluluk: Sosyal Medya Hesabı İçin Kimlik ve Yüz Tarama!
Siber Güvenlik
Florida, TikTok’u Çocuklar için Sosyal Medya Yasağını İhlal Etmekle Suçladı
Liste
Yeni Başlık: “Yeni Gerçeklik: Başlangıç Evleri Neden Yok Oluyor?”
Genel
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?