Comportamento dell'applicazione
Un altro aspetto dello sviluppo di applicazioni da considerare è la differenza nel comportamento tra operazioni locali, intracomputer e comportamento quando si svolgono operazioni tra due computer di rete. Esistono comportamenti dell'applicazione che possono funzionare correttamente in un computer locale, ma quando vengono eseguiti in una rete, causano una notevole riduzione delle prestazioni e l'utilizzo delle risorse. I comportamenti delle applicazioni seguenti devono essere evitati durante lo sviluppo di applicazioni Windows Sockets.
Comportamenti da evitare
Applicazioni chatty.
Alcune applicazioni eseguono molte piccole transazioni. Se combinato con il sovraccarico di rete associato a ogni transazione, l'effetto viene moltiplicato. Nelle transazioni di rete le piccole transazioni possono utilizzare il numero massimo di risorse e il tempo necessario per le transazioni di grandi dimensioni. Un approccio migliore consiste nel combinare molte piccole transazioni in una singola transazione di grandi dimensioni.
Transazioni serializzate.
La serializzazione non necessaria delle transazioni può causare prestazioni scarse e influire sulla scalabilità. Ad esempio, 1000 transazioni serializzate richiedono almeno 1000 * RTT per completare. Un approccio migliore consiste nell'eseguire transazioni non correlate in parallelo. Quando le applicazioni serializzate vengono combinate con applicazioni chatty, la velocità di risposta può essere seriamente impedita.
Nota
La deserializzazione corretta di un'applicazione può essere difficile. Se la modifica da serializzata a parallela risulta troppo difficile, è consigliabile combinare più transazioni in meno transazioni di grandi dimensioni.
Transazioni di grasso.
Le applicazioni che inviano byte non necessarie nella rete sono considerate applicazioni fathe. Le applicazioni che inviano byte non necessarie nella rete aumentano il sovraccarico di rete e le prestazioni sono impedite. Questa situazione spesso deriva da strutture di dati inefficienti o streaming di dati inefficienti. Per risolvere questo problema, ottimizzare le strutture dei dati o prendere in considerazione l'uso della compressione.
Le sezioni seguenti illustrano gli aspetti dello sviluppo di applicazioni da considerare.
- Problemi specifici di TCP/IP
- Riconoscimento di applicazioni lente
- Calcolo del sovraccarico con Netstat
Argomenti correlati