it-swarm-eu.dev

Come migliorare i tempi di risposta del server?

Cosa posso fare, oltre a utilizzare un plug-in di cache come jotcache, per migliorare il tempo di risposta del server del mio sito Web?

Ho già rimosso tutti i moduli di articoli inattivi, plugin e componenti, c'è qualcos'altro che posso fare per migliorarlo?

Sto parlando del tempo prima che il client (browser) riceva una risposta alla sua richiesta. E non il tempo di caricamento della pagina.

17
web-tiki

Esistono diversi passaggi che è possibile eseguire per aumentare le prestazioni sul lato server. Si noti che alcuni di questi non funzioneranno con la maggior parte degli host condivisi. Per prestazioni eccezionali, di solito è necessario un controllo più preciso.

Come per qualsiasi ottimizzazione, dovresti misurare l'effetto che ha sulle prestazioni del tuo sito. Per le ottimizzazioni di base sono utili strumenti come PageSpeed e YSlow (consiglio le versioni di Firefox). Per una comprensione più approfondita dovrai misurare i tempi di risposta effettivi del tuo sistema live per un periodo di tempo.

PHP

  1. Abilita cache del codice operativo

    Questa è probabilmente la cosa più grande che puoi fare per aumentare le prestazioni del tuo sito. Consiglio di usare OpCache oppure APC . La configurazione di queste cache può essere ottimizzata per prestazioni ancora maggiori in base alle esigenze specifiche dei server e dei siti, ma la sola installazione è già un enorme vantaggio.

  2. Aggiornamento PHP

    Più recente PHP viene regolarmente fornita con miglioramenti delle prestazioni. Inoltre ci sono un certo numero di casi in cui Joomla può usare un codice migliore quando è in esecuzione su un più recente PHP. A partire da oggi non dovresti usare una PHP versione precedente a PHP 5.4 se ti preoccupi delle prestazioni.

  3. Impostazioni PHP

    Nelle versioni precedenti PHP (<= 5.3) fare attenzione a disattivare register_globals e magic_quotes_gpc per una vittoria di prestazione gratuita. On PHP> = 5.6 modifica always_populate_raw_post_data a -1.

  4. Estensioni PHP

    Joomla contiene del codice per risolvere il problema mancante PHP estensioni. Questo sarà sempre più lento di quelle estensioni. Per un miglioramento decente delle prestazioni installa le seguenti estensioni: mbstring, Zip, ftp

Server web

  1. Abilita gzip

    L'abilitazione della compressione lato server consente di scambiare la larghezza di banda per le risorse della CPU. Per la maggior parte dei siti, questa è la chiamata giusta. Fai attenzione a comprimere solo i dati di testo, la compressione dei dati binari ti darà il successo della CPU senza i vantaggi della larghezza di banda. Puoi anche abilitare la compressione nelle impostazioni di Joomla, ma è meglio lasciare che il server lo gestisca.

  2. Precomprimere le risorse statiche

    Non sto parlando di minificazione (anche se questo aiuta anche), ma è possibile configurare Nginx e Apache per server risorse già compresse, eliminando efficacemente l'hit della CPU dalla compressione gzip. Punti bonus: usa Zopfli per file ancora più piccoli.

  3. Usa FastCGI per PHP

    Più specificamente dovresti usare php-fpm. Questo impedisce l'avvio PHP quando il browser richiede un file non PHP.

  4. Utilizzare le intestazioni della cache appropriate

    L'uso dell'intestazione Expires può ridurre notevolmente le risorse del server richieste. Dopo tutto la richiesta più veloce è quella mai fatta.

Apache

In generale, consiglierei di utilizzare Nginx per siti ad alte prestazioni. Se hai assolutamente bisogno di usare Apache per qualche motivo, ho ricevuto un suggerimento bonus:

  1. Disabilita AllowOverride

    L'impostazione di AllowOverride su None impedisce molto disco IO e

