Skip to content

Kasım 4, 2010

7

Apache mod_pagespeed İle Hız Optimizasyonu

Apache mod_pagespeed

Merhaba arkadaşlar, Bu yazımızda Google ‘ın gelişiminde kendisinin rol üstlendiği dün (03.11.2010)  Google Webmaster Central ‘da duyurduğu Apache HTTP Server ile kullanılabilen mod_pagespeed eklentisini incelemeye çalışacağız. Şimdilik temel olarak inceleyeceğiz ve sadece kendi makinamızda deneyip size sonuçları aktarmaya çalışacağız. Ancak mod_pagespeed kurulumu ve detaylı incelemeleri hakkında yazılarımız olacak.

mod_pagespeed Nedir?

mod_pagespeed, Apache HTTP Server 2.2 ve üzeri ile çalışan bir eklentidir. Google ‘ın Webmaster Central bloğunda yaptığı açıklamadan anladığımız kadarıyla geçen yıl (2009) sayfa yüklenme hızlarını artırmaya çeşitli page speed araçlarını ile soyunduğundan bu yana (sayfa yüklenme hızlarının arama algoritmasınında yer aldığınıda belirtmesiyle birlikte) gerek developer gerekse arayüz tasarımcılarına biraz fazla yüklendiğini anlamış olacak ki bu işi server-side halletmek için böyle bir araç geliştirdi. Tabiki bu işte sadece kendi çıkarı olduğunu söyleyemeyiz. Bizce Google ‘ı Google yapan kullanıcı deneyimi (wiki-en: User Experience) olayını artırma amacıyla için yapılmış bir çalışma.

