WordPress Web Sitenizi Yüksek Trafik için Ölçeklendirmenin 11 Etkili Yolu
Yayınlanan: 2020-02-08Yavaş bir web sitesi veya zaman aşımına uğramış bir sunucu, herhangi bir işletme ve marka itibarı için ideal değildir. Bu tür kesintilerin karlılık veya güven üzerinde zararlı etkileri olabilir. Web siteleri, reaktif olmaktan ziyade proaktif olmaları için yoluna çıkan yeni trafiği tahmin edebilmeli ve hazırlayabilmelidir. Bunun nedeni, trafikte geçici bir artışı neyin tetikleyebileceğini asla bilememenizdir. Örneğin, bir blog çalıştırırsanız, viral hale gelen bir gönderi olabilir. Çoğu internet kullanıcısı sabırsız olduğundan, yalnızca birkaç saniyelik kesinti binlerce dolar kaybına neden olabilir. Bununla birlikte, WordPress yüksek hacimli trafiği yönetme konusunda oldukça yeteneklidir, ancak birçok beklenmedik durum, yapılandırma ve kurulum kasıtlı olmalıdır. Bir bakalım, olur mu?

- WordPress trafiği işlemez. Hostlar (Hosting şirketleri) yapar!
Bir web sitesi motoru olarak WordPress, potansiyel yüksek trafiğinizi yönetmekten esas olarak sorumlu değildir. Trafik işleme yeteneği büyük ölçüde barındırma platformunuza bağlıdır. Ne yazık ki, WordPress web sitenizi barındıran sanal bir makine, tek bir örnekle ilgili bir sorun web siteniz için hizmet kaybına neden olabileceğinden, tek bir arıza noktası olabilir. Nitekim, bazı barındırma sunucuları trafik eşiğinizi sınırlarken, diğerleri trafiğiniz belirli bir eşiğin üzerine çıktığında hesabınızı yükseltmenizi gerektirir. Peki, barındırma sağlayıcı kontrol listemizde hangi temel bilgiler olmalıdır:
- İlk olarak, sağlayıcınızın en son WordPress sürümlerini zahmetsizce barındırdığından emin olun.
- İkinci olarak, sınırınızı (çok daha fazla trafik almaya başladığınızda sitenizin aktarım hızı sınırı ve bant genişliği) aşmanıza izin verip vermeyeceklerini kontrol edin.
- Düşük trafikli bir projeye başlarken paylaşılan web barındırma harika olsa da, bir kez başladığınızda sanal bir özel sunucuya (VPS) geçmeniz gerekir. Sağlayıcınız bir VPS için hükümlere sahip olmalıdır.
- Müşterilerin ihtiyaçlar değiştikçe kolayca yükseltme yapabilmeleri için katmanlı planlarda dikey ölçeklendirmeye izin verilmelidir. Performansı artırmak için kaynakları ölçeklendirmek, esas olarak dikey ölçeklendirme ile elde edilebilir. Özünde, WordPress web sitenizi çalıştıran sanal makinenin boyutunu artırarak.
- Web sitenizi çeşitli katmanlara ayırdığı için yatay ölçeklendirmenin de mevcut olup olmadığını kontrol edin. Örneğin, ön uç sunucusunu, veritabanı sunucusunu, proxy katmanını ve görüntü katmanını ayırarak kaynakları ölçeklendirmeyi kolaylaştırır.

