In questo blog ho già scritto alcuni articoli a proposito delle prestazioni dei siti web. Sappiamo infatti che la velocità di un sito web influisce in maniera significativa sulla qualità del sito stesso. Un sito web veloce è infatti apprezzato dagli utenti a tal punto che anche il motore di ricerca Google tiene in considerazione questa caratteristica in relazione al posizionamento dei risultati delle ricerche.
Nell'articolo "Ottimizzare le prestazioni di un sito web in Drupal" ho indicato alcune delle linee guida generali per procedere con il miglioramento dei tempi di caricamento delle pagine di un sito web realizzato con il CMS Drupal.
In questo articolo voglio invece portare un esempio pratico di come ottimizzare le prestazioni agendo su poche righe di codice.
Ipotizziamo di dover visualizzare un elenco di nomi utenti a partire dai rispettivi User ID (UID).
Drupal mette a disposizione una funzione (user_load
) che permette di caricare un oggetto "utente", da questo oggetto si può quindi ricavare il nome dell'utente.
La sintassi (compressa in una riga) è:
$username = user_load($uid)->name;
L'oggetto restituito dalla funzione user_load
contiene molte più informazioni di quante realmente ci servono, pertanto si può intuire come ci sia uno spreco di risorse.
Si può quindi valutare l'accesso diretto al database effettuando una interrogazione per ricavare il nome dell'utente.
Ecco un esempio di codice valido per Drupal 7:
$username = db_query("SELECT name FROM {users} WHERE uid = :uid", array(':uid'=> $uid ))->fetchField();
In entrambi gli esempi la variabile $uid
contiene l'identificativo dell'utente.
Ottimizzazioni analoghe a quella descritta possono quindi essere utilizzate in siti web con un traffico elevato per diminuire l'uso delle risorse del sistema. Spesso queste tecniche mi sono state di aiuto, come nel caso del blog inerboristeria.com e di altri portali con un traffico di utenti molto elevato.
Ultimi commenti
7 years 48 settimane fa
7 years 49 settimane fa
7 years 50 settimane fa
8 years 11 settimane fa
8 years 11 settimane fa
8 years 11 settimane fa
8 years 11 settimane fa
8 years 11 settimane fa
8 years 13 settimane fa
8 years 13 settimane fa