WordPress

ile
Büyük Ölçekli Siteler





Hüseyin Berberoğlu · @hberberoglu
WP Günleri 2014

Ben Kimim?

  • Yazılım Geliştirici (2008-2014) 
  • Kurucu Ortak - Nefis Yemek Tarifleri (2007-....)
  • WordPress eklenti geliştirici (2009-....)


First commit



Büyük Ölçek Derken?


  • 5M+ aylık tekil
  • 13M+ aylık ziyaret
  • 49M+ aylık gösterim
  • 1.9M günlük gösterim


Büyük Ölçek Derken?


  • 38 aktif eklenti
  • wp_posts 93K+ kayıt 
  • wp_users 135K+ kayıt
  • toplam 4.4M+ kayıt


Nelerle?


  • 3 fiziksel sunucu (dedicated)
    • 1 load balancer (haproxy)
    • 3 web server (apache)
    • 1 varnish
    • 2 MySQL server


Nasıl?


  • Sunucu Optimizasyon/Konfigurasyonu
    • Web server optimizasyonu
    • MySQL Server optimizasyonu
  • Minimum MySQL isteği
    • Önbellekleme (Caching)
    • CDN Kullanımı
    • Şiir gibi kodlar :)


    Nasıl?


    • Web Sunucu (apache) Optimizasyonu
      • MaxClients
      • MinSpareServers
      • MaxSpareServers
      • KeepAlive


    Nasıl?


    • MySQL Server Optimizasyonu
      • query_cache_size
      • max_connections
      • table_cache
      • thread_cache_size


    Nasıl?


    Minimum MySQL İsteği
    Maksimum performans

    • Performans
    • Kullanıcı memnuniyeti
    • Googlebot memnuniyeti
    • Sunucu memnuniyeti
    • Düşük maliyet

    Önbellekleme = 


    Önbellekleme Tipleri


    • Opcode Caching
    • Tam sayfa önbellekleme
    • Object Caching
    • Fragment Caching


    Önbellekleme


    Opcode Caching / PHP Accelerators

    • APC
    • XCache
    • Zend Opcache


    Önbellekleme


    Tam Sayfa Önbellekleme

    • WP Super Cache
    • W3 Total Cache
    • Batcache


    Peki ama hangisi?


    Object Caching?



    wp_cache_set

    set_transient



    WordPress'te object caching zaten var!


    Ama kalıcı değil :(


    Kalıcı hale getirelim...


    define('WP_CACHE', true);



    Önbellekleme


    Persistent Object Caching

    • Memcached Object Cache Plugin
    • APC Object Cache Backend Plugin

    Fragment Caching

    Parçalı Önbellekleme



    Önbellekleme Yaklasımı



    • Ziyaretçiler
      • Tam sayfa önbellekleme
    • Giriş yapmış kullanıcılar
      • Fragment Caching
      • Object Caching



    Özetle


    • WP Super Cache vb.
    • Memcached Object Cache vb.
    • CDN
    • Varnish
    • Parçalı önbellekleme

    Plugin: Query Monitor






    https://codex.wordpress.org/High_Traffic_Tips_For_WordPress



    Bana Ulaşın



    huseyin@nefisyemektarifleri.com


    @hberberoglu




    Öneriler/Sorular?




    Teşekkürler

    Hüseyin Berberoğlu · @hberberoglu




    WP Günleri

    By Huseyin Berberoglu