Hızlı İpucu: Yapabiliyorsanız, yüksek trafikli web sitenizi yavaşlatabileceğinden, yüksek performanslı WordPress sunucunuza cPanel/WHM (WebHost Yöneticisi) dağıtmaktan kaçının.
- Web sitenizde Elasticsearch'ü kullanma
Özellikle MySQL ve MariaDB, arama yetenekleriyle ünlü değildir. Onlar da bu güç düşünülerek oluşturulmamıştı ve WordPress ekibinin arama mantığını geliştirememesinin nedenlerinden biri de bu. Java ile yazılan ElasticSearch, arama ve analitik amaçlı dağıtılmış, hızlı, RESTful Arama motoru yazılımıdır. Bununla birlikte, WordPress veritabanının sorgulanmasını hızlandırmak için Elasticsearch kullanılabilir. Özellikle sitenizin veritabanı içeriğinin bir dizini oluşturarak, ElasticSearch bu dizini aynı aramayı yaparken bir MySQL sorgusunun yapabileceğinden çok daha hızlı aramak için kullanılabilir. Elasticsearch, MySQL yerine Elasticsearch ile sorgu sonuçları oluşturmak için ElasticPress eklentisi yüklenerek de entegre edilebilir. Bu, performansı artırabilir ve sizi yüksek trafikle başa çıkmak için daha iyi ayarlayabilir.
- Daha Az Grafik ve daha fazla optimize edilmiş medya
Trafikteki ani artışlar sırasında web sitesi arızasını önlemek için web sitenizin tasarımında sahip olduğunuz grafik sayısını azaltabilirsiniz. Medyanızı optimize etme olasılığının ideal olarak sitenizin daha hafif olmasına ve daha hızlı yüklenmesine yardımcı olması beklenir. En iyi sayfa hızı performansını elde etmek, trafiğin yoğun olduğu dönemlerde iyi bir güvenlik ağı olabilir. Aklıma üç temel uygulama geliyor.
- Görüntüler ve gecikmeli yükleme için sıkıştırma eklentilerini kullanabilirsiniz, çünkü bu yalnızca ziyaretçilere web sayfalarınızın bu bölümlerine ulaştıklarında ve daha erken değil, görüntüler sunacaktır.
- Mümkünse, sitenizdeki medyayı yalnızca temel görsellerle sınırlandırdığınızdan emin olun.
- Ayrıca YouTube ve Vimeo gibi hizmetlerden videoları sitenize gömün! Ardından tam videoları sitenize yükleyin.
Devamını Oku : WordPress Web Sitesinin hızını artırmak için ipuçları
- Daha Az Eklenti
Şu ana kadar temamız 'az daha fazladır' gibi görünüyor. Ama üzülmeyin, hala harika ipuçlarımız var! İdeal olarak, WordPress Eklentileri, yüklü WordPress Temanız tarafından "çağrılan" dosyalardır. Eklentiler, işlevselliği kolayca genişletebilir veya web sistemine yeni bir özellik ekleyebilir. Ancak kötü kodlanmış bir eklenti, gerekmediğinde bile genellikle çok fazla şişkinlik yükler.
Teknik olarak, tema veya eklenti içermeyen çıplak bir örnek, yük altında oldukça iyi performans gösterebilir. Ama kim çıplak bir tema ister? Ek olarak, çoğu eklenti gereksiz yere karmaşık ve şişkin olabilir. Bu, sitenizi yavaşlatan sayfa yükleme hızını artırır. Bu nedenle, temanızın veritabanına çok fazla sorgu yapmasını önlemek için sitenizi eklentilerle aşırı yüklemekten kaçının, bu da sunucunuzda etkinliğin artmasına neden olabilir ve bu da olası sunucu arızasına neden olabilir. Anahtar noktaları:
- Kullanılmayan eklentileri silin
- İhtiyacınız olmayan eklentileri kapatın.
- Gerekli eklentileri kullanın. Gereksiz veya deneysel olanlardan kaçının.
- Boyutlarını ve kalitelerini vb. değerlendirmek için eklentilerinizi düzenli aralıklarla denetleyin.
Devamını Okuyun : WordPress Eklentilerinin kullanımı güvenli midir?
- Bir İçerik Dağıtım Ağından Yararlanma
Bir web sistemini farklı coğrafi konumlarda barındırmak göründüğü kadar basit değildir. Web sistemi, ziyaretçinizin coğrafi olarak ne kadar uzakta olduğuna bağlı olarak farklı yükleme hızlarıyla karşılaşabilir. Böyle zamanlarda CDN çok yardımcı oluyor. CDN, web sitesi kaynaklarınızın önbelleğe alınmış bir sürümünü dünyanın farklı yerlerindeki çeşitli sunucularda saklar. Bu, trafik fazlalıklarının oluşmamasını sağlayarak sunucunuzun performansını en üst düzeye çıkarmaya yardımcı olur. Bir CDN kullanmak, dünyanın her yerinden ziyaretçileriniz için web sitenizin yükleme hızını azaltabilir.
Devamını Okuyun: WordPress Web Sitenizi Bulut Platformuna Taşıyın
CDN, resimler, JavaScript ve CSS dosyaları gibi statik içeriği önbelleğe alarak bir sunucunun işlevlerini geliştirir. Böylece, bir ziyaretçi web sitenizi ziyaret ettiğinde, onlara en yakın sunucudan hizmet verilir ve bu da web sitenizin daha hızlı yüklenmesini sağlar. CDN, web sitesi dosyaları dünya çapında birkaç farklı veri konumuna dağıtıldığından ve kaydedildiğinden, yüksek trafikte sunucu yüklenmesinden kaçınmaya yardımcı olur. CDN avantajlarını özetlemek gerekirse:
- Site hızı artar; daha hızlı yüklenir.
- Yük, barındırma sağlayıcınız ve CDN platformu arasında paylaşıldığından daha fazla trafiği yönetmenize olanak tanır.
- CDN, web sitenizde bant genişliğinden tasarruf etmenize yardımcı olur.
- Birden çok istek birden çok sunucu arasında paylaşılacağı için CDN, web sitenizi hizmet reddi (DDOS) saldırılarına karşı korumaya yardımcı olur.
En popüler 'ücretsiz' CDN alternatifi, WP sitenizde kullanabileceğiniz Cloudfare'dir. Cloudflare Free CDN, aşağıdakilerden dolayı harikadır:
- Bant Genişliği Ücreti Yok: Çoğu CDN hizmetinin aksine, Cloudflare trafik için sizden ücret almaz. Çoğu CDN, önbelleğe alınmış içeriğinizi CDN'lerinden temizlemek için sizden ücret alabilir.
- Küresel Kapsam: Dünya genelinde 100'den fazla veri merkeziyle Cloudfare, çeşitli değişim noktalarında çalışır ve bu nedenle müşterilerinizin her zaman yanındadır.
- Güvenlik: Bir güvenlik kuruluşu olarak kabul edilirler ve “CDN”leri esasen dağıtılmış bir ters proxy'dir. Bu nedenle, menülerine güvenlik uzmanları ekleyin.

