HTTP data compression setup

Note prima dell'installazione

Oplon HTTP Data Compression permette di comprimere il traffico dati per ottimizzare l'occupazione della banda.

Con Oplon Application Delivery Controller è possibile comprimere selettivamente singoli flussi di dati contestualizzati anche per mime-type.

Questo documento è relativo alla sola configurazione del servizio di compression e dell'utilizzo delle regole filtro della componente di bilanciamento e instradamento. Per l'installazione delle componenti Oplon S.A.A.I. fare riferimento ai documenti di installazione dei singoli prodotti.

Introduzione

La compressione dei dati HTTP si ottiene attraverso regole di rewrite per avere la massima espressività e flessibilità di applicazione.

Oplon Application Delivery Controller utilizza una raffinata tecnologia di core parallelizzazione di compressione dei dati. La compressione avviene quindi sfruttando al massimo il parallelismo delle moderne CPU multicore e multithread eliminando ogni punto di sincronizzazione dovuti ad hardware aggiuntivo all'esterno della CPU.

Setup compression

L'impostazione della compressione nei processi di bilanciamento e instradamento è ottenibile attraverso l'applicazione di semplici regole di rewrite che influenzano e modificano i contenuti.

Gli step da seguire sono:

a) impostazione della regola header

b) impostazione della regola body

c) attivazione sul flusso desiderato delle regole

Il sistema contiene già le regole per poter eseguire la compressione dei body http/s ed è sufficiente prelevarle dai template e utilizzarle dove necessario.

Setup compression - Header

ADC Settings > Rewrite management > Rewrite header rules > [search] compression

image1

Nell'esempio di seguito andremo dapprima ad impostare le regole di rewrite necessarie quindi andremo ad applicarle nei flussi dati.

La compressione dei dati avverrà in due tempi, verifica della possibilità di comprimere i dati e quindi compressione dei dati del body.

Questo doppio passaggio è necessario perché Oplon Application Delivery Controller deve prima determinare se il client ed il server sono in grado di eseguire elaborazioni di dati compressi oppure se i dati sono già compressi in origine e quindi non deve essere applicata la compressione.

Per eseguire la compressione del body è quindi sufficiente copiare la regola dal template sul modulo ADC dove verrà utilizzata es.:

image2

Scelta del modulo su cui copiare la regola:

image3

Risultato della copia:

image4

Effettuare il salvataggio della modifica:

image5

Per analizzare la regola è sufficiente andare in edit ed espandere i pannelli:

image6

Salviamo la modifica:

image7

image8

Un importante parametro è la soglia di compressione. E' importante comprimere solo se il risultato ottenuto è considerevolmente migliorativo. Per migliorativo si intende una compressione dall'80% al 90%. Questi risultati si possono ottenere solamente con un oggetto di dimensioni sufficientemente elevate e comunque superiori a 2048 bytes. Consigliamo di non scendere sotto la soglia di 2KB.

Setup compression - Body

Dopo aver impostato la regola di rewrite, per la determinazione della possibilità di effettuare la compressione, è necessario impostare la regola di BODY che indurrà la compressione durante lo streaming del BODY.

ADC Settings > Rewrite management > Rewrite body rules > [search] compression

image9

Per utilizzare la regola è sufficiente copiarla dal template nel modulo su cui deve essere applicata:

image10

image11

Il risultato sarà il seguente:

image12

Per analizzare la regola è sufficiente entrare in Edit:

image13

image14

La regola di seguito riporta le condizioni di applicazione come la direzione "RESPONSE" ed il response code "200 ok", quindi i mime-types su cui verrà eseguita la compression. La regola riporta inoltre altri due parametri: CACHE_REDIM_FACTOR e CACHE_DIM_MAX.

Questi parametri servono a Oplon Application Delivery Controller per allocare gli spazi di memoria (COW copy on write) all'effettuazione della compressione. Il parametro CACHE_REDIM_FACTOR è il fattore di ampliamento del buffer inizialmente allocato per la compression. CACHE_DIM_MAX è la dimensione massima in memoria dell'oggetto compresso. Superata questa dimensione viene segnalato un errore di superamento massima dimensione di compressione.

Setup compression - Applicazione regole sui flussi

Come per le altre regole di rewrite una volta definite per essere applicate bisogna associarle ai flussi interessati. L'associazione avviene selezionando il flusso su cui applicare le regole:

Esempio di applicazione su tutti i flussi del modulo ADC selezionato:

ADC Settings > ADCs > Default rewrite rules > [rewriteHeaderRules] press Select Item

image15

Selezionare la regola compressionHEADER

image16

Selezionare inoltre ALWAYS come operatore in modo che questa regola possa essere eseguita indipendentemente da altre regole.

image17

Eseguire la stessa operazione per le regole di BODY

image18

Il risultato deve essere simile a quello di seguito:

image19

È possibile applicare le regole anche su flussi specifici per insiemi come ad esempio su tutte le risorse di un gruppo:

ADC Settings > ADCs> Edit > Endpoints grouping > See details

image20

Pannello Rewriting rules

image21

Oppure su tutte le risorse di un singolo dominio:

image22

Pannello del dominio Rewriting rules:

image23

Oppure sui singoli gruppi di endpoint entrando ulteriormente in See details

image24

Pannello rewrite rules dell'endpoint:

image25

È anche possibile applicare la regola a livello generale e disabilitarla in alcuni flussi. Ad esempio se avessimo impostato le regole sul pannello generale del modulo ADC e volessimo disabilitarle solamente per alcuni endpoint, questo è possibile con l'Operation (NOP).

image26

E' possibile avere evidenza della compressione attraverso l'analisi delle statistiche di traffico. Le statistiche sul Database riportano i dati in-bound e out-bound dei due flussi evidenziando le differenze tra quanto ricevuto e quanto trasferito.