WordPress ile Yüksek Trafik

Performans
Optimizasyon
Geliştirme



Hüseyin Berberoğlu · @hberberoglu
WPFest 2020

Ben Kimim?


  • Ege Üniversitesi (2004-2008)
  • Nefis Yemek Tarifleri (2007-...)
  • Java Yazılım Uzmanı (2008-2014)
  • Nefis Yemek Tarifleri (2014-...)


Siz?



  • WordPress sitesi olanlar
  • Eklenti yazanlar
  • Bir WordPress'i birden fazla sunucuda çalıştıranlar
  • Daha önce "cache" kavramını duyanlar
  • Cache kavramını bilenler

https://profiles.wordpress.org/hberberoglu/


First commit
WP Favorite Posts


https://plugins.trac.wordpress.org/changeset/96842/wp-favorite-posts

Yüksek Trafik?

  • 17M+ tekil ziyaretçi
  • 1M+ aktif uygulama kullanıcısı
    (Android: 5M+ indirme, 4.8 puan)  
  • 500bin+ fazla tarif, binlerce yazar,
    milyonlarca üye
  • Türkiye'nin en çok ziyaret edilen
    57. web sitesi (SimilarWeb)


Büyük Ölçek?


  • 38 aktif eklenti
  • wp_posts 6.5M+ kayıt
  • wp_comments 2.5M+ kayıt
  • toplam 100M+ kayıt
  • 34GB veritabanı boyutu
  • Günlük ortalama 10 milyon request

Başlangıç



👍


Trafik Geliyor


  • 10 sayfa gösterimi/gün: sorun yok
  • 1000 sayfa gösterimi/gün: sorun yok
  • 10.000 sayfa gösterimi/gün: yavaşladı
  • 100.000 sayfa gösterimi/gün: çok yavaşladı
  • 1 milyon sayfa gösterimi/gün: açılmıyor
  • 10 milyon sayfa gösterimi/gün -
    WordPress ile olur diyenler?



Neden yavaşlıyor?

Kaynak az (CPU vb)
Sayfa üretim süresi

şerit az

araba yavaş

Ne yapmalı?


Kaynakları arttıralım


  • Hosting'de üst pakete geçme
  • Yüksek kaynağa sahip VPS, Cloud sunuculara geçme
  • Dedicated makinelere geçiş


veya Managed Hosting

Daha İyisi






Optimizasyon

Sayfa Üretim Süresi


Üretim süresini etkileyenler;

  • Cache kullanım durumu
  • Kullanılan tema 
  • Aktif eklentiler
  • Sunucu/hosting (kaynak) özellikleri
  • Sürekli takip

Standart WordPress

/tarifler/

  1. web server - nginx
  2. application server - php-fpm
  3. php kodları çalışır:
    WordPress, eklentiler, tema...
  • MySQL isteği
  • MySQL isteği
  • MySQL isteği
  • MySQL isteği
  • MySQL isteği
  • MySQL isteği

Cache Eklentili WordPress


/tarifler/



Minimum MySQL isteği 

= 

Maksimum performans

Cache Eklentisi Önerisi



WordPres Core Contributor


Cache Eklentisi Önerisi


WP Super Cache

W3 Total Cache



Proxy Cache



varnish cache ile ilgili görsel sonucu 

Object Caching


Eklenti Önerileri


Eklenti/Tema Seçimi

  • Yazılan kodun kalitesi
  • Yazan kişi
  • Kullanım sayısı
  • Güncellik
  • Puan



CDN Kullanımı







https://gtmetrix.com/why-use-a-cdn.html

CDN Kullanımı



CDN Önerileri

cloudflare logo ile ilgili görsel sonucu
(CloudFlare CDN'den fazlası)

  • Medianova
  • Akamai
  • Cdn77
  • Fastly

WordPress Geliştirme


  • WordPress'i güncel tutun

  • WordPress'in çekirdek koduna müdahale etmeyin

  • Geliştirmelerinizi eklenti halinde yapın

  • WordPress Codex'i okuyun

https://codex.wordpress.org/Writing_a_Plugin

Detaylar için: 
PHPKonf / Modern WordPress Geliştirme
Mustafa Uysal

Sunucu/Hosting Özellikleri

  • PHP 7+ kullanın
  • SSD olmazsa olmaz
  • Yüksek hızlı CPU kullanın
    3GHz ile 4Ghz çok fark ediyor
  • Memcached/Redis gibi bir kalıcı cache kullanın
  • MySQL'i optimize edin
  • MySQL'i ayırın, farklı sunucuya kurun
  • Daha ileri seviyede MySQL replication şart
    (HyperDB eklentisi ile yapabilirsiniz)


Sürekli Takip

Query Monitor eklentisi

Managed WordPress Hosting


wordpress barındırma özelliklerihttps://www.websitehostingrating.com/tr/siteground-vs-wp-engine/

Peki ya NYT?

nyt stack
https://dev.nefisyemektarifleri.com/

Son Olarak



High Traffic Tips For WordPress

https://codex.wordpress.org/High_Traffic_Tips_For_WordPress



Teşekkürler


Twitter: @hberberoglu


CV'leri bekliyorum :)



Made with Slides.com