Syndicate content

Performance

Introduzione a Memcached: performance elevate grazie ad una caching completa

memcached-logo

Memcached è un sistema di caching distribuito in RAM per oggetti, è molto usato nell'ambito di applicazioni web dinamiche per alleviare il carico sul database, facendo in modo di servire alcuni dei dati ai quali l’accesso è più frequente, direttamente dalla memoria RAM.

Memcached è stato creato nel 2003 dalla compagnia che gestisce LiveJournal, la Danga Interactive, che si trovava a dover gestire più di 20 milioni di richieste dinamiche al giorno in crescita esponenziale. L’adozione di questo innovativo sistema di caching ha permesso di ridurre drasticamente il carico sui server database e migliorare sensibilmente le performance del sito.

Distribuzioni su più server di una soluzione web. Come procedere nella realizzazione

cluster

In questo articolo cerchiamo di capire cosa sono i sistemi distribuiti e quali sono i vantaggi di dividere su più macchine applicazioni e ambienti operativi. Si tratta di operazioni non semplici, che richiedono uno studio e una progettazione iniziale non banale. Vediamo infine una serie di esempi applicativi concreti per la creazione di strutture distribuite che operino nella rete. 

L'Arte della scalabilità, come rendere scalabile il nostro sistema - Prima parte

scalabilità

Il primo di quattro articoli dedicati alla scalabilità, cerchiamo di comprendere come un'applicazione deve essere progettata per essere definita scalabile e quali sono i criteri con cui si ragiona nel mondo dei grandi software, dove spesso la scalabilità è l'unico strumento possibile per consentirne l'utilizzo online a milioni di persone. 

Ottimizzare le queries del nostro database per un sistema più performante

database

Un articolo molto pratico per imparare piano piano a individuare i punti deboli delle nostre queries e migliorare l'estrazione quindi l'estrazione delle informazioni dai nostri database. 

Troppo spesso il collo di bottiglia delle applicazioni (web e non) è rappresentato dalle queries effettuate al database. Riuscire ad intervenire su queste queries, analizzandone e ottimizzandole, non può che far bene ai databases, che saranno poi in grado di servire un più alto numero di richieste, aumentando a loro volta le performances dell'applicazione finale.

Load-Balancing, introduzione e prime soluzioni

Load_Balancing_06.gif

Tra le tante tecniche che caratterizzano l'architettura di un sistema sito o servizio Internet c'è il Load Balancing.

Letteralmente "Load Balancing" significa bilanciare il carico di lavoro su più nodi dell'architettura.Viene spesso confuso come tecnica per ottenere High Availability, ma pur condividendone alcuni mezzi, ha dei fini totalmente diversi.

Uno degli errori più comuni per effettuare il Load Balancing è quello di prendere come riferimento il Load dei servers: scrivendo sulle console delle nostre macchine il comando "uptime" riceveremo come risposta un dato come questo

 23:24  up 453 days, 10:12, 6 users, load averages: 0,59 0,46 0,47

Ottimizziamo il nostro sito web per renderlo più reattivo

zipping.jpg

Anche quando il nostro back-end risulta essere lento a causa di query lente o codice lato server poco ottimizzato, possiamo intervenire in modo efficace sul front-end (il codice html/css/js e immagini) per rendere le nostre pagine più "snelle" e reattive.

Spesso infatti il problema non risiede nella nostra configurazione hardware ma nel codice che abbiamo deciso di utilizzare nei nostri siti e nelle nostre applicazioni. Vediamo in questo articoli alcuni pratici accorgimenti per rendere il nostro sito web più veloce nel caricamento e più facile da eseguire per il nostro webserver. 

Iniziamo ad analizzare diversi accorgimenti per mettere a dieta i nostri siti!

Introduzione alla scalabilità

scalabilità

Negli ultimi anni vicino al termine “Web 2.0” abbiamo sempre visto anche la parola “Scalabilità”, ma cosa significa veramente essere scalabili?