Joomla

  1. Non utilizzare la modalità FTP

    Sebbene ciò non influisca sugli utenti che leggono il sito, rallenterà alcune operazioni come l'installazione dell'estensione.

  2. Disattiva le estensioni non utilizzate

    Questo vale soprattutto per i plugin, molti di questi vengono eseguiti su ogni richiesta. La disabilitazione di menu e componenti è utile soprattutto quando si elencano estensioni e tipi di menu disponibili. Inoltre, impiega 5 minuti per esaminare le estensioni fornite con il core di Joomla e disabilitare quelle che non usi.

  3. Disattiva Prepara contenuto

    Se usi molti moduli personalizzati (mod_custom non personalizzato come scritto da solo) controlla se puoi disabilitare Prepara contenuto in quelli. Ciò consente di risparmiare alcune elaborazioni.

  4. Usa la memorizzazione nella cache

    Se sei serio riguardo alle prestazioni, vorrai abilitare la memorizzazione nella cache. Particolarmente utile per leggere siti pesanti con molti utenti anonimi. Gli utenti che hanno effettuato l'accesso ignoreranno la maggior parte della cache, se ne hai molti, l'effetto non sarà così grande.

  5. Utilizzare un gestore di sessioni alternativo

    Usando un gestore di sessioni alternativo puoi liberare il tuo database per cose più importanti. Non consiglierei il file (chiamato confusamente Nessuno nelle impostazioni di Joomla) in quanto ciò porterà ancora una volta ad aumentare l'IO del disco. L'uso di APC è potenzialmente la soluzione, ma aumenta il rischio di perdere tutti i dati della sessione. La via di mezzo giusta è Memcache. Sebbene ciò richieda un processo aggiuntivo, è più affidabile di APC e molto più veloce della memorizzazione di tutti i dati nel database

  6. Mantieni il tuo sito semplice

    Hai davvero bisogno di quel pulsante di Facebook? Che dire di quella simpatica icona che nessuno vede mai perché è parzialmente nascosta dietro un banner? Meno il tuo sito visualizza, più veloce sarà. Inoltre, ove possibile, utilizzare CSS3 anziché le immagini.

Miscellaneo

  1. Imposta una favicon

    Grazie a un decisione risalente a Internet Explorer 4. i browser inviano una richiesta a un file chiamato favicon.ico ogni volta che un utente visita il tuo sito. Se non ne hai uno, questo causa un IO non necessario, poiché 404 risposte non vengono memorizzate nella cache. Specifica l'icona del tuo sito con un meta tag HTML o aggiungi un file chiamato favicon.ico alla radice web. Non vuoi una favicon? Posiziona un PNG trasparente con una dimensione di 1x1 pixel in quella posizione. Tieni presente che l'estensione deve essere ancora .ico.

  2. Ottimizza le tue immagini

    È incredibile il tipo di salvataggio che si può ottenere ottimizzando le immagini, in particolare i file PNG. Ci sono una varietà di strumenti disponibili per qualsiasi sistema operativo, personalmente uso ImageOptim che è disponibile per OS X. Le immagini principali di Joomla sono già ottimizzate ma passano attraverso le tue immagini, in particolare i modelli sono importanti. Puoi anche controllare le estensioni che stai utilizzando. Se sono open source, perché non contribuisci con una richiesta pull contenente immagini appena ottimizzate?

L'avanzato

Se vuoi davvero fare di tutto, considera di mettere Vernice davanti al tuo sito. Memorizza nella cache le richieste sul tuo sito e, se possibile, le serve dalla propria cache, senza mai colpire Joomla. È uno strumento complesso ma con molta potenza. Joomla non sfrutterà le funzionalità avanzate come Edge Side Includes (ESI) ma il tuo codice potrebbe.

25
Rouven Weßling

Una GRANDE cosa che puoi fare per migliorare i tempi di risposta per il tuo sito è aggiornare le impostazioni del tuo modulo. I moduli personalizzati (usando mod_custom) hanno un'opzione per abilitare/disabilitare la preparazione del contenuto. Ciò consente di eseguire plug-in di contenuto sul contenuto di dati all'interno del modulo personalizzato. È potente se usato correttamente, ma aggiunge ulteriore tempo di rendering all'output del modulo. A meno che non si stia effettivamente utilizzando un plug-in di contenuto all'interno del contenuto del modulo personalizzato, è consigliabile disattivarlo. Vedrai una diminuzione del tempo di rendering del modulo quando lo fai.

Schermata dell'impostazione: enter image description here

Nota: se la mia risposta ti ha aiutato, fai clic sul segno di spunta a sinistra per accettare la risposta.

13
Don Gilbert

Presumo che tu abbia gestito il tuo sito attraverso la velocità della Pagina di Google e stai effettivamente cercando di ridurre il tempo di risposta della pagina, ovvero il tempo impiegato dal markup per essere inviato al browser.

I colpevoli più probabili per queste sono domande pesanti. Attiva il debug e osserva la parte inferiore della pagina per scoprire quali sono le query più pesanti e rimuoverle o ridurle. Puoi anche ottenere aiuto per i log delle query lente del tuo server MySQL.