Ayrıca yine blogda bahsedildiği üzere domain ve hosting hizmetleri konusunda iyi sayılabilecek firmalardan olan GoDaddy ile birlikte çalışıldığı ve GoDaddy serverlarında bu özelliklerin (mod_pagespeed) aktif olacak gibi görünüyor. GoDaddy hosting paketlerine buradan (http://sameurl.com/cc9uz affiliate bağlantısıdır) göz atabilirsiniz.

Neler Mevcut ?

Yine blogdan edindiğimiz bilgiye göre 15 adet optimizasyon mevcut olduğu söyleniyor. Şimdilik özet olarak listesini vermeye çalışacağız ilerleyen günlerde vakit buldukça detaylı olarak incelemeyi planlıyoruz.

  • add_instrumentation, eğer gözlerimiz ve ingilizcemiz yeterliyse Google ‘ın bu işe bakış açısını değiştirdiğini anlıyoruz. Çok güzel bir özellik olan Add Instrumentation, aktif edildiğinde sunucudan çağrılan her HTML dosyasına ekstra javascriptler ekliyor istemcinin (müşteri/kullanıcı) sayfanın yüklenmesinde ne kadar zaman harcadığını sunucuya gönderiyor. (Kesinlik bu tool ‘u inceleyip örnek yapılandırma ve detaylarını başlıca bir yazıda paylaşmak istiyoruz)
  • cache_extend, bu özellik dosya cacheleme özelliğini yine sitenizde hiç bir değişiklik yapmadan sizin yerinize sağlıyor. HTTP header’ı ve dosya yollarını değiştiriyor.
  • collapse_whitespace, bu özellikte HTML çıktısındaki taglar arasındaki tüm boşlukları ve boş satırları siliyor ve sunucudan daha az veri tranferi yapılmasını sağlıyor.
  • combine_css, bu özellik sayfanızda ayrı ayrı dahil ettiğiniz css dosyalarınızı birleştirip tek bir dosya haline getiriyor. (Tarayıcı çıktısında sadece bir css dosyası dahil edilmiş görünüyor)
  • combine_heads, bu özellik site içinde (HTML de) brden çok <head> tagı kullanırsanız bunları tek bir yere birleştiriyor.
  • move_css_to_head, bu özellik <body> tagından sonra dahil ettiğiniz css leri <head> tagı arasına alır.
  • elide_attributes, sadece doctype ‘I XHTML olarak tanımlanmış sayfalarda kullanılabilen bu özellik tagların varsayılan özelliklerini kaldırarak trafik (bant genişliği) optimizasyonu sağlar.
  • inline_css, bu özellik aktif edildiğinde harici olarak (<link> tagı ile)dahil ettiğiniz stilleri sayfanızda gösterir ve <link> tagını kaldırır.
  • inline_javascript, bu özelliği aktif ettiğinizde inline_css gibi harici js dosyalarınızı <head> tagı içerisinde <script> tagına yazar.
  • outline_css, inline_css ‘in tam tersini yapar.
  • outline_javascript, inline_javascript ‘in tam tersini yapar.
  • remove_quotes, tagların attribute lerinde kullanımına ihtiyaç duyulmayan tırnak (‘ ve “) işaretlerini kaldırır.
  • remove_comments, HTML içerisindeki yorumları (<!-- --> tagları arasındaki yazılar ve bu taglar) kaldırır.
  • rewrite_css, CSS kodlarını (<style> tagı içerisindeki ve <link> ile dahil edilenleri) optimize ederek yeniden yazar (boşlukları ve satır başlarını kaldırır)
  • rewrite_images, belirlediğiniz kriterlerdeki (boyut, çözünürlük vb) imajları (<img> taglarını) base64 olarak sayfaya dahil eder ve ekstra HTTP connection açmaktan kurtulursunuz.
  • rewrite_javascript, rewrite_css ‘e benzer biçimde çalışır. Gereksiz boşluk ve satır başlarını kaldırır.

Kısıtlamalar Neler ?

  • Apache HTTP Server v: 2.2
  • CentOS/Fedora (32-bit veya 64-bit)
  • Debian/Ubuntu (32-bit veya 64-bit)

Sonuç

Sonuç olarak Google ‘ı bu konuda tekrar tebrik etmek gerekiyor. Dolaylı olarak kazanç sağlayacak olsa da yaptığı şey kullanıcı dostu olmak. GoDaddy ‘de daha az trafik (bant genişliği) ile aynı dosyaları serve edebileceğinden mutlu olması lazım. Tabi ki bu işlemleri yapmak sunucuyu hiç yormayacak değil. Hosting firmaları için bu sorun değil çünkü çoğunlukla sistem kaynakları %100 kullanılmaz ve kullanılsa bile sayfa yüklenme hızlarını artırmaya bu kadar yarayamayabilir. Güzel konfigüre edildiğinde bant genişliğinizi azaltacak, ziyaretçi (Google arama algoritmasından dolayı) ve sayfa görüntüleme sayısını (kullanıcı sayfaların yüklenmesini beklemekten sıkılmayacak) artıracak bir özellik olarak kullanabilirsiniz.

Ayrıca bugün Google ‘ın konuyla alakalı blog duyurusunu benimle paylaşan Hüseyin AKYOL ‘a buradan teşekkürlerimi iletmek istiyorum.

Kaynaklar

Webmaster Central Bloğu Duyurusu
Page Speed Araçları
Page Speed Download
mod_pagespeed testleri

Apache mod_pagespeed Linux Üzerinde Kurulumu >>

Toplam 7 Yorum Yorum Yaz
  1. Kas 5 2010

    Eline sağlık.

    Güzel bir analiz olmuş.

    Burdan anlaşılıyor ki google daha hızlı web sayfaları konusunda web masterlara yardımcı olmaya devam edecek. Bu tool ile bir çok işi kodlama tarafından arındırmış olacağız.

    Deneyip sonuçlarını görmek lazım.

    Cevapla
  2. Ercan
    Tem 29 2011

    Çok yararlı bir paylaşım yapmışsınız teşekkür ederim. Merak ettiğim bir husus var. Bu modülü kurduğumuzda anladığım kadarıyla Firefox Page Speed eklentisinin bize verdiği tavsiyelerin bir çoğu otomatik olarak optimize edilecek değilm mi? Ben sitemde orda söylenen herşeyi yaptım bir tek gzip ile js sıkıştırmayı yapamadım? Acaba bu modülün içerisinde javascript gzip sıkıştırma özelliği mevcut mu?

    Cevapla
    • Tem 29 2011

      Merhaba,

      İlginize teşekkür ediyoruz.

      Evet, page speed ve yslow kriterlerinin bir çoğunu yapmaya çalışıyor. Mod_PageSpeed modülünde versiyon güncellemesi yapıldı ancak sanırım header ile alakalı kısımları barındırmıyor. Yani sizinde bahsettiğiniz gzip sıkıştırması, e-tag ayarları, expire ayarları vb. Bunlar için .htaccess direktifi kullanabilirsiniz.

      # belirtilen uzantılar için sıkıştırma kullan ve etagı kapat
      
      SetOutputFilter DEFLATE
      Header set Cache-Control "max-age=2666496, public"
      FileETag None
      
      
      # belirtilen uzantılar için expire kullan
      
        
             ExpiresActive on
            ExpiresDefault "access plus 1 month"
         
      
      
      # PHP dosya çıktıları için sıkıştırma kullan
      
        php_value output_handler ob_gzhandler
      
      

      PHP için sıkıştırma aslında böyle kullanılmaması gerekiyor. Ziyaretçinin gzip destekleyip desteklemediği kontrol edilmesi lazım. Konuyla alakalı tüm bu optimizasyonları kapsayan yazı oluşturup orada tartışabiliriz.

      Cevapla
  3. Erhan
    Ara 4 2012

    Merhaba.

    Yazı için teşekkürler. Şu anda sitemin sunucusuna kurulumu yaptım ancak kurulumun gerçekleşip gerçekleşmediğini test etmek istiyorum.
    Bunu test etmek için ne yapmalıyım?

    Cevapla
  4. Ercan DAĞ
    Kas 3 2013

    Öncelikle mekalede emeği geçenlere teşekkürlerimi sunmak isterim başarılı bir anlatım olmuş.

    Mod pagespedd’i birebir yoğun sunucularda kullanma fırsatımız olmadı herzaman daha çok gelişmesini ve yeni sürümlerinin çıkmasını beklemekteydik görünüşe göre artık kullanmaya başlıyacağız

    Erhan rumuzlu blog üyesine;

    Kurulu olan apache modüllerine aşağıdaki kod ile ssh server root yetkiniz ile bakabilirsiniz

    httpd -M
    veya
    apachectl -t -D DUMP_MODULES

    Saygılarımla

    Cevapla

Trackbacks & Pingbacks

  1. Apache mod_pagespeed Linux Üzerinde Kurulumu | Web Projeleri Optimizasyonu ve Benchmark
  2. Google Apache Mod_Pagespeed Konfigürasyonu | Web Projeleri Optimizasyonu ve Benchmark

Sizin fikriniz nedir? Lütfen aşağıdaki formu kullanarak yorum yapın.

(gerekli)
(gerekli)