Chování aplikace
Dalším aspektem vývoje aplikací, který je potřeba vzít v úvahu, je rozdíl v chování mezi místními nebo intrapočítačovými operacemi a chováním při provádění operací mezi dvěma síťovými počítači. Na místním počítači může fungovat dobře chování aplikací, ale při spuštění přes síť může dojít k významnému snížení výkonu a spotřebě prostředků. Při vývoji aplikací Windows Sockets byste se měli vyhnout následujícímu chování aplikací.
Chování, kterým se chcete vyhnout
Chatty Applications.
Některé aplikace provádějí mnoho malých transakcí. V kombinaci se síťovými režijními náklady spojenými s každou takovou transakcí se efekt vynásobí. V sítích můžou malé transakce spotřebovávat tolik prostředků a tolik času jako velké transakce. Lepším přístupem je kombinovat mnoho malých transakcí do jedné velké transakce.
Serializované transakce.
Nepotřebná serializace transakcí může mít za následek nízký výkon a ovlivnit škálovatelnost. Například 1000 serializovaných transakcí trvá alespoň 1000 * RTT dokončení. Lepším přístupem je paralelní spouštění nesouvisejících transakcí. Když jsou serializované aplikace kombinovány s chatty aplikace, rychlost odezvy může být vážně narušena.
Poznámka
Správné deserializace aplikace může být obtížné. Pokud změna ze serializované na paralelní ukazuje příliš obtížné, zvažte kombinování více transakcí do menšího počtu velkých transakcí.
Tukové transakce.
Aplikace, které posílají nepotřebné bajty v síti, se považují za tukové aplikace. Aplikace, které posílají nepotřebné bajty v síti, zvyšují režii sítě a výkon je narušený. Tato situace často pochází z neefektivních datových struktur nebo neefektivního streamování dat. Chcete-li to napravit, optimalizujte datové struktury nebo zvažte použití komprese.
Následující části se zabývají aspekty vývoje aplikací, které je potřeba zvážit.
- problémy specifické pro protokol TCP/IP
- rozpoznávání pomalých aplikací
- výpočet režie pomocí nástroje Netstat
Související témata