Udostępnij przez


Rozpoznawanie powolnych aplikacji

Ten przewodnik określa powolną aplikację jako aplikację systemu Microsoft Windows z obniżoną wydajnością. Powolna aplikacja wykazuje co najmniej jeden z następujących objawów:

  • Wykorzystanie procesora i sieci jest niskie.

    Komputer wydaje się czekać na coś. Często aplikacja czeka w sieci.

  • Wyłączenie algorytmu Nagle przez opcję gniazda TCP_NODELAY zwiększa wydajność.

    Wskazuje to inne problemy i nie należy ich traktować jako rozwiązania. Wyłączenie algorytmu Nagle zwiększa obciążenie protokołu. Nie używaj tej metody jako poprawki dla uszkodzonych aplikacji — tylko jako wskazanie, że aplikacja wymaga innej pracy, aby rozwiązać problemy z wydajnością.

  • Aplikacja wykazuje duże obciążenie.

    Aby obliczyć obciążenie aplikacji, określ ilość danych, które mają być przesyłane w każdym kierunku. Następnie użyj polecenia Netstat i dodaj (dla sieci Ethernet) 60 bajtów dla każdego pakietu i 500 bajtów dla każdego połączenia. Najlepsze obciążenie, które można oczekiwać w przypadku przesyłania strumieniowego za pośrednictwem sieci Ethernet, wynosi około 6%. W przypadku połączenia modemu najlepsze obciążenie wynosi około 2%, ze względu na fakt, że link PPP używa kompresji nagłówka. Aby uzyskać więcej informacji, zobacz Obliczanie obciążenia przy użyciu Netstat.

  • Odpowiedź aplikacji spowalnia, gdy połączenie ma duży RTT.

    Zakładając, że aplikacja nie zbliża się do przepustowości łącza, duży RTT powinien mieć niewielki lub żaden efekt. Dramatyczne spowolnienie z dużym RTT jest wyraźnym znakiem serializacji przetwarzania i wielu małych transakcji.

Każda aplikacja powinna być testowana w środowisku z dużym RTT. W ten sposób ujawnia się większość aplikacji, które cierpią z powodu słabych wyborów programistycznych. Te testy można przeprowadzić w kilku środowiskach, w tym w sieci bezprzewodowej LAN, symulatora opóźnienia łącza lub sieci satelitarnej.

zachowanie aplikacji

aplikacje Windows Sockets o wysokiej wydajności

Algorytm Naglego