Niska wydajność przy umiarkowanym / wysokim IO

3

Maszyna z systemem Windows XP cierpi z powodu niskiej wydajności podczas utrzymywanego We / Wy, sieci lub dysku. Zużycie procesora i pamięci jest minimalne, użycie systemu + przerywa użycie <5%, zgodnie z Process Explorer. Zużycie pamięci <20% (z 4 GB). Utrzymanie IO dysku lub sieci na poziomie ~ 150 KB / s lub większym powoduje poważne spowolnienie. Najbardziej zauważalnie aplikacje ( wszystkie aplikacje) uruchamiają się bardzo wolno (mała aplikacja Hello World C skompilowana z MinGW zajęła 12 sekund, aby wyświetlić komunikat printf () i wyjść).

Czy to normalne? Jeśli nie, co się dzieje? Nie jest to też maksymalna możliwa liczba operacji we / wy ... Mogę z łatwością osiągnąć około 100 MB / s dla dysku twardego i 5 MB / s w sieci, ale wszystko powyżej ~ 150 KB / s powoduje takie zachowanie.

Dell Inspiron 1545, Intel P8600 Core2 Duo @ 2.4GHz, 4 GB RAM, 500 GB HDD


źródło
1
Może to być normalny, to znaczy objaw nasyconej przepustowości we / wy. Powinieneś podać szczegóły sprzętu. Intel i AMD polegają na promowaniu przepustowości przetwarzania procesora, aby sprzedać ci nowy sprzęt, ignorując stronę wejścia / wyjścia monety.
trociny

Odpowiedzi:

2

Podejrzewam, że to, co widzisz, jest normalnym zachowaniem komputera z systemem Windows w odniesieniu do operacji we / wy dysku. W celu ewentualnego potwierdzenia mogłem porównać dwa komputery z systemem Windows 7, które mają bardzo podobne wskaźniki wydajności systemu Windows (wskazuje?). Pierwszy komputer to laptop Thinkpad podobny do twojego z P8600 @ 2,4 GHz i dyskiem 2,5 "SATA II 5400 obr./min. Drugi komputer to komputer stacjonarny z dwurdzeniowym procesorem Athlon 64 X2 3800+ i 3,5" SATA 7200 obr./min. Uruchomiłbym lokalną kopię dysku na dysk dużego (kilka gigabajtów) pliku; podczas gdy ta kopia pliku była w toku, spróbowałbym uruchomić aplikację. Typowe opóźnienie dla obu komputerów było rzędu 10 do 20 sekund (opóźnienie prawdopodobnie można skorelować z rozmiarem aplikacji).

Ponieważ komputer stacjonarny ma dwa dyski twarde, mogłem również wykonać kopię pliku na jednym dysku, a następnie załadować aplikację z drugiego dysku twardego; Dzięki dwóm niezależnym napędom dyskowym aplikacje uruchomiły się w około 2–5 sekund.

Wspominasz, że ten problem występuje również w przypadku „sieciowych operacji we / wy”. O ile nie wykonasz jednorazowego transferu danych (np. Danych sieciowych do segmentu bitów, takiego jak / dev / null w * nix), prawdopodobnie użyłeś pliku dyskowego jako źródła lub miejsca docelowego do wygenerowania „sieciowego we / wy” . Tak więc dyskowe operacje we / wy ujawniają się jako wspólne działanie „dyskowych operacji we / wy”, „sieciowych operacji we / wy” i powolnego uruchamiania aplikacji.

Może to być dziwactwo planowania w systemie Windows: zadanie intensywnie korzystające z operacji we / wy (np. Kopia pliku) może uzyskać priorytet planowania po zakończeniu każdej pojedynczej operacji odczytu lub zapisu (aby w pewnym stopniu zrekompensować czas bezczynności procesu zmuszony do oczekiwania i utrzymania przepustowości we / wy). Inne zadanie / proces rozpoczęty, gdy aktywne jest to zadanie intensywnie we / wy, może mieć niekorzystną sytuację w zakresie planowania we / wy. Podobne dziwactwo widziałem w innym systemie operacyjnym: opracowywałem narzędzie do kopiowania bazy danych w systemie dla wielu użytkowników (nie w Uniksie). Narzędzie spowolniło system dla wszystkich innych użytkowników podczas jego wykonywania, więc zostałem oskarżony o ustawienie harmonogramu lub priorytetów zadań na moją korzyść, ale nie zrobiłem tego.

trociny
źródło
0

Przepustowość to tylko połowa sukcesu. Jeśli jest to przypadkowe we / wy, może spowolnić wszystko do punktu, w którym operacje we / wy zaczynają się kolejkować.

Powinieneś uruchomić Perfmon.exe i sprawdzić średnią długość kolejki dyskowej i średnią liczbę sekund na liczniki transferu .

surfasb
źródło