La prossima cosa che puoi guardare è la memorizzazione nella cache. A seconda del tipo di sito che hai, puoi passare alla memorizzazione nella cache conservativa o progressiva. Progressivo deve essere utilizzato su siti che non dispongono di funzionalità correlate all'utente.

8
Ashwin Date

Le cose che conosco possono aiutare (la maggior parte delle quali sono state elencate) sono queste:

  1. Caching
  2. Compressione (gzip i file css e js)
  3. Combinazione di file (tutti i tuoi CSS vengono combinati in un unico file)
  4. Scaricare immagini e file su una rete CDN.

Ho usato una combinazione della cache Joomla incorporata (o persino APC abilitata sul server) e plugin come gzip o il plugin rockbooster del tema razzo. Uso anche un plug-in CDN nonumbers con un account Amazon.

Sicuramente aiuta, ma devi guardare il tuo sito e disabilitare la cache per i componenti che hanno problemi. Ho dovuto bypassare CiviCRM sul nostro sito perché non funzionava bene con la memorizzazione nella cache. Joomla viene fornito con un plugin cachecontrol in grado di gestirlo.

6
Brian Peat

Dovresti anche cercare di ridurre le risorse locali e la corretta memorizzazione nella cache. Una cosa che puoi fare è usare i plugin CDN. Eccone due che consiglierei:

'corePHP' jomCDN - https://www.corephp.com/joomla-products/jomcdn

NoNumbers CDN per Joomla! - http://www.nonumber.nl/extensions/cdnforjoomla

Inoltre, se nessuno dei precedenti sembra risolvere i problemi, potresti avere un problema più profondo, probabilmente all'interno del tuo modello, del server stesso o di altre cose. In tal caso, potrebbe essere meglio assumere qualcuno per dare la caccia al problema e risolverlo per te.

4
Steven Pignataro

Puoi anche usare questo codice nel tuo file .htaccess:

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>

Ho creato più di centinaia di siti Web usando Joomla!

Nella maggior parte dei casi le persone pensano che Joomla stia lavorando molto sul server, ma secondo le analisi fatte da me, la cosa più importante per mantenere il tuo sito VELOCE è OTTIMIZZARE LE IMMAGINI e JS/CSS.

Non usare gli editor di Joomla, come JCE, per cambiare semplicemente le dimensioni dell'immagine. Usa editor di immagini come Photoshop o qualsiasi altro editor per ridimensionare le tue immagini alla dimensione necessaria!

Utilizzare gli strumenti di compressione JS/CSS.

Usiamo sempre gli strumenti Pingdom per analizzare la velocità del sito Web e utilizziamo la funzionalità integrata di T3 Framework per ottimizzare JS/CSS!

2
Gev Balyan

Hai rimosso plugin inutilizzati? Joomla deve caricare ed elaborare tutti i plugin pubblicati per eventi attivati ​​in una richiesta.

Devi capire le estensioni che hai installato e come interagiscono con Joomla!

Molte estensioni installano plug-in che gestiscono il contenuto, il sistema o le attività dell'utente per avviare funzioni di codice. Alcuni di loro potrebbero essere superflui.

So che k2 installa molti plugin che rispondono ad eventi relativi alla lingua che non producono alcun output reale per i siti in una sola lingua. Annullare la pubblicazione di questi plugin può ridurre i tempi di elaborazione.

1
Joomsavvy

Migliora le risorse del piano server/web hosting

Forse non è la risposta che l'OP stava cercando ma vale la pena menzionare nel caso in cui non sia ovvio per tutti (e nessun'altra risposta lo abbia ancora menzionato): migliorare le risorse del server come memoria, CPU e velocità del disco.

Se si utilizza l'hosting Web condiviso, l'aggiornamento dal piano "economia" al piano "aziendale" o un altro piano più avanzato può migliorare le risorse del server disponibili sul sito Web e ridurre i tempi di risposta del server. Anche il passaggio a una società di hosting di qualità migliore (ad es. Con server di hosting Web condivisi meno affollati) potrebbe aiutare.

Un piano di hosting migliore potrebbe anche darti accesso a miglioramenti delle prestazioni che non sono inclusi nel piano di hosting di base. Ad esempio, i piani di hosting "GrowBig" e "GoGeek" di SiteGround includono cache dinamica che consente di ridurre significativamente i tempi di risposta del server. L'opzione cache dinamica non è disponibile nel piano "Avvio".

1
Neil Robertson