Login
Nome utente:

Password:

Ricorda



Recupero password

Registrati!
Navigazione
Utenti Online
15 utente(i) online
(1 utente(i) in Tutorial)

Iscritti: 0
Ospiti: 15

altro...
Tutorial :: Risorse per Webmaster Xoops

Ottimizzare XOOPS in 5 mosse


Ottimizzare XOOPS in 5 mosse
Defkon1
In questo ottimo articolo di Hervé (InstantZero) vediamo come migliorare le performance del vostro sito Xoops.
Profilo Autore: Defkon1
Ingegnere informatico da anni impegnato nella comunità opensource.

Al momento è Webmaster del portale XoopsItalia.
Traduzione e adattamento di questo articolo di Hervé Thouzard della InstantZero.



A volte, le persone dicono che Xoops sembra essere lento. Può essere vero, ma ci sono ampi margini di migliorabilità.

La Instant Zero ha tra i suoi compiti il mantenimento di alcuni siti xoopsati e hanno deciso di condividere con la comunità le loro utilissime conoscenze.

In questo articolo, in 5 semplici punti, vediamo cosa potete fare per ottimizzare il vostro sito.


1. Il server
La prima questione che andiamo ad analizzare è relativa al server, e a cosa è possibile fare con esso.
In base al tipo di server e di contratto che avete, si consiglia di attivare la compressione gzip.
Se avete un server Apache2 è anche necessario attivare il modulo di deflate (setacciate la rete per scoprire come installarlo ed utilizzarlo).

I browser odierni possono richiedere al web server le pagine in formato compresso; va da sé che trasferire una minore mole di dati abbassa il consumo di banda e i tempi di trasferimento. Il rovescio della medaglia risiede però in un maggior carico di lavoro per il server. Esattamente come comprimere una pagina HTML in un file ZIP e poi spedirlo.
Contattate preventivamente il vostro hosting provider per sapere se è possibile attivare tutti i moduli per l'utilizzo di questa tecnica.

Inoltre se possibile, si consiglia di installare lo Zend Optimizer o l'estensione eAccelerator.
Il PHP6 dovrebbe essere rilasciato con dei nuovi opcode per il caching, ma finché non sarà qui si dovranno utilizzare altri metodi per ottenere gli stessi vantaggi.
Con lo Zend Optimizer (o qualsiasi altro metodo di caching), lo script più utilizzato rimane precompilato in memoria, in modo da poter essere inviato nuovamente senza la necessità di interpretarlo ogni volta che viene chiamato.
Con le estesioni tipo l'eAccelerator, TUTTI gli script PHP chiamati dal vostro sito possono essere salvati in uno stato "compilato" nel vostro hard disk, senza doverlo richiedere ogni volta tramite web.


2. Xoops

Il problema dei CMS è che tutto è dinamico, e il database viene spesso utilizzato. Xoops non fa eccezione a questa regola.
Xoops però utilizza un sistema di template chiamato "Smarty" che permette di utilizzare un sistema di caching nativo.
Tale sistema può dare problemi se utilizzato globalmente su uno o più moduli, ma può essere molto utile se utilizzato su singoli blocchi. E sicuramente, la vostra homepage avrà parecchi blocchi.

Non dimenticate dunque di attivare la cache su alcuni blocchi (tramite la relativa impostazione del singolo blocco sul pannello System > Blocchi).

Un ultima raccomandazione: molte persone dimenticano di disattivare l'opzione di controllo delle modifiche sui templates (System > Preferenze > Generale). Ricordatevi che tale opzione va attivata solo temporaneamente per effettuare modifiche ai template o al tema, e va disattivata appena terminato.


3. Database

Il vostro database viene interpellato in ogni pagina. E' chiamato da Xoops e dai vostri moduli.
Con il passare del tempo e delle chiamate, il vostro database può diventare non ottimizzato; la prima raccomandazione è dunque quella di installare e configurare XoopsCare. Con questo modulo, è possibile pianificare regolarmente i processi di ottimizzazione del vostro database.

Ricordate inoltre che un database ottimizzato è facilmente e velocemente esportabile e reimportabile (in caso di disaster recovery, ad esempio).

