XML  »  Guide  »  Guida Web service 

Ottimizzare le prestazioni



Ottimizzare le performance di un Web service non differisce da quanto si farebbe per una qualsiasi pagina web dinamica. Per quanto riguarda il Web Server va considerato naturalmente il numero e la frequenza delle richieste. Se la frequenza è molto alta, così come il numero delle richieste, vi sconsiglio di mantenere i vostri siti web sullo stesso server, potrebbe influire sulla velocità di navigazione.

Inoltre ricordate che all'aumentare delle richieste contemporanee aumentano anche le risorse richieste dal Web Server. Per esempio, un server Apache che apre un nuovo child per ogni richiesta con un gran numero di moduli caricati può saturare in poco tempo le risorse RAM del vostro server. Vi consiglio quindi di caricare sempre e solamente lo stretto indispensabile per fare girare i vostri Web service e nulla più.

Compressione delle richieste e risposte

Un aspetto molto interessante per le performance è la compressione delle richieste/risposte HTTP inviate/ricevute dal client e dal server durante il dialogo con un Web service. L'XML si presta molto bene alla compressione essendo un documento di solo testo. L'utilizzo di compressioni come GZip garantisce un risparmio di banda pari a circa il 60% del traffico altrimenti utilizzato da un comune Web service. È chiaro tuttavia che il nostro Web Server deve inviare al client risposte compresse solamente se questo è in grado di gestirle.

Normalmente un client specifica al server che è in grado di gestire GZip grazie ad una riga nell'header HTTP come questa che vedete qui di seguito.

Accept-encoding: gzip

Ricordate che inviare messaggi compressi a client che non sono in grado di gestirli renderà inutilizzabile il vostro servizio web. Inoltre se inviate contenuti compressi ricordate di specificare nell'header della risposta HTTP l'encoding utilizzata.

Nel caso di GZip potreste usare la forma seguente:

header: Content-Encoding: gzip

Questa operazione di compressione può essere effettuata direttamente da noi nel nostro codice o può essere delegata al Web Server. Ricordate che abilitare la compressione causa un maggior utilizzo della CPU. Tuttavia, almeno mentre sto scrivendo questa guida, risulta più economico sostituire i processori piuttosto che duplicare la banda a disposizione (e penso che la situazione resterà così per un tempo ragionevolmente lungo).

Ultimi articoli XML

Open Graph Protocol, Facebook e il Web Semantico

Come sfruttare il Web Semantico "made in Facebook"

Introduzione a RDFa - 2

Arricchire un documento HTML con metadati semantici presi dal...

Introduzione a RDFa

Cos'è e a cosa serve il linguaggio che potrebbe aprire il campo alle...

Usare SVG per creare sfondi flessibili, scalabili e divertenti

Scopriamo cos'è il formato SVG e come possiamo usarlo in modo...

Visualizzare i metadati RDF Dublin core con le trasformazioni XSL

Mettere insieme XSL, XPATH e le definizioni Dublin core per...

Altri articoli

Guide XML

Guida Podcasting

Un percorso in 16 lezioni, per entrare nella filosofia del podcast...

Guida Smil 2.0

Un percorso pratico alla scoperta di SMIL: il linguaggio (XML) per...

Guida Web service

Cosa sono, a cosa servono e come si creano servizi Web, i sistemi...

Altre guide

Newsletter @XML

Ogni mese, direttamente nella tua e-mail: articoli, guide, FAQ e approfondimenti sui linguaggi della famiglia XML.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Nessun corso previsto

Nessun corso previsto