应用程序行为

要考虑的应用程序开发的另一个方面是本地或计算机内部操作之间的行为差异,以及两台联网计算机之间发生操作时的行为。 某些应用程序行为可能在本地计算机上正常使用,但在跨网络运行时,会导致性能显著降低和资源消耗。 开发 Windows 套接字应用程序时,应避免以下应用程序行为。

要避免的行为

  • 聊天应用程序。

    某些应用程序执行许多小型事务。 与与每个此类事务关联的网络开销结合使用时,效果会成倍增加。 在网络中,小型事务可以消耗与大型事务一样多的资源和时间。 更好的方法是将许多小事务合并为单个大型事务。

  • 序列化事务。

    不必要的事务序列化可能会导致性能不佳,并影响可伸缩性。 例如,1000 个序列化事务至少需要 1000 * RTT 才能完成。 更好的方法是并行运行不相关的事务。 将序列化的应用程序与聊天应用程序结合使用时,响应能力可能会受到严重阻碍。

    注意

    正确反序列化应用程序可能很困难。 如果从序列化更改为并行太难,请考虑将多个事务合并为更少的大型事务。

     

  • Fat 事务。

    在网络上发送不必要的字节的应用程序被视为胖应用程序。 在网络上发送不必要的字节的应用程序会增加网络开销,并且性能受到阻碍。 这种情况通常来自低效的数据结构或低效的数据流。 若要解决此问题,请优化数据结构,或考虑使用压缩。

以下部分介绍要考虑的应用程序开发的各个方面。

高性能 Windows 套接字应用程序