[XoopsCare] In base al traffico che il vostro sito ha, potete selezionare un valore più grande o più piccolo per l'opzione "Mantieni il database ogni ...". Si raccomanda inoltre di utilizzare le opzioni "Cache e templates" e "Svuota sessioni".

In tema di sessioni, ricordate che più è grande la sessione che impostate, più la relativa tabella del database crescerà. E ricordate anche che i robot tipo Google utilizzano le sessioni...

Concludiamo questa disquisizione sul database parlando di alcune ottimizzazioni che potete portare alle tabelle MySQL utilizzate da Xoops e dai suoi moduli.

Prima di fare qualsiasi modifica al vostro database, effettuate un backup completo (struttura e contenuto).

Come probabilmente saprete, Xoops utilizza il database per mantenere i suoi contenuti, e analogamente fanno i moduli. Ogni modulo ha le proprie tabelle MySQL, costituite dalla struttura (nome e campi) e dai dati contenutivi.

Ogni tabella può avere quanti indici volete.
Gli indici sono utilizzati per rendere le ricerche più veloci, ma rallentano le operazioni di inserimento di nuovi record (a causa della necessità di aggiornare l'indice ogni volta).
Il vostro sito però è molto probabilmente più utilizzato in lettura che in scrittura, per cui in caso rilevaste problemi di velocità potreste ragionare sull'inserimento di opportuni indici laddove possano essere più utili.

Per fare ciò, dopo aver fatto una copia di sicurezza del backup, si raccomanda di utilizzare uno script come phpMyAdmin. Dopo aver cliccato (sulla sinistra) sul nome della tabella, troverete sulla destra la sua struttura completa; a questo punto sarà sufficiente cliccare sul link o sull'icona per aggiungere un indice sul campo desiderato.

Vediamo ad esempio alcuni indici inseribili sulle tabelle Xoops.

a) xoops_modules: questa tabella contiene l'elenco di tutti i moduli installati nel vostro sito. E' possibile inserire indici su 3 campi di questa tabella, isactive, weight e hascomments.

b) xoops_users: questa tabella contiene la lista di tutti gli utenti registrati al sito. E' possibile aggiungere un indice al campo level.

c) xoops_online: questa tabella viene utilizzata per controllare gli utenti online, e mostrarli nel blocco "Chi c'è online?". E' possibile indicizzare i campi online_updated e online_uid.

d) xoops_config: in questa tabella vengono salvate tutte le configurazioni di Xoops e dei sui moduli. E' possibile aggiungere un indice al campo conf_order.

e) xoops_comments: come il nome suggerisce, questa tabella contiene i commenti di tutti i moduli. E' possibile indicizzare il campocom_status.

f) modulo multiMenu: questo popolare modulo permette la creazione di diversi menù con contenuti liberi. Nelle tabelle di questo modulo è possibile indicizzare i campi weight, hide e submenu.

g) modulo News: il modulo News è uno dei più diffusi motori articoli. Aggiungere un indice al campo published della tabella xoops_stories.

h) modulo extCal: In questa ottima agenda è possibile aggiungere nella tabella xoops_extcal_event gli indici ai campi event_start, event_end, e modificare il campo event_approved da int(11) a tinyit(1) (e aggiungergli un indice). E' anche possibile aggiungere un indice al campo cat_id. Se volete è possibile anche aggiungere un ulteriore indice multicampo composta da event_start + event_end + event_approved.

i) modulo Smartsection: questo modulo è utilizzato per la creazione di contenuti e pagine. Nella tabella xoops_smartsection_items, è possibile indicizzare i campi status e datesub. Nella tabella xoops_smartsection_categories[i], è inoltre possibile indicizzare i campi [i]parentid and weight.

j) modulo XoopsPoll: questo modulo è utilizzato per la creazioni di sondaggi e votazioni. Nella tabella xoops_xoopspoll_desc, è possibile indicizzare il campo weight.

