Partilhar via


Comportamento do aplicativo

Outro aspeto do desenvolvimento de aplicativos a considerar é a diferença de comportamento entre operações locais ou intracomputador e o comportamento quando as operações ocorrem entre dois computadores em rede. Há comportamentos de aplicativos que podem funcionar aceitavelmente bem em um computador local, mas quando executados em uma rede, causam degradação significativa do desempenho e consumo de recursos. Os seguintes comportamentos de aplicativo devem ser evitados ao desenvolver aplicativos Windows Sockets.

Comportamentos a evitar

  • Aplicativos tagarelas.

    Alguns aplicativos executam muitas pequenas transações. Quando combinado com a sobrecarga de rede associada a cada transação, o efeito é multiplicado. Na rede, pequenas transações podem consumir tantos recursos e tanto tempo quanto grandes transações. Uma abordagem melhor é combinar muitas pequenas transações em uma única grande transação.

  • Transações serializadas.

    A serialização desnecessária de transações pode resultar em baixo desempenho e afetar a escalabilidade. Por exemplo, 1000 transações serializadas levam pelo menos 1000 * RTT para serem concluídas. Uma abordagem melhor é executar transações não relacionadas em paralelo. Quando os aplicativos serializados são combinados com aplicativos tagarelas, a capacidade de resposta pode ser seriamente prejudicada.

    Observação

    Desserializar corretamente um aplicativo pode ser difícil. Se mudar de serializado para paralelo for muito difícil, considere combinar várias transações em menos transações grandes.

     

  • transações gordas.

    Aplicativos que enviam bytes desnecessários na rede são considerados aplicativos gordos. Os aplicativos que enviam bytes desnecessários na rede aumentam a sobrecarga da rede e o desempenho é prejudicado. Esta situação resulta frequentemente de estruturas de dados ineficientes ou de um fluxo de dados ineficiente. Para remediar isso, otimize as estruturas de dados ou considere o uso da compactação.

As seções a seguir abordam aspetos do desenvolvimento de aplicativos a serem considerados.

Aplicativos Windows Sockets de alto desempenho