Linux

Sunucum veya Hostingim Ne Kadar Ziyaretçi Kaldırır?

sunucu linux kernel
Share

Merhabalar,

Sitenizin daha fazla trafik alması için kampanyalar veya başka etkinlikler yayınladığınızda, trafiğinizin sunucu veya hosting tarafında kaynağı çok fazla tüketmesiyle sitenizin erişim problemi yaşaması, hazırlamış olduğunuz kampanyanın olumsuz sonuçlanmasına veya maddi kayıplar yaşamanıza neden olabilir. Web sitenizin performansını etkileyebilecek çok sayıda değişken vardır. Bu makalede, neye endişelenmeniz, neye endişelenmemeniz gerektiği ve bunun etkisinin nasıl tahmin edileceği açıklanmaktadır. Kampanyanızın sunucu kaynak kullanımı konusundaki performans ve ölçeklenebilirlik arasında daima bir denge vardır. Web sitenizi yoğun trafik için donattığınızda, son kullanıcı performansından önce ölçeklenebilirliğe öncelik vermeniz gerekir. Hosting, web sayfalarını son kullanıcıya (ziyaretçi) sunmak için birlikte çalışan birçok hizmetten oluşur ve tüm barındırma darboğazlarına sahiptir. Tahminlerimiz için kullandığımız, ve bize Google Analytics’te sitenizde aynı anda kaç kullanıcının (ziyaretçi) olabileceğini gösteren yaklaşık sayıyı sağlayan sihirli formül aşağıdaki gibidir.

(number of CPU cores / Average Page Response Time in seconds) * 60 * User Click Frequency in seconds = Maximum simultaneous users
32(CPU) / 3(Saniye) * 60 * User Click Frequency in seconds = maksimum anlık ziyaretçi sayısı

Pingdom Tools veya PageSpeed ​​Insights ile ölçtüğünüz performans, ölçeklendirme veya analiz konusunda pek önemli değil. Darboğaz, web sitenizin nasıl çalıştığı değil, web sunucunuzun ne kadar trafik ve yük alabildiğidir.

Web sunucularınızın kapasitesini nasıl ölçebiliriz?
Basit bir şekilde birkaç basit yöntemimiz var, ancak genellikle hostingimizin ne kadar trafik alabileceği konusunda kesin tahminler yapıyoruz. Trafiği ölçeklendirirken ilk olarak karşılaştığınız darboğazlar genellikle 1) PHP ve 2) veritabanı performansıdır. Bunlar üzerindeki yükü azaltmak için kullanabileceğiniz birçok teknik var, ama önce matematik işlemine bakalım.

Web sunucusundaki sunucu CPU çekirdeği sayısını kontrol etme

Bir sunucunun belirli miktarda CPU’su vardır.

grep processor /proc/cpuinfo | wc -l

Makalemizde bulunan örnekte, sunucunun 32 çekirdeğinin olduğunu varsayıyoruz. CPU çekirdeği sayısı, sunucu maksimum kapasitesine ulaşmadan önce ne kadar PHP işlemi çalıştırabileceğinizi belirler. CPU frekansı (Ghz) ​​web sitenizin genel performansını etkileyecektir ancak maksimum kapasitenin hesaplanması ile ilgili değildir.

Sitenizde ortalama bir PHP isteği ne kadar CPU harcıyor?

Tahmin yapmak için ihtiyaç duyduğumuz diğer ölçüm ise, CPU’nun sitenizde “ortalama” web sayfasını oluşturmak için kullandığı süredir. Bunu yapmanın en basit yolu, birkaç farklı sayfayı kontrol etmek.
Tahmin için kullandığımız sayı, İlk Bayt Zamanı ve İçerik İndirme süresinin toplamıdır. Aşağıdaki örnekte, anasayfayı üretmek için harcanan sürenin 48 ms olduğunu görebiliriz.

XMj8A6

 

