Ottimizzazione delle dimensioni dei buffer TCP/IP

WebSphere® Application Server utilizza ampiamente il meccanismo di comunicazione dei socket TCP/IP. Per una connessione socket TCP/IP, le dimensioni dei buffer di invio e ricezione definiscono la finestra di ricezione. La finestra di ricezione specifica la quantità di dati che possono essere inviati e non ricevuti prima che l'invio venga interrotto. Se vengono inviati troppi dati, il buffer viene sovraccaricato e il trasferimento viene interrotto. Il meccanismo che controlla le interruzioni nel trasferimento dei dati è denominato controllo di flusso. Se la dimensione della finestra di ricezione per i buffer TCP/IP è troppo piccola, il buffer della finestra di ricezione viene spesso sovraccaricato e il meccanismo di controllo del flusso interrompe il trasferimento dei dati fino a quando il buffer di ricezione non è vuoto.

Informazioni su questa attività

[ AIX Solaris HP-UX Linux Windows][IBM i]Il controllo del flusso può consumare una quantità significativa di tempo CPU e causare un'ulteriore latenza di rete a causa delle interruzioni nel trasferimento dei dati. Si consiglia di aumentare le dimensioni del buffer per evitare il controllo di flusso in condizioni operative normali. Una dimensione del buffer maggiore riduce la possibilità che si verifichi il controllo di flusso e comporta un miglioramento dell'utilizzo della CPU. Tuttavia, in alcuni casi una dimensione del buffer elevata può influire negativamente sulle prestazioni. Se i buffer TCP/IP sono troppo grandi e le applicazioni non elaborano i dati abbastanza velocemente, il paging può aumentare. L'obiettivo è specificare un valore sufficientemente grande da evitare il controllo di flusso, ma non così grande da far sì che il buffer accumuli più dati di quelli che il sistema è in grado di elaborare.

[ AIX Solaris HP-UX Linux Windows][IBM i]La dimensione predefinita del buffer è 8 KB. La dimensione massima è di 8 MB (8096 KB). La dimensione ottimale del buffer dipende da diversi fattori dell'ambiente di rete, tra cui i tipi di switch e sistemi, i tempi di conferma, i tassi di errore e la topologia di rete, la dimensione della memoria e la dimensione del trasferimento dati. Quando la dimensione del trasferimento dati è estremamente grande, è consigliabile impostare le dimensioni del buffer al valore massimo per migliorare la velocità effettiva, ridurre il verificarsi del controllo di flusso e ridurre il costo della CPU.

[ AIX Solaris HP-UX Linux Windows][IBM i]Le dimensioni dei buffer per le connessioni socket tra il server web e WebSphere Application Server sono impostate su 64KB. Nella maggior parte dei casi questo valore è adeguato.

[ AIX Solaris HP-UX Linux Windows][IBM i]Il controllo del flusso può rappresentare un problema quando un'applicazione utilizza il driver IBM® Developer Kit for Java (TM) JDBC o il driver IBM Toolbox for Java™ JDBC per accedere a un database remoto. Se i trasferimenti di dati sono di grandi dimensioni, il controllo del flusso può consumare una grande quantità di tempo CPU. Se si utilizza il driver IBM Toolbox for Java JDBC, è possibile utilizzare proprietà personalizzate per configurare le dimensioni del buffer per ciascuna origine dati. Si consiglia di specificare dimensioni del buffer elevate, ad esempio 1 MB.

[ AIX Solaris HP-UX Linux Windows][IBM i]Alcune impostazioni a livello di sistema possono sovrascrivere la dimensione predefinita del buffer di 8 KB per i socket. Con alcune applicazioni, ad esempio WebSphere Commerce Suite, una dimensione del buffer di 180 KB riduce il controllo di flusso e in genere non influisce negativamente sul paging. Il valore ottimale dipende dalle caratteristiche specifiche del sistema. Potrebbe essere necessario provare diversi valori prima di determinare la dimensione ideale del buffer per il proprio sistema.

[AIX]Per ulteriori informazioni, consultare le impostazioni di rete TCP/IP in Esecuzione di IBM WebSphere Application Server su System p e AIX : Ottimizzazione e best practice. Inoltre, consultare Ottimizzazione del carico di lavoro dello streaming TCP.

[Linux]Per ulteriori informazioni, consultare Linux Tuning.

[Windows]Per informazioni sulla regolazione delle dimensioni del buffer TCP/IP, consultare il documento Funzionalità TCP di Windows 2000 e Windows Server 2003. Considerare l'impostazione del valore TcpWindowSize su 8388608 o 16777216.

[IBM i]Per modificare il valore a livello di sistema, procedere come segue:

[IBM i]

Procedura

[IBM i] Regolare le dimensioni del buffer TCP/IP.
  1. Modifica la configurazione TCP/IP.
    1. Eseguire il comando Modifica attributo TCP/IP, CHGTCPA.
    2. Visualizza e modifica le dimensioni del buffer premendo F4 nella finestra Modifica attributi TCP/IP. Le dimensioni dei buffer vengono visualizzate come dimensioni dei buffer di ricezione e invio TCP. Digita i nuovi valori e salva le modifiche.
  2. Riciclare TCP/IP, quindi monitorare la CPU e le velocità di paging per determinare se rientrano nelle linee guida di sistema raccomandate.
[IBM i]

Risultati

[IBM i]Ripeti questo processo fino a determinare la dimensione ideale del buffer.

[IBM i]

Operazioni successive

[IBM i]Le dimensioni del buffer TCP/IP sono state modificate. Ripeti questo processo fino a determinare la dimensione ideale del buffer.