Web sitemin sunucu yanıt süresini iyileştirmek için jotcache gibi bir önbellek eklentisi kullanmak dışında ne yapabilirim?
Tüm etkin olmayan makale modüllerini, eklentileri ve bileşenleri zaten kaldırdım, geliştirmek için yapabileceğim başka bir şey var mı?
İstemcinin (tarayıcı) isteğine yanıt vermeden önce geçen süre hakkında konuşuyorum. Ve sayfanın yüklenme zamanı değil.
Sunucu tarafı performansını artırmak için atabileceğiniz birkaç adım vardır. Bunlardan bazılarının çoğu paylaşılan ana bilgisayarla çalışmayacağını unutmayın. Mükemmel performans için genellikle daha ince taneli kontrole ihtiyacınız vardır.
Tüm optimizasyonlarda olduğu gibi, sitenizin performansı üzerindeki etkisini ölçmelisiniz. Temel optimizasyonlar için PageSpeed ve YSlow yararlı (Firefox sürümlerini öneriyorum) gibi araçlar. Daha derinlemesine bir anlayış için, canlı sisteminizin gerçek tepki sürelerini belirli bir süre boyunca ölçmeniz gerekir.
Opcode Önbelleklemeyi Etkinleştir
Bu, sitenizin performansını artırmak için yapabileceğiniz en büyük şeydir. OpCache veya APC kullanılmasını öneririm. Bu önbelleklerin yapılandırılması, sunuculara ve sitelere özgü ihtiyaçlara dayalı olarak daha da yüksek performans için değiştirilebilir, ancak sadece yükleme zaten büyük bir destek.
Güncelleme PHP sürüm
Daha yeni PHP sürümü düzenli olarak performans iyileştirmeleri ile birlikte gelir. Ayrıca Joomla'nın daha yeni bir PHP sürümü üzerinde çalışırken daha iyi kod kullanabileceği) birkaç durum vardır. bugün eğer performansı önemsiyorsanız PHP PHP 5.4 sürümünden daha eski bir sürüm) kullanmamalısınız.
PHP Ayarları
Daha eski PHP sürümlerinde (<= 5.3)
register_globals ve
magic_quotes_gpc ücretsiz performans kazanmak için. Açık PHP> = 5.6 değişiklik
always_populate_raw_post_data 1'e.
PHP uzantıları
Joomla, geçici = PHP uzantılar. Geçici çözüm için bazı kodlar içerir. Bu her zaman bu uzantılardan daha yavaş olacaktır. İyi bir performans iyileştirmesi için aşağıdaki uzantıları yükleyin:
mbstring,
Zip,
ftp
Gzip'i etkinleştir
Sunucu tarafı sıkıştırmayı etkinleştirmek CPU kaynakları için bant genişliğini değiştirir. Çoğu site için bu doğru çağrı. Sadece metin verilerini sıkıştırmaya dikkat edin, ikili verileri sıkıştırmak bant genişliği avantajları olmadan CPU isabetini verecektir. Sıkışmayı Joomla ayarlarında da etkinleştirebilirsiniz, ancak sunucunun bununla başa çıkmasına izin vermeniz daha iyidir.
Statik kaynakları önceden sıkıştırma
Minimasyondan bahsetmiyorum (bu da yardımcı oluyor), ancak Nginx ve Apache'yi zaten sıkıştırılmış kaynakları sunucuya yapılandırabilir, gzip sıkıştırmasından gelen CPU vuruşunu etkili bir şekilde ortadan kaldırabilirsiniz. Bonus puanları: Küçük dosyalar için bile Zopfli kullanın.
PHP için FastCGI kullanın
Daha spesifik olarak
php-fpm. Bu, tarayıcı PHP olmayan bir dosya istediğinde PHP) başlatmayı önler.
Uygun önbellek başlıklarını kullanın
Expires üstbilgisini kullanmak, gereken sunucu kaynaklarını önemli ölçüde azaltabilir. Sonuçta en hızlı istek hiç yapılmayan istek.
Genellikle Nginx'i yüksek performanslı siteler için kullanmanızı öneririm. Kesinlikle bir nedenden dolayı Apache kullanmanız gerekiyorsa bonus ipucu aldım:
AllowOverride'ı devre dışı bırak
AllowOverride değerini
None olarak ayarlamak, çok fazla diski önler IO ve
FTP Modunu kullanma
Siteyi okuyan kullanıcılarınızı etkilemese de, uzantı yüklemesi gibi bazı işlemleri yavaşlatacaktır.
Kullanılmayan uzantıları kapatma
Bu özellikle Eklentiler için geçerlidir, bunların çoğu her istekte çalıştırılır. Menüleri ve bileşenleri devre dışı bırakmak, çoğunlukla mevcut uzantıları ve menü türlerini listelerken yardımcı olur. Ayrıca, Joomla çekirdeği ile birlikte gelen uzantıları incelemek ve kullanmadığınız uzantıları devre dışı bırakmak için 5 dakikanızı ayırın.
İçerik hazırlamayı kapatma
Çok sayıda özel modül kullanıyorsanız (
mod_custom kendi kendine yazıldığı gibi özel değil) Bunlarda içerik hazırlamayı devre dışı bırakıp bırakmayacağınızı kontrol edin. Bu, bazı işlemlerden tasarruf sağlar.
Önbellek Kullan
Performans konusunda ciddiyseniz önbelleğe almayı etkinleştirmek istersiniz. Özellikle çok sayıda anonim kullanıcısı olan ağır siteler için yararlıdır. Oturum açmış kullanıcılar önbelleğin çoğunu atlar, eğer bunlardan birçoğuna sahipseniz etkisi o kadar büyük olmaz.
Alternatif bir oturum işleyicisi kullanma
Alternatif bir oturum işleyicisi kullanarak daha önemli şeyler için veritabanınızı serbest bırakabilirsiniz. Ben bir kez daha disk IO artırmak getirecektir dosya (kafa karıştırıcı Joomla ayarlarında Yok denir) tavsiye etmem. APC kullanmak potansiyel olarak daha hızlıdır, ancak tüm oturum verilerini kaybetme riskini artırır. Sağ orta yol Memcache. Bu ek bir işlem gerektirse de, APC'den daha güvenilir ve tüm verileri veritabanında depolamaktan çok daha hızlı
Sitenizi basit tutun
Gerçekten Facebook düğmesine ihtiyacın var mı? Hiç kimsenin görmediği sevimli simgeye, kısmen bir afişin arkasında gizlendiğinden ne olacak? Siteniz ne kadar az görüntülenirse o kadar hızlı olur. Ayrıca mümkün olan her yerde resimler yerine CSS3 kullanın.
Sık kullanılan simgesi ayarlama
Teşekkürler Internet Explorer 4.0'a dayanan karar tarayıcılar
favicon.ico bir kullanıcı sitenizi her ziyaret ettiğinde. Eğer bir hesabınız yoksa, 404 yanıtları önbelleğe alınmadığından bu gereksiz G/Ç'ye neden olur. Sitenizin simgesini bir HTML meta etiketi ile belirtin veya
favicon.ico web köküne. Favicon istemiyor musunuz? Bu konuma 1x1 piksel boyutunda saydam bir PNG yerleştirin. Uzantının hala
.ico.
Resimlerinizi optimize edin
Görüntüleri, özellikle PNG dosyalarını optimize ederek ne tür bir tasarruf elde edebileceğiniz şaşırtıcı. Herhangi bir işletim sistemi için çeşitli araçlar vardır, kişisel olarak OS X için kullanılabilen ImageOptim kullanıyorum. Joomla'nın çekirdek görüntüleri zaten optimize edilmiş, ancak kendi resimlerinizden geçiyor, özellikle şablonlar önemlidir. Kullandığınız uzantıları da kontrol edebilirsiniz. Açık kaynaksa, neden yeni optimize edilmiş görüntüler içeren bir çekme isteğine katkıda bulunmuyorsunuz?
Gerçekten dışarı çıkmak istiyorsanız, sitenizin önüne Vernik koymayı düşünün. Sitenize gelen istekleri önbelleğe alır ve mümkünse Joomla'ya çarpmadan kendi önbelleğinden sunar. Karmaşık bir araç ama çok fazla gücü var. Joomla, Edge Side Includes (ESI) gibi gelişmiş işlevlerden faydalanmayacak, ancak kendi kodunuz olabilir.
Sitenizin yanıt sürelerini iyileştirmek için yapabileceğiniz BÜYÜK şey modül ayarlarınızı güncellemektir. Özel modüller (mod_custom kullanarak) içerik hazırlamayı etkinleştirme/devre dışı bırakma seçeneğine sahiptir. Bu, özel modülünüzdeki veri içeriğinde içerik eklentileri çalıştırmanıza olanak tanır. Düzgün kullanıldığında güçlüdür, ancak modül çıkışına ek oluşturma süresi ekler. Özel modül içeriğinizdeki bir içerik eklentisini gerçekten kullanmadığınız sürece, bunu kapatmak en iyisidir. Bunu yaptığınızda modül oluşturma süresinde bir azalma göreceksiniz.
Ayarın ekran görüntüsü:
Not: Cevabım size yardımcı olduysa, lütfen cevabı kabul etmek için soldaki onay işaretine tıklayın.
Sitenizi Google Sayfa hızı üzerinden çalıştırdığınızı ve sayfa yanıtlama süresini (yani, işaretlemenizin tarayıcıya gönderilmesi için geçen süreyi) azaltmaya çalıştığınızı varsayıyorum.
Bunlar için en olası suçlular ağır sorgulardır. Hata ayıklamayı açın ve hangisinin en ağır sorgular olduğunu öğrenmek ve bunları kaldırmak veya azaltmak için sayfanın altına bakın. Ayrıca MySQL sunucunuzun yavaş sorgu günlüklerinden de yararlanabilirsiniz.
Bakabileceğiniz bir sonraki şey önbellekleme. Sitenizin türüne bağlı olarak muhafazakar veya aşamalı önbelleğe alabilirsiniz. Aşamalı, kullanıcısı olmayan özelliklere ve kullanıcı özelliklerine sahip sitelerde kullanılmalıdır.
(Çoğu listelenmiş olan) yardımcı olabileceğini bildiğim şeyler şunlardır:
Yerleşik Joomla önbelleğini (hatta sunucuda APC etkin) ve gzip veya roket temasının rockbooster eklentisi gibi eklentilerin bir kombinasyonunu kullandım. Amazon hesabıyla da dilsiz CDN eklentisini kullanıyorum.
Kesinlikle yardımcı olur, ancak sitenizi izlemeniz ve sorunları olan bileşenler için önbelleği devre dışı bırakmanız gerekir. Önbelleğe alma ile Nice oynamadı çünkü sitemizde CiviCRM atlamak zorunda kaldı. Joomla, bunun üstesinden gelebilecek bir önbellek kontrol eklentisiyle birlikte gelir.
Ayrıca yerel varlıkları azaltmayı ve uygun önbelleğe almayı da incelemek isteyeceksiniz. Yapabileceğiniz bir şey CDN eklentilerini kullanmak. İşte iki tavsiye ederim:
'corePHP' jomCDN - https://www.corephp.com/joomla-products/jomcdn
NoNumbers CDN Joomla! İçin - http://www.nonumber.nl/extensions/cdnforjoomla
Ayrıca, yukarıdakilerin hiçbiri sorunları çözmüyorsa, daha derin bir sorununuz olabilir - muhtemelen şablonunuzda, sunucunun kendisinde veya başka şeylerde. Bu durumda, sorunu çözmek ve sizin için çözmek için birini işe almak en iyisi olabilir.
Bu kodu .htaccess dosyanızda da kullanabilirsiniz:
RewriteEngine On RewriteCond %{HTTP_Host} ^www.your domain [nocase] RewriteRule ^(.*) http://your domain/$1 [last,redirect=301] RewriteEngine on <ifmodule mod_deflate.c> AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript </ifmodule> <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month" </IfModule>
Joomla! Kullanarak yüzlerce web sitesi oluşturdum.
Çoğu durumda insanlar Joomla'nın sunucu üzerinde yoğun bir şekilde çalıştığını düşünüyor, ancak benim yaptığım analizlere göre, web sitenizi HIZLI tutmak için en önemli şey GÖRÜNTÜLERİ ve JS/CSS'I OPTİMİZE ETMEK.
Görüntünün boyutunu değiştirmek için JCE gibi Joomla editörlerini kullanmayın. Resimlerinizi gereken boyuta göre yeniden boyutlandırmak için photoshop veya başka bir düzenleyici gibi resim düzenleyicileri kullanın!
Web sitesi hızını analiz etmek için her zaman Pingdom Araçları'nı kullanırız ve JS/CSS'yi optimize etmek için T3 Framework'ün yerleşik özelliğini kullanırız!
Kullanılmayan eklentileri kaldırdınız mı? Joomla, bir istekte tetiklenen etkinlikler için yayınlanan her eklentiyi yüklemeli ve işlemelidir.
Yüklediğiniz uzantıları ve bunların Joomla! İle nasıl etkileşim kurduğunu anlamalısınız.
Birçok uzantı, kod işlevlerini başlatmak için içeriği, sistemi veya kullanıcı etkinliklerini yöneten eklentiler yükler. Bazıları gereksiz olabilir.
K2'nin, tek dil siteleri için gerçek çıktı üretmeyen dile ilişkin olaylara yanıt veren birçok eklenti yüklediğini biliyorum. Bu eklentilerin yayından kaldırılması işlem süresini kısaltabilir.
Belki OP'nin aradığı cevap değil, ancak herkes için açık olmasa bile (ve henüz başka bir cevap gelmediğinde) bahsetmeye değer: bellek, CPU ve disk hızı gibi sunucu kaynaklarını geliştirin.
Paylaşılan web barındırma kullanıyorsanız, "ekonomi" planından "iş" planına veya başka bir daha gelişmiş plana yükseltme yapmak, web sitenizin kullanabileceği sunucu kaynaklarını iyileştirebilir ve sunucu yanıt süresini azaltabilir. Daha kaliteli bir hosting şirketine (örneğin daha az kalabalık paylaşılan web barındırma sunucuları ile) geçmek de yardımcı olabilir.
Daha iyi bir barındırma planı, temel barındırma planına dahil olmayan performans geliştirmelerine de erişmenizi sağlayabilir. Örneğin, "GrowBig" ve "GoGeek" SiteGround barındırma planları, sunucu yanıt süresini önemli ölçüde azaltmaya yardımcı olan dinamik önbellek içerir. Dinamik önbellek seçeneği "Başlangıç" planında mevcut değildir.