sabato 12 marzo 2011

Joomla: caricamento lento ed errore 504 gateway timeout

WebOpenLife, la mia struttura informatica, è posizionata su server americani del provider Mochahost, che mostrano un ping medio, a partire da una ADSL italiana di media efficacia, di 130 ms.
Questo ping è sicuramente superiore rispetto a molti provider italiani (indiscutibilmente più rapidi ma anche più onerosi e nettamente meno funzionali) che viaggiano intorno ai 20-30 ms (come ad esempio Sic.Am. sas posizionata su server italiano Fastnom), ma la perdita, se il sito è di rapido caricamento, non incide più di tanto su potenziali clienti italiani.
Se il sito è di rapido caricamento...
Sia i siti statici che dinamici non danno grossi problemi, semprechè si imposti la home page, o meglio la primary landing page, in modo tale da non avere ammenicoli tali da renderne artificiosamente pesante il caricamento; per tale motivo la landing page va adeguatamente impostata fin dalla sua progettazione e continuamente monitorata una volta on line.
Nel caso di WebOpenLife, il problema incontrato consisteva nella scelta del template base, con relativa presenza di slideshow, che si mostrava particolarmente lento al caricamento, aggravando la questione relativa al posizionamento estero.
Lentezza che, in alcuni casi, legati probabilmente a momenti di intenso traffico, portavano anche al messaggio di errore 504 gateway timeout.
Dopo una breve googlata ho verificato che, specie in caso di caricamento di immagini, particolarmente valido quando si hanno estensioni con molte immagini da caricare che non si possono ridurre dimensionalmente se non comprimendole a scapito di una forte perdita di qualità, motivo significativo di rallentamento è dato dal check delle immagini che il sito, sia da parte dell'amministrazione che da parte dell'estensione specifica, effettua prima di fare l'upload.
La soluzione a questo piccolo ma serio problema, che ho trovato in questo thread, è la seguente:

<root>/administrator/components/com_media/models/manager.php

posizionarsi alle  righe 63 e 102

$folders = JFolder::folders($base, '.', true, true)

e modificarle in

$folders = JFolder::folders($base, '.', false, true)

Questo nel caso del comportamento administrator; analoga cosa, eventualmente, andrà fatta nella gestione della specifica estensione, come ad es. nel caso di un'estensione che fa solitamente un largo uso di immagini come virtuemart .

7 commenti:

  1. dove si trova /administrator/components/com_media/models/manager.php ?

    RispondiElimina
  2. Scusa il ritardo con cui ti rispondo: per root/ si intende la directory principale del sito joomla in questione. Ciao

    RispondiElimina
  3. Salve, ma in Virtuemart quale file bisogna modificare ??
    Grazie

    RispondiElimina
  4. grazie funziona, webmaster www.brembaccano.com

    RispondiElimina
  5. mitico! ho risolto un problema che mi affliggeva da mesi!

    RispondiElimina
  6. Grazie per questo prezioso suggerimento Mauro, funziona tutt'oggi a quasi 3 anni dalla pubblicazione del post :)

    RispondiElimina