k) modulo Newbb/CBB: questo è il forum di Xoops. Nella tabella xoops_bb_online, è possibile aggiungere un indice al campo online_uid e nella tabella xoops_bb_topics è possibile aggiungere uno al campo approved. Nella tabella xoops_bb_posts, è possibile indicizzare il campo approved. Infine, nella tabella xoops_bb_forums, è possibile aggiungere un indice al campo parent_forum.

l) modulo Catads: questo è un ottimo modulo per annunci. Nella tabella xoops_catads_ads, è possibile indicizzare i campi waiting, published, expired, uid e cat_id. Nella tabella xoops_catads_cat, è possibile aggiungere un indice ai campi weight e pid.

m) modulo SmartFAQ: come il nome indica, questo è un modulo FAQ. Nella tabella xoops_smartfaq_categories, è possibile indicizzare il campo parentid.

Questa lista non è ovviamente completa. Troverete sicuramente tabelle che necessitano di altri indici e anche tabelle senza.
Se siete sviluppatori o utenti esperti potete attivare il Log query lente di MySQL per controllare eventuali colli di bottiglia.
Se non siete sviluppatori o utenti esperti, potete sempre vedere, via phpMyAdmin, se le tabelle usate dal vostro sito hanno o meno degli indici.



4. File utilizzati

Alcuni file sono utilizzati in ogni pagina, come ad esempio il file xoops.js (cartella /include del vostro sito).
Se utilizzate un tema standard, questo file viene chiamato sicuramente ad ogni pagina del vostro sito.

Con un programma come jsmin potete minimizzare la sua dimensione.
Può sembrare ridicolo, ma su siti ad alto traffico la differenza in termini di velocità si nota.

E' possibile utilizzare jsmin su qualsiasi altro Javascript utilizziate, ad esempio jQuery o Prototype.
Come regola generale per i file Javascript, inseriteli più in basso possibile nel codice del vostro tema.

Questa regola è applicabile anche al codice Google Analytics e Google Ads (se li usate).

Un altro tipo di file utilizzato dal vostro sito web, sono le immagini.
Provate a ridurre le dimensioni delle vostre immagini il più possibile.
Se lavorate con Photoshop, utilizzate la funzione "Salva per il web" e provate a comprimerli in modo ottimale.
Se non utilizzate Photoshop, si consiglia di usare XnView (disponibile sia sotto Windows che Linux).


5. CSS

Il vostro sito sicuramente utilizzano CSS chiamati dal vostro tema. Verificate che il foglio di stile non contenga troppi commenti e rimuoveteli se necessario.
Inoltre posizionate la chiamata al file CSS nel punto più alto possibile del vostro theme.html.
<< Nuovo libro by Stefano Silvestrini! (Lingua inglese)

API: RSS | RDF | ATOM
Copyright© Defkon1 & Xoops Italia
I commenti sono di proprietà degli autori. Si declina ogni responsibilità sul loro contenuto.

Autore Contenuto
Anonymous
Data di invio: 17/7/2012 3:09  Aggiornato: 17/7/2012 3:09
 Re: Ottimizzare XOOPS in 5 mosse
invest in the "1:one models" Visualizza immagine originale . They get the reproduction watches from sheer enjoy with the watches. speedmaster speedmaster Some just desire to seem abundant and so they can sense excellent when donning this sort of a look at. fake rolex fake rolex Also, some purchase duplicate watches simply because they feel the watches search good and therefore are in their finances selection. These men and women understand what they may be paying out for and so they usually do not count on the duplicate performs along with the authentic view. Typically sturdiness isn't their key problem. A observe that will very last numerous several years is by now sufficient for them since they wish to have got a diverse fashion view each and every a couple of several years omega replica watches omega replica watches best iwc imitation sites best iwc imitation sites . omega speedmaster 13088 omega speedmaster 13088 So it truly is nothing at all responsible to get a duplicate enjoy. In truth, rolex fake rolex fake with just so tiny portion funds from the authentic observe, omega seamaster replica 007 omega seamaster replica 007 you obtain a pleasant
Sostieni XoopsItalia!
Ultimi Tutorial
Ultime Traduzioni
XOOPS ITALIA © 2002-2012 - Powered by XOOPS