E-ticaret sitelerinde, ana sayfanın, kategori sayfalarının, ürün sayfalarının performansını kontrol etmek, sepete eklemek ve satın almak ve gerçekçi bir tahmin yapmak önemlidir. Sitenizde cache (Önbellek)  kullanıyorsanız, bir önbellek bozucu eklemelisiniz (örneğin, https://sunucucozumleri.com/?cache=test121 URL’sine bazı parametreler ekleyin). Bu, isteğinizin tam sayfa önbelleğiniz yerine PHP’ye ulaşmasını sağlar.

CPU çekirdeği ile PHP isteklerinin zamanı arasındaki ilişki nedir?

Bir ziyaretçi web sayfanızı ziyaret etmek istediğinde, sunucu bu web sayfasını üretmekle uğraşır. Yukarıdaki örnekte CPU sizin için bu sayfayı oluştururken 48 milisaniye boyunca uğraştı. 1 CPU çekirdeğine göre sunucumuzun sınırı saniyede 20 anasayfa üretmektir.

Web sunucunuzun maksimum kapasitesini hesaplamak için formül


CPU çekirdeği sayısı (32) / Sayfa isteği için ortalama süre 0.048  = Saniye başına maksimum Sayfa İsteği sayısı (666,666)

Sunucuların kapasitesi 32 CPU çekirdeğidir, bu nedenle ortalama olarak web sitesine yapılan her bir istek 0.048 saniye CPU zamanı kullanıyorsa – saniyede yaklaşık 32 çekirdek / 0.048 saniye CPU süresi = 666,666 istekle başa çıkabiliriz.
Neden saniyede sayfa istek sayısı Ölçeklenebilirlik için önemli bir ölçümdür?
Web sitenizin ölçeklenebilirliği, genellikle sunucunuz CPU sınırına ulaştığında azalır. Ortalama sayfa istek süresi, PHP’nin ne kadar zaman harcadığını ve veritabanının sorgular için kullandığı zamanı yakalar.

Web sitemde aynı anda kaç kullanıcı olabilir?

Soru, saniyede sayfa görüntülemenin Google Analytics ile nasıl bir ilişkisi var? Sitenizde kaç tane eşzamanlı kullanıcı olabileceğini bulmak için Google Analytics’inizi kontrol etmeniz ve kullanıcılarınızın ortalama olarak ne sıklıkta tıkladıklarını hesaplamanız gerekir. Kitle> Genel Bakış bölümüne giderseniz, Ortalama Seans Süresi ve Seans Başına Sayfa Sayısı’nı bulacaksınız.
JZMNLQ

Bu örnekteki oturum süresi 4 dakika 42 saniyedir, bu 4 x 60 + 42 = 282 saniyedir. Her kullanıcı ortalama olarak 3,16 oranında sayfa gezinmesi yapar. Kullanıcı Başına Ortalama oturum Süresini / Sayfalara Bölün, sonuç 89 Olur. Bu, web sitenizdeki ortalama kullanıcının yaklaşık 1.5 dakikada bir (her 89 saniyede bir) tıklayacağı anlamına gelir. Bu sayı değişkenlik gösterebilir, ancak E-ticaret için genel kurallar dakikada bir kezdir. Google Analytics’teki bir kullanıcının saniyede bir kez tıklama yaptığını bildiğimizden ve sunucularımızın kapasitesinin saniyede 666 isteği işleyebildiğine göre oldukça kesin bir tahmin hesaplayabiliriz;


Saniye başına maksimum istek sayısı * 60 * Dakika cinsinden kullanıcı sıklığı = Maksimum Eşzamanlı Kullanıcı Sayısı

Saniyede 666 istek * 60 saniye * dakika cinsinden tıklama aralığı 1.5 = 59,940 Maksimum Eşzamanlı Kullanıcılara erişebiliriz.
Bu hesaplama şekliyle ilgili sorabileceğiniz birçok soru var, ancak deneyimlerimize göre bu hesaplama şekli oldukça kesin tahminler (yakın sonuçlar) veriyor. Bununla birlikte, projenizde emin adımlarla ileyebilmek için her zaman kötümser sayıları (en az) yuvarlamanız gerekir!

VPS’mde kaç kullanıcı olabilir?

Sitenizi yalnızca bir veya birkaç CPU çekirdeğine sahip bir VPS’de çalıştırırsanız, kapasite sınırına daha erken ulaşılabilir.
Örneğin:
Ortalama PHP istek süresi: 650ms
CPU çekirdeği: 2
Tıklama sıklığı: 45 saniye (e-ticaret için normal)
2 çekirdek / 0.65 = 3 saniyede 3 sayfa görüntüleme * 60 * 0.75 = 135 Aynı anda en fazla kullanıcı

Web sitenizin ölçeklenebilirliği nasıl geliştirilir

Web sitenizin ölçeklenebilirliğini geliştirmek için yapabileceğiniz iki temel şey var. Web siteniz ya ziyaretçi başına daha az kaynak tüketmeli ya da sunucu kaynaklarını arttırmalısınız. E-ticaret sunucusu için kaynaklar çok önemlidir, çünkü çoğu istek dinamiktir ve PHP’yi çalıştırır. Tam Sayfa Önbelleğe Alma biraz ölçeklendirmenize yardımcı olur, ancak birçok oturum, sunucu kaynaklarını genellikle hızla tüketir. Bu nedenle, web uygulamanızın daha az kaynak kullanmasını sağlamak ve daha hızlı hale getirmek her zaman iyi bir fikirdir.
Siteniz tek bir sunucu kurulumunun sınırlarını aştığında, maliyetleriniz sadece barındırma planınız veya sunucunuz için artacaktır. Ayrıca danışmanlık, bakım, geliştirme maliyetlerinizi artıracak ve kurulumunuzu daha karmaşık hale getirecektir.

Faydalı olabilecek diğer makaleler;

WordPress Optimizasyonu

Nginx Optimizasyonu

Bol Trafikler!