共用方式為


應用程式行為

要考慮的應用程式開發的另一個層面是本機或計算機內部作業之間的行為差異,以及在兩部網路計算機之間進行作業時的行為。 本機計算機上可能會有一些應用程式行為可以正常運作,但當跨網路執行時,會導致顯著的效能降低和資源耗用量。 開發 Windows Sockets 應用程式時,應避免下列應用程式行為。

要避免的行為

  • Chatty Applications。

    某些應用程式會執行許多小型交易。 結合與每個這類交易相關聯的網路額外負荷時,效果會相乘。 在網路功能中,小型交易可以耗用盡可能多的資源,以及大量交易的時間。 更好的方法是將許多小型交易合併成單一大型交易。

  • 串行化交易。

    不必要的交易串行化可能會導致效能不佳,並影響延展性。 例如,1000 個串行化交易至少需要 1000 * RTT 才能完成。 更好的方法是平行執行不相關的交易。 當串行化應用程式與閒聊的應用程式結合時,回應能力可能會受到嚴重阻礙。

    注意

    正確還原串行化應用程式可能很困難。 如果從串行化變更為平行作業太困難,請考慮將多個交易合併成較少的大型交易。

     

  • Fat Transactions。

    在網路上傳送不必要的位元組的應用程式會被視為胖應用程式。 在網路上傳送不必要的位元組的應用程式會增加網路負荷,而且效能會受到影響。 這種情況通常來自效率不佳的數據結構或效率不佳的數據串流。 若要解決此問題,請將數據結構優化,或考慮使用壓縮。

下列各節說明要考慮的應用程式開發層面。

高效能 Windows Sockets 應用程式