it-swarm-tr.com

Sunucu yanıt süresi nasıl geliştirilir?

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.

17
web-tiki

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.

PHP

  1. 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.

  2. 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.

  3. 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.

  4. 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

Web sunucusu

  1. 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.

  2. 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.

  3. PHP için FastCGI kullanın

    Daha spesifik olarak php-fpm. Bu, tarayıcı PHP olmayan bir dosya istediğinde PHP) başlatmayı önler.

  4. 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.

Apaçi

Genellikle Nginx'i yüksek performanslı siteler için kullanmanızı öneririm. Kesinlikle bir nedenden dolayı Apache kullanmanız gerekiyorsa bonus ipucu aldım:

  1. AllowOverride'ı devre dışı bırak

    AllowOverride değerini None olarak ayarlamak, çok fazla diski önler IO ve

Joomla

  1. FTP Modunu kullanma

    Siteyi okuyan kullanıcılarınızı etkilemese de, uzantı yüklemesi gibi bazı işlemleri yavaşlatacaktır.

  2. 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.

  3. İç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.

  4. Ö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.

  5. 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ı

  6. 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.

Çeşitli

  1. 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.

  2. 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?

Gelişmiş

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.

25
Rouven Weßling

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ü: enter image description here

Not: Cevabım size yardımcı olduysa, lütfen cevabı kabul etmek için soldaki onay işaretine tıklayın.

13
Don Gilbert

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.

8
Ashwin Date

(Çoğu listelenmiş olan) yardımcı olabileceğini bildiğim şeyler şunlardır:

  1. Önbelleğe almak
  2. Sıkıştırma (css ve js dosyalarınızı gzipleyin)
  3. Dosyaları birleştirme (tüm css'leriniz tek bir dosyada birleştirilir)
  4. Görüntüleri ve dosyaları CDN'ye aktarma.

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.

6
Brian Peat

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.

4
Steven Pignataro

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!

JS/CSS sıkıştırma araçlarını 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!

2
Gev Balyan

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.

1
Joomsavvy

Sunucu/Web Barındırma Planı Kaynaklarını Geliştirin

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.

1
Neil Robertson