- Durum Bilgisiz Web Katmanı kullanmayı düşünün
Esasen, durum bilgisi olmayan bir uygulama önceki etkileşimler hakkında bilgi gerektirmez ve temelde hiçbir oturum bilgisi saklamaz. Geriye dönüp bakıldığında, herhangi bir isteğe mevcut hesaplama kaynaklarından herhangi biri, temelde web sunucusu örnekleri tarafından hizmet verilebilmesi nedeniyle, durum bilgisi olmayan bir uygulama yatay olarak ölçeklenebilir. Sonuç olarak, bu kapasite artık gerekli olmadığında, herhangi bir bireysel kaynak güvenli bir şekilde sonlandırılabilir. Örneğin, çalışan görevler tükendikten veya amaçlarına hizmet ettikten sonra. Durum bilgisi olmayan bir web katmanında, kaynakların eşlerinin varlığından haberdar olmaları gerekmez, gereken tek şey iş yükünü onlara dağıtmanın bir yoludur. Potansiyel olarak beklenen yüksek trafiği işlemek için durum bilgisi olmayan bir mimari uygulayabilirsiniz.

- Veritabanı Önbelleğe Alma ve Optimizasyon
Veritabanı Önbelleğe Alma, veritabanı çağrılarını azaltacağı ve web sisteminin yükleme süresini hızlandıracağı için önemlidir. Çoğu sorgu önbellekten sunulduğunda, veritabanına ulaşması gereken sorgu sayısı azalır. Bu, geliştirilmiş veritabanı performansı ile sonuçlanır. Veritabanının verimliliğini artırmanın diğer bir yolu, otomatik yükleme sorgularına bir sınır koymak ve düşük gecikmeli erişim için sık erişilen veri parçalarını bellekte depolamaktır. Veritabanı performansını artırmak için sorgu önbelleğe alma ve uygun dizin oluşturmayı kullanmak önemli olsa da, okuma ağırlıklı uygulama iş yükleri için gecikmeyi azaltabilir ve aktarım hızını artırabilir.
Veritabanı bir süre kullandıktan sonra artık ihtiyacınız olmayan çok daha fazla bilgiye sahip olacaktır. Bu, sistemin performansını ve verimliliğini azaltacaktır. Revizyonlar, veritabanında gereksiz bilgilerin oluşmasına neden olan nedenlerden biridir. Düzeltmeler, sayfalarınızın, gönderilerinizin veya özel gönderi türlerinizin revizyonlarını otomatik olarak kaydetmenizi sağlayan bir WordPress özelliğidir. Varsayılan olarak, her 60 saniyede bir çalışmanızı otomatik olarak kaydeder. Bu otomatik kaydetme aralıkları, 'wp-config.php' dosyasında 'WP_POST_REVISIONS' tanımlanarak yönetilebilir. Her 30 saniyede bir, 2 dakikada bir veya ihtiyacınıza göre revizyonları kaydedebilirsiniz. Revizyonlar ayrıca tamamen kapatılabilir. Ayrıca revizyonları kapatmanın site performansını artırmadığını da bilmelisiniz.
Tüm bu gereksiz verilerden kurtulmak için veritabanını optimize etmeniz gerekir. WordPress öncelikle MariaDB veya MySQL veritabanlarını kullanır. Bu nedenle, MySQL/MariaDB ayarlarını optimize ederek veya daha fazla bellek ve işlem gücü sağlayarak fazla çalışan bir sunucu yardımcı olabilir. Ayrıca, WordPress'te veritabanını temizlemenizi sağlayan çeşitli eklentiler bulunmaktadır. Eklentiler, kullanılmayan etiketleri, revizyonları, çöpe atılan gönderileri vb. silmenize yardımcı olur ve veritabanınızı optimize eder.
- Doğru önbelleğe alma Eklentilerini kullanma
Kesinti olduğunda, önbelleğe alma eklentileri, web sitenizin HTML dosyalarını oluşturabilir ve bu, trafik arttığında faydalıdır. Bir önbellek eklentisi seçerken aşağıdakiler gibi bazı hususlara dikkat edin:
- Müsaitliği güncelle
- İçerik dağıtım ağı ve SSL Entegrasyonu
- Sayfa önbelleğe alma yetenekleri
- Veritabanı önbelleğe alma güçlü yönleri
Önbelleğe alma eklentiniz CDN entegrasyonu sunmalıdır, ancak benim kişisel tavsiyem W3TC önbelleğe alma eklentisidir.
- Site Güvenliğinin Sağlanması
Yüksek trafik, dikkat edilmesi gereken daha fazla potansiyel tehdit anlamına geldiğinden, güvenlik bir WordPress sitesinin ölçeklendirmesini etkiler. Ve böylece, profesyonel güvenlik eklentileri, web sitenizi kötü amaçlı yazılımlardan, SQL enjeksiyonlarından, istenmeyen e-postalardan, DDoS saldırılarından, vb. yalnızca aşağıdakileri sunarak koruyabilir:
- Aktif güvenlik izleme
- Kaba kuvvet saldırı koruması
- Kötü amaçlı yazılım taraması
- Güvenlik izleme ve yönetimi (özellikle DDoS için),
- Kara liste izleme
- Güvenlik güçlendirme ve Saldırı sonrası eylemler
- güvenlik duvarları
Ek olarak, aşağıdakiler gibi kişisel olasılıkları da alabilirsiniz:
- 2 faktörlü kimlik doğrulama ile wp-admin parolalarınızı güçlendirme
- Sitenizdeki giriş denemelerini sınırlayın
- ağınıza bir antivirüs uygulamak FTP yerine SFTP kullanın
- wp-config.php ve .htaccess dosyalarını gizleyin
- Kontrol ettiğiniz bir ağı kullanmadığınızda bir VPN Sanal Özel Ağı kullanın.
- Sunucu ortamınız üzerinde daha fazla kontrole sahip olmak için bir VPS Sanal Özel Sunucu kullanın.
- Bayt Kodu Önbelleğe Almadan Yararlanın
PHP betiği her çalıştırıldığında ayrıştırılır ve derlenir. İdeal olarak, bir PHP bayt kodu önbelleği kullanılarak, PHP derlemesinin çıktısı RAM'de depolanır ve aynı betiğin tekrar tekrar derlenmesinden kaçınılır. Sonuç olarak, bu, PHP betiklerinin yürütülmesiyle ilgili genel giderleri azaltarak daha iyi performans ve daha düşük CPU gereksinimleri ile sonuçlanır. OPcache, bayt kodu önbelleğe alma konusunda yardımcı olabilir.
- Yük Dengeleme tekniklerini uygulayın
Yük dengeleme, gelen ağ trafiğini bir grup arka uç sunucu, bir sunucu havuzu veya bir sunucu grubu arasında etkin bir şekilde dağıtır. Yüksek trafiğe sahip web siteleri binlerce kullanıcıya hizmet verdiğinden, eşzamanlı istekler kaçınılmazdır, bu nedenle maliyet etkin bir şekilde ölçeklendirmek için yük dengeleme önerilir. İdeal olarak, bir yük dengeleyici ile tek bir sunucu çökerse trafiği kalan çevrimiçi sunuculara yönlendirir. Bir yük dengeleyici aşağıdaki görevleri yerine getirir:
- Ağ yükünü veya istemci isteklerini birden çok sunucu arasında verimli bir şekilde dağıtır.
- Yalnızca çevrimiçi sunuculara istek göndererek yüksek güvenilirlik ve kullanılabilirlik sağlar.
- İsteğe göre sunucu ekleme veya çıkarma esnekliği sağlar.

