Per le prestazioni complessive, è generalmente vantaggioso proporzionare l'architettura e non soltanto aggiungere singole componenti hardware. Non ha importanza quanto hardware verrà aggiunto a una singola macchina, poiché anch'esso presenta un livello massimo di prestazioni.
Questa sezione illustra le problematiche inerenti l'architettura di rete da tenere in considerazione durante l'introduzione della funzionalità di Caching Proxy nella rete.
Nel caso di un sito Web molto visitato, la richiesta di contenuti può essere di gran lunga superiore rispetto a quella che potrebbe realmente soddisfare un solo server proxy e ciò rallenta i tempi di risposta. Per ottimizzare le prestazioni di rete, considerare l'introduzione di macchine Caching Proxy organizzate in cluster e sottoposte a bilanciamento del carico o l'uso di un'architettura cache condivisa con RCA (Remote Cache Access) nell'architettura di rete complessiva.
Un modo per proporzionare l'architettura prevede di organizzare in cluster i server proxy e utilizzare il componente Load Balancer per bilanciare il carico tra loro. L'organizzazione in cluster dei server proxy è una soluzione vantaggiosa non solo per quanto riguarda le prestazioni e la scalabilità ma anche per motivi di ridondanza e affidabilità. Un unico server proxy rappresenta un singolo punto di errore; in caso di guasto o di inaccessibilità a causa di un problema di rete, gli utenti non potranno accedere al sito Web.
Considerare inoltre un'architettura cache condivisa con RCA. Questo tipo di architettura distribuisce la cache virtuale totale tra più server Caching Proxy che normalmente utilizzano un protocollo intercache come ICP (Internet Cache Protocol) o CARP (Cache Array Routing Protocol). RCA è progettato per ottimizzare i rapporti di accesso alla cache in cluster, fornendo una cache virtuale di grandi dimensioni.
Mediante l'uso di una matrice RCA di server proxy anziché di un unico Caching Proxy autonomo o di un cluster di macchine Caching Proxy autonome, è possibile migliorare le prestazioni. Più che altro, il miglioramento delle prestazioni avviene grazie all'aumento della dimensione totale della cache virtuale, che porta al massimo il rapporto di accesso alla cache e riduce al minimo eventuali incoerenze e latenze della cache. Con RCA, nella cache si trova solo una copia di uno specifico documento. Con un cluster di server proxy, la dimensione totale della cache viene aumentata, ma è probabile che più server proxy otterranno e memorizzeranno nella cache le stesse informazioni. Il rapporto totale degli accessi alla cache non viene quindi aumentato.
RCA è generalmente utilizzato in scenari che prevedono la memorizzazione su host di elevati volumi di contenuti aziendali. Tuttavia, i vantaggi offerti da RCA non si limitano a implementazioni aziendali di grandi dimensioni. Se il carico della rete richiede un cluster di server di cache e se la maggior parte delle richieste è rappresentata da accessi alla cache, considerare l'uso di RCA. A seconda dell'impostazione della rete, RCA non migliora sempre le prestazioni di un'azienda a causa di un aumento del numero di connessioni TCP utilizzate da un client al momento della configurazione di RCA. Questo avviene perché un membro RCA non deve solo supportare gli URL con un elevato numero di accessi ma deve anche inoltrare richieste ad altri membri o cluster se riceve una richiesta di un URL con un basso numero di accessi. Ciò significa che un determinato membro di una matrice RCA potrebbe avere più connessioni TCP aperte di quante ne avrebbe se funzionasse come server autonomo.
I principali contributi al miglioramento delle prestazioni derivano dalle capacità di memorizzazione nella cache di Caching Proxy. Tuttavia, la cache del server proxy può diventare un collo di bottiglia se non è configurata correttamente. Per stabilire la migliore configurazione della cache, è necessario un lavoro considerevole per analizzare le caratteristiche del traffico. Il tipo, la dimensione, la quantità e gli attributi del contenuto influiscono sulle prestazioni del server proxy in termini di tempo impiegato per richiamare i documenti dai server di origine e caricarli sul server. Quando si conosce il tipo di traffico che Caching Proxy dovrà archiviare o inviare dalla propria cache, è possibile scomporre in fattori tali caratteristiche al momento della configurazione del server proxy. Ad esempio, il fatto di sapere che l'80% degli oggetti è costituito da immagini (*.gif o *.jpg) della dimensione di circa 200 KB, può contribuire a ottimizzare i parametri di cache e stabilirne la dimensione. Inoltre, sapere che la maggior parte del contenuto è costituito da pagine dinamiche personalizzate, non adatte a essere memorizzate nella cache, è ugualmente pertinente all'ottimizzazione di Caching Proxy.
L'analisi delle caratteristiche del traffico consente di determinare se l'uso di una cache in memoria o di una cache su disco possa ottimizzare le prestazioni della cache. Inoltre, se si ha familiarità con le caratteristiche del traffico di rete, è possibile determinare se il miglioramento delle prestazioni dipende dall'uso della funzione di cache dinamica di Caching Proxy.
Le cache su disco sono ottimali per siti che presentano notevoli quantità di informazioni da memorizzare nella cache. Ad esempio, se un sito presenta una notevole quantità di contenuto (superiore a 5 GB) e il rapporto accessi alla cache va dall'80 al 90%, si consiglia di utilizzare una cache su disco. Tuttavia, è noto che l'uso di una cache in memoria (RAM) consente di ottenere una maggiore velocità e che in molti scenari è possibile esclusivamente per siti di grandi dimensioni. Ad esempio, se gli accessi alla cache di Caching Proxy non sono considerati molto importanti o se si utilizza una configurazione della cache condivisa, è più pratico utilizzare una cache in memoria.
Caching Proxy può memorizzare nella cache e invalidare contenuti dinamici (risultati servlet e JSP) generati dalla cache dinamica di WebSphere Application Server, fornendo un'estensione virtuale della cache di Application Server in cache basate sulla rete. La possibilità di memorizzare nella cache il contenuto generato dinamicamente migliora le prestazioni di rete in un ambiente in cui sono presenti numerose richieste per pagine Web pubbliche prodotte dinamicamente, che scadono in base alla logica dell'applicazione o a un evento, quale un messaggio di un database. La durata di una pagina è limitata, tuttavia non è possibile introdurre un trigger di scadenza al momento della sua creazione; perciò, gli host che non presentano una funzione di cache e di invalida devono designare questo tipo di pagine come se la durata dell'attività avesse un valore pari a zero.
Se queste pagine generate dinamicamente vengono richieste più di una volta da uno o più utenti durante il loro periodo di validità, la cache dinamica consente di ripartire il carico di lavoro e quindi di ridurre le richieste che altrimenti verrebbero inoltrate agli host di contenuti della rete. L'uso della cache dinamica migliora anche le prestazioni di rete offrendo una risposta più veloce agli utenti eliminando i ritardi sulla rete e riducendo l'utilizzo della larghezza di banda grazie a un numero minore di passaggi su Internet.