應用程式行為

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

要避免的行為

  • 聊天應用程式。

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

  • 序列化交易。

    不必要的交易序列化可能會導致效能不佳,並影響延展性。 例如,1000 個序列化交易至少需要 1000 * RTT 才能完成。 更好的方法是平行執行不相關的交易。 當序列化應用程式與聊天應用程式結合時,回應能力可能會非常令人困擾。

    注意

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

     

  • Fat Transactions。

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

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

高效能 Windows Sockets 應用程式