Yük dengelemeyi göstermek için, birden çok veri merkezinde binlerce sunucu arasında çalışan tek bir WordPress çoklu site yüklemesi olan wordpress.com (wordpress.org değil) örneğini kullanabiliriz. Özellikle, bir site oluşturucu olarak WordPress.com, HyperDB'si aracılığıyla birden çok siteye ev sahipliği yapar. Milyonlarca tablosunu, tümü merkezi bir veritabanına bağlı, ayrılmış veritabanı örneklerine dağıtmak ve dengelemek için. Bu nedenle wordpress.com siteleri, son kullanıcı isteklerini birden çok web sunucusu düğümüne dağıtırken, esasen yük dengeleme olarak yüksek trafiği sorunsuz bir şekilde işleyebilir.
Kendi kendine barındırılan bir WordPress sitesi 100 bin eşzamanlı ziyaretçiyi işleyebilir mi?
Günün sorusu, değil mi? Teoride, evet, ancak bu sonuca ulaşmak için çok çaba sarf edilmesi gerekecek. Bir site denetimi gerçekleştirmeniz ve kesinlikle şunları içermeniz gerekir:
- yük dengeleme
- MySQL çoğaltma
- Statik İçerik Boşaltma
- Sunucu mimarinizin esnekliği.
- Saygın CDN sağlayıcısı
- Disqus gibi verimli bir yorum yönetim sistemi
- Önbelleğe alma verimliliğini en üst düzeye çıkarın
- Elastik bulut dağıtımından yararlanın
- WordPress İstatistikleri ve Google Analytics gibi Analytics ve izleme araçlarından sık sık yararlanın
- NGINX gibi yüksek performanslı bir HTTP sunucusu kullanın .
En azından söylemek gerekirse, çoğu donanıma ve ne tür eklentiler kullandığınıza bağlıdır. Medya ve yüklemeler için ayrı bir bulut depolama alanı kullanmayı düşünebilir ve ardından kullanıcının yüklemelerini yerel dosya sistemi yerine depolamaya yönlendiren bir eklentiye sahip olabilirsiniz. Alternatif olarak, AWS örnekleri kullanıyorsanız, genel mimarinin güvenilirliğini artırmak için sitenizi bir Bölge içindeki birden çok kullanılabilirlik bölgesi genelinde tasarlamayı düşünün. Ek olarak, SSD Sürücüleri kullanın ve HDD'den kaçının çünkü katı hal sürücüler, HDD'deki muadillerinden daha güvenilir, güvenli ve hızlıdır.
Çözüm
Sonuç olarak, optimize edilmiş medya, komut dosyaları ve önbelleğe alma, sunucunuz yavaş, kalabalık, paylaşılmış veya yanlış kurulmuşsa gerçekten yardımcı olmaz. Bu nedenle, daha performans odaklı olduğu için bir NGINX sunucusu kullanmanızı tavsiye ederim. Ek olarak, CDN önbelleklerini kullandığınızdan emin olun ve mümkünse, sunucunuzdaki bant genişliği gibi kaynak kullanımını azaltacağından ek performans artışları için Cloudflare ile gitmelisiniz. Kayda değer sözler, WP sürümünüzü ve temanızı düzenli olarak güncel tutmayı içerir. Herhangi bir ek bilgi ve sorularınız için bize ulaşmaktan çekinmeyin.