Go Dilinde Concurrency

2,314 More

Projedeki Git Dosyaları Nasıl Silinir?

1 7,913 More

yTheme

4 2,694 More

Sunucu Güvenliği | SSH (Secure Shell) Kullanımı

2 2,169 More

Truemag

  • PHP
  • Golang
  • Laravel
  • Linux
  • SQL
  • SEO
  • WordPress
  • Diğer
    • Yazılım
    • Javascript
    • Css/XHtml/W3C
    • Genel
    • Tanıtım
    • Ajax
  • Home
  • ANASAYFA
  • HAKKIMDA
  • SPONSORLUK
  • ARŞİV
  • İLETİŞİM
  • BENİMLE ÇALIŞMAK İSTER MİSİNİZ?

Laravel | Veritabanı Sorgularını Analiz Etmek

laravel

Laravel çok geniş kapsamlı bir PHP çatısı. Bu nedenle de küçük projelerden ziyade büyük projelerde özellikle tercih edilmekte. Tabi proje büyüyünce dertleri de büyüyor. Özellikle de performansı artırmak için sistemde yapılan her veritabanı sorgusunu takip etmeniz, hesaba katmanız gerekiyor. İşte Laravel uygulamamızın yapmış olduğu bu veritabanı sorgularını laravel.log kullanarak nasıl analiz edebileceğimizi bu yazıda kısaca anlatmaya çalıştım.

Laravel Veritabanı Sorgularını İncelemek

Yukarıda bahsettiğim sorguları takip etmek içn Laravel/App/Providers klasöründerki AppServiceProvider.php dosyasına ufak bir müdahalede bulunacağız. Eğer başka herhangi bir müdahale yapmadıysanız dosyanın başlangıçtaki hali yorum satırları çıkarıldıktan sonra aşağıdaki gibidir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
 
class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        //
    }
 
    public function register()
    {
        //
    }
}

Dosyayı düzenleyerek şu hale getiriyoruz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 
namespace App\Providers;
 
use Illuminate\Support\ServiceProvider;
use DB;
use Log;
 
class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        DB::listen(function($query) {
            Log::info(
                $query->sql,
                $query->bindings,
                $query->time
            );
        });
    }
 
    public function register()
    {
        //
    }
}

Tüm işlem bu kadar. Artık projemizde yapılan tüm sorgular storage/logs/laravel.log dosyasına aşağıdaki gibi kaydedilmektedir.

1
2
3
4
5
[2017-11-03 10:14:26] local.INFO: select * from `posts` where `slug` = ? limit 1 ["deneme-yazi"]
[2017-11-03 10:14:27] local.INFO: select * from `photos` where `photos`.`post_id` in (?) [5]
[2017-11-03 10:14:27] local.INFO: select * from `specs` where `specs`.`post_id` = ? and `specs`.`post_id` is not null [5]
[2017-11-03 10:14:27] local.INFO: select * from `catalogs` where `catalogs`.`post_id` = ? and `catalogs`.`post_id` is not null [5]
[2017-11-03 10:14:27] local.INFO: select * from `settings`
Nov 3, 2017Erhan Yakut
Cloud Sunucu


hosting

Laravel | Konsola Girmeden Kolayca Cache TemizlemeE-ticaret Sitesi Yaparken Dikkat Edilmesi Gerekenler
You Might Also Like
 
Laravel ile Ziyaretçi Defteri Yapımı
 
Laravel Ajax Contact Form
Erhan Yakut
3 years ago Laravel, PHPLaravel, laravel log dosyası, laravel log tutma, laravel sorguları görme, laravel veritabanı2,138
Sponsorlar

sponsor

sponsor

sponsor

sponsor
Bağlantılar
  • Beyazıt Kölemen
  • Domatessuyu
  • Lezzetli Robot Tarifleri
  • Ofizzo
  • PHP Dersleri
  • Wordpress Hosting
Random Posts
Ramazan Bayramınız Mübarek Olsun!
Yemek Şenliği
Audio Post Format With Embedded Media And Without Sidebar
Ve İnsan – “O” an
yTheme v1.1 Daha Ucuz, Daha Stabil!
sdafasdf
Hakkımda

Bilişim Teknolojileri alanında içerik üretmek üzere oluşturulmuş olan Yakuter.com 2006 yılında Erhan Yakut tarafından hayata geçirilmiştir. devamını okuyun…

CLOUD SUNUCU DESTEĞİ
2006-2020 © Yakuter