Web Sitenizin Yükleme Hızını Sınıra Zorlayacak Gelişmiş Teknikler
Yayınlanan: 2018-12-26Hız ihtiyacı. Alıntı tipik olarak arabalarla ilgili bir şey olsa da, web'in de hıza ihtiyacı var. Kullanıcılar yalnızca sitelerin hızlı yüklenmesini talep etmekle kalmaz, birçok kullanıcı bir sitenin yüklenmesi 3 saniyeden uzun sürdüğünde rahatsız olmaya başladıklarını bildirir.
Siteniz bir kullanıcının girişine 8 saniyeden fazla tepki verirse, bir daha geri dönmemek üzere siteyi terk eder. Sonsuza kadar bir müşteri kaybedersiniz.
Kullanıcının kullanıcı deneyiminin yanı sıra, web sitenizin hızlı olmasını isteyen bir başka ziyaretçi daha var – Google. Web sitesi yükleme hızı aslında bir sıralama faktörüdür, hızlı yüklenen sitelere kıyasla hızlı olmayan siteler organik sıralamalarda cezalandırılır.
Ama muhtemelen bunların hepsini zaten biliyorsunuzdur, aslında bu sitede bile web sitelerinin daha hızlı yüklenmesini sağlamakla ilgili yüzlerce makale var.
Ancak, bunların hepsinin ötesine geçeceğiz. Şimdi vites yükselteceğiz ve web sitenizin yüklenme hızını bir üst seviyeye çıkaracak birkaç gelişmiş teknikten bahsedeceğiz.
1. Sitenizi Sanal Özel Sunucuda (veya daha iyisi) barındırın
Web sitenizi bir VPS'de (veya sanal özel sunucuda) barındırmak, web sitenizin daha hızlı yüklenmesini sağlamak için yapmanız gereken ilk ve en kolay şeydir. Çok gelişmiş değil ve özellikle son teknoloji değil, ancak yine de çok önemli.
Bunun birden fazla nedeni var.
Bunlardan ilki, çoğu barındırma hesabının, barındırılan sitelerin performansından ziyade hizmeti sağlayan şirket için kârlı olmaya odaklanmasıdır.
Barındırma kavramı, birkaç fiziksel sunucu alıp, kar elde edecek şekilde yüzlerce hatta binlerce web sitesi koymanızdır.
Bunu açıklamak için bazı sayılar çalıştıralım.
Barındırma şirketi için fiziksel bir sunucunun aylık 1000 ABD dolarına mal olduğunu ve paylaşılan bir barındırma hesabının aylık 5 ABD doları olduğunu varsayalım.
Barındırma sunucusunun, başabaş olması için 200 web sitesini (5 $ * 200 = 1000 $) barındırması gerekir. 240 siteye ihtiyacı var ki o sunucuda ayda 200$ kar ediyor.
Yani paylaşılan bir barındırma hesabı, sunucunun kaynaklarını 240 diğer web sitesiyle paylaşıyor ve web siteniz TÜM bu web siteleri ile kaynaklar için rekabet ediyor.
Bu web sitelerinin hiçbiri üzerinde kontrolünüz olmadığı için, siteniz büyük olasılıkla kendi hatanız olmadan yavaş çalışıyor, çünkü sunucuyu kullanan başka siteler var.
Yukarıdaki sayılar kesin olmasa da arkasındaki konsept gerçektir.
Sanal özel sunucu çok farklıdır. Genellikle paylaşılan bir barındırma sunucusundan yaklaşık 5 ila 10 kat daha pahalıya mal olur, bu nedenle barındırma şirketi, bu sunucuda haklı çıkarmak ve kar elde etmek için daha az "müşteri" gerektirir.
Ancak, web sitesi aracılığıyla bir iş yürüten bir şirket için neden ayda birkaç cüzi dolarla cimri davranasınız ki? Ayda 29,95 dolar ödemekle 4,95 dolar ödemek arasındaki gerçek fark nedir? Bankayı kırmayacak, değil mi?
Ayrıca, VPS hesapları genellikle her hesaba ayrılmış kaynaklara sahiptir. Özünde, sunucudaki bellek ve CPU zamanı gibi bu kaynaklar yalnızca web siteniz ve web siteniz için ayrılmıştır.
Bu, web sitenizin şu anda herhangi bir kullanıcısı olmasa ve bu kaynakları kullanmıyor olsa bile, başka hiçbir hesabın hesabınızın kaynaklarını kullanamayacağı anlamına gelir.
Bu, her hesabın genel olarak çok daha hızlı çalışmasına izin verir ve VPS'de barındırılan web siteleri, paylaşılan hesaplarda barındırılanlardan genellikle birkaç saniye daha hızlıdır.
Birçok hizmetin, bir CDN ile entegrasyon veya Incapsula gibi 3. taraflar aracılığıyla gelişmiş web sitesi güvenlik hizmetleri ve barındırma hesabının bir parçası olarak veya küçük bir ek ücret karşılığında HTTP2 desteği gibi sanal özel sunucu hesaplarıyla ücretsiz yükseltmeler sunduğunu göreceksiniz. ücret – hepsi sitenizin sorunsuz çalışmasını sağlar.
Daha da önemlisi, bir VPS ile müşteri, kendi web sitesini çalıştıran sunucu yazılımının konfigürasyonuna tam erişime ve hesabına tahsis edilmiş kaynaklar üzerinde tam yönetici haklarına sahiptir.
Bu yüzden ilk önce, paylaşılan barındırma hesabınızı sanal bir özel sunucuya veya bunun için bütçeniz varsa özel bir sunucuya yükseltin.
Bu, aşağıda bahsedeceğimiz sonraki teknikler için önemli olan bir şeydir, çünkü çoğu WHM'ye erişim veya sunucunuza yönetici erişimi gerektirecektir.
2. MySQL veritabanınızı en son sürümlere veya MariaDB'ye yükseltin
Bir WordPress veya başka bir CMS veya veritabanına dayalı site çalıştırıyorsanız, web siteniz veritabanı arka ucu olarak MySQL kullanıyor olabilir.
Bunun nedeni, MySQL'in varsayılan olarak çoğu barındırma hesabına önceden yüklenmiş olarak gelmesidir.
Bununla birlikte, çoğu insan, çoğu hesapta yüklü olan MySQL'in varsayılan sürümünün oldukça eski olduğunun, bazen de eskiye doğru gittiğinin farkında değildir. Ayrıca hız için optimize edilmiş diğer teknolojilerle karşılaştırıldığında çok hızlı değil.
Ve çoğu insanın bilmediği şey, MySQL'in yerini kolayca alabilecek ve aynı zamanda web sitesi hızında bir artış sağlayan eşdeğer bir veritabanı motoru olduğudur.
Bu, MariaDB veritabanı motorudur . Aslında MySQL'in orijinal geliştiricileri tarafından yaratılmıştır ve bu yüzden bu %100'ü MySQL ile değiştirilebilir hale getirmek isteyeceklerini hayal edebilirsiniz.
Aslında, bu hızlı veritabanı motorunu altyapıları için kullanan önemli şirketler arasında Wikipedia, Google ve hatta WordPress.com var!
MariaDB'ye yükseltme yapmasanız bile, MySQL'in en son sürümüne yükseltin. Yazılımın en son sürümleri her zaman eski sürümlerden daha hızlı ve daha verimlidir.
Yükseltme elbette ki kalpsizler için değil, doğası gereği riskli bir prosedürdür ve işler yolunda gitmediğinde geri yükleyebileceğiniz yedeklere sahip olmanız gerekir.
Ayrıca sunucunuza veya VPS'ye KÖK erişiminizin olmasını gerektirir, bu nedenle bir VPS veya özel sunucuya yükseltmeniz gerektiğini belirtmemizin nedeni budur.
Bunu yapmak için (tam bir VM yedeği aldıktan sonra), WHM'de oturum açın.
Ana Sayfa >> Yazılım >> MySQL/MariaDB Yükseltmesine gidin.
Yükseltmeyi otomatik olarak gerçekleştirmek için takip edebileceğiniz basit bir sihirbaz vardır.
3. PHP7'nin en son sürümüne yükseltin
Daha önce bahsettiğimiz gibi, çoğu barındırma hesabında PHP kurulumunun varsayılan sürümünün en hızlı olmadığını göreceksiniz.
Örneğin, barındırma hizmetiniz varsayılan olarak PHP5.6 sürümüne ayarlıysa, bu, birkaç yıldır etkin desteğin dışındadır (Ocak 2017).
Sürüm 7.0 için bile destek, Aralık 2017'den bu yana desteğin sonundadır ve şu anda desteklenen sürüm 7.2 sürümüdür.
Ancak eski nedenlerden dolayı, çoğu barındırma hesabı varsayılan olarak PHP'nin bu eski sürümlerini kullanmaya devam edecek - ancak gerçekte, PHP7.2 son derece hızlı bir motordur!
Herhangi bir iyi barındırma hizmeti, siteleriniz için kullanılan motoru 7.2 yapmanıza izin vermelidir. Sizin için uygun değilse, muhtemelen hizmetinizi daha iyi bir hizmete geçirmenin zamanı gelmiştir!
Elbette, web sitenizin çalıştırdığı yazılımın PHP'nin bu sürümüyle uyumlu olup olmadığını her zaman kontrol ettiğinizden emin olun. Yükseltme yaptığınızda işler bozulursa, bir düzeltme veya geçici çözüm olduğundan veya güncellemeniz gereken bir sürüm olduğundan emin olmak için belirli satıcıyla tekrar görüşmeniz gerekir.
4. PHP için OpCache'i kurun
Buradaki makaleyi takip etmek gibi siteniz için tarayıcı önbelleğe alma uygulamanız gerektiğini ve ayrıca hızlı bir şekilde sunulabilmeleri için web sitenizin bir kopyasını oluşturan bir dosya önbelleğe alma mekanizması uygulamanız gerektiğini muhtemelen tekrar tekrar okudunuz.
Ancak, farkında olmadığınız bir 3. seviye önbellekleme vardır, ancak muhtemelen sunucu yanıt sürenizi yarım saniyeden daha az alabilen bir önbellekleme düzeyidir.
Bu, bayt kodunun önbelleğe alınmasıdır ve PHP'nin gerçek yürütülmesini daha hızlı hale getirmek içindir. PHP'nin çalışma şekli, komut dosyalarını yürütülen işlem kodlarına derlemektir.
İşlem kodları, PHP kodu her çalıştırıldığında oluşturulur. Bunun anlamı, eğer PHP kodu değişmezse, opcode üretimi zaman ve kaynak kaybı olur.
Bayt kodu önbelleğe alma, işlem kodlarını bellekte saklayarak zaman kazandırır ve PHP'nin yürütülmesi gerektiğinde derlenen kod bellekten alınır ve hemen yürütülür.
Bu, PHP kodunun yürütülmesini yıldırım hızında yapar. Bunu, yükseltilmiş bir veritabanı sunucusunda çalışan ve WordPress sitenizin veya CMS'nizin dosya düzeyinde önbelleğe alınmasını sağlayan bir VPS ile birleştirin ve sunucu yanıt süresi genellikle 200 ila 400 ms arasındadır.
Daha da önemlisi, bu tür sunucu yanıt süresi, genellikle Google'ın bir sıralama faktörü (TTFB) olarak kullandığı ölçüm olarak düşünülen bir ölçüdür, bu nedenle bu yanıt süresini artırmak çok önemlidir.
Bunu etkinleştirmenin çeşitli yolları vardır, kurulumumuz için bunu yapmanın en iyi yolunun EasyApache4 altında OpCache içeren bir yapılandırmayı etkinleştirmek ve ardından ayarları buna göre ayarlamak olduğunu gördük.
5. Apache yerine Nginx'i tercih edin
Son tavsiyemiz biraz sert ve oldukça fazla değişiklik gerektiriyor, ancak ileri teknikleri tartıştığımız göz önüne alındığında, bunu dışarıda bırakamayız.
Apache, kelimenin tam anlamıyla onlarca yıldır siteleri barındırmak için standart web sunucusu olmuştur, ancak popülaritesi, özellikle güçlü bir rakip olan Nginx nedeniyle yıllar içinde azalmaktadır.
Bu web sunucusunun popülaritesi istikrarlı bir şekilde artıyor, çünkü özellikle altyapılarının her yönünü optimize edebilmesi gereken çok yoğun siteler için Apache'den daha iyi performans gösterebiliyor. Nginx, eş zamanlı bağlantılar söz konusu olduğunda tipik olarak Apache'den daha iyi performans gösterir, yani aynı anda Apache'den daha fazla kullanıcıya hizmet verebilir.
Nginx, sunucuyu kullanan toplam web sitesi sayısı açısından Apache'yi devralmamış olsa da, web'deki en iyi 10.000 web sitesinde Apache'yi önemli ölçüde geride bıraktı; %20.
Eşzamanlı bağlantılar söz konusu olduğunda Nginx'in Apache'den nasıl daha iyi performans gösterdiği göz önüne alındığında, tipik olarak her dakika yüzlerce hatta binlerce hizmet veren ilk 10.000 sitenin Nginx'in devralması çok mantıklı geliyor. .
Bu nedenle, sitenizin verimli bir şekilde birden çok bağlantıya ihtiyacı varsa, Nginx mantıklı sonuçtur.
Tabii ki, altyapınız zaten kurulmuşsa Apache'den Nginx'e geçmek hiç de kolay değil.
ihtiyacın olacak
- Tüm yazılımlarınızın Nginx ile tamamen uyumlu olduğunu doğrulayın
- Nginx'i ve sitenizin gerektirdiği ek modülleri yükleyin
- Apache için tüm yapılandırmaları ve ayarlamayı Nginx'e değiştirin (yapılandırılma biçimleri farklıdır)
- Sunucunun sınırlarını zorlamak için gereken tüm performans ayarlarını uygulayın
Nginx'i CPanel ve WHM üzerinde kurmanın en kolay yolu Engintron adlı bir modül kullanmaktır.
toparlamak
Yukarıdaki teknikler kalbin zayıflığı için değildir. Dikkatli değerlendirmeye ihtiyaçları var ve sitenizi bu tür büyük değişiklikler yaparak oluşabilecek sorunlar için test ettiğinizden emin olmak için tüm bir sürecin yürürlükte olması gerekiyor. Ancak yukarıdaki değişikliklerin çoğunu uyguladığınızda, sitenizin yüklenme süresini kolayca 2 saniyenin altına alabileceksiniz. Ve bunu yaptığınızda, birkaç ay içinde daha iyi hemen çıkma oranları, daha iyi sıralamalar ve en önemlisi daha mutlu müşteriler ile gelen faydaları göreceksiniz!