Toepassingsgedrag
Een ander aspect van de ontwikkeling van toepassingen is het verschil in gedrag tussen lokale of intracomputerbewerkingen en gedrag wanneer bewerkingen plaatsvinden tussen twee computers in het netwerk. Er zijn toepassingsgedrag dat acceptabel kan werken op een lokale computer, maar wanneer ze worden uitgevoerd in een netwerk, veroorzaken aanzienlijke prestatievermindering en resourceverbruik. Het gedrag van de volgende toepassingen moet worden vermeden bij het ontwikkelen van Windows Sockets-toepassingen.
Gedrag om te vermijden
Chatty Applications.
Sommige toepassingen voeren veel kleine transacties uit. In combinatie met de netwerkoverhead die aan elke dergelijke transactie is gekoppeld, wordt het effect vermenigvuldigd. In netwerken kunnen kleine transacties zoveel resources en zoveel tijd verbruiken als grote transacties. Een betere aanpak is het combineren van veel kleine transacties tot één grote transactie.
Geserialiseerde transacties.
Onnodige serialisatie van transacties kan leiden tot slechte prestaties en kan de schaalbaarheid beïnvloeden. 1000 geserialiseerde transacties nemen bijvoorbeeld ten minste 1000 * RTT in beslag. Een betere aanpak is het parallel uitvoeren van niet-gerelateerde transacties. Wanneer geserialiseerde toepassingen worden gecombineerd met chatty-toepassingen, kan de reactiesnelheid ernstig worden belemmerd.
Notitie
Het correct deserialiseren van een toepassing kan lastig zijn. Als het wijzigen van geserialiseerd naar parallel te moeilijk blijkt, kunt u overwegen om meerdere transacties te combineren tot minder grote transacties.
Fat Transactions.
Toepassingen die onnodige bytes op het netwerk verzenden, worden beschouwd als dikke toepassingen. Toepassingen die onnodige bytes op het netwerk verzenden, verhogen de netwerkoverhead en de prestaties worden belemmerd. Deze situatie komt vaak van inefficiënte gegevensstructuren of inefficiënte gegevensstreaming. U kunt dit oplossen door gegevensstructuren te optimaliseren of compressie te overwegen.
In de volgende secties worden aspecten van de ontwikkeling van toepassingen beschreven.
Verwante onderwerpen