Jak efektywne jest korzystanie z gniazd podczas wykonywania IPC w porównaniu do nazwanych potoków i innych metod w systemach Windows i Linux?Gniazda na tej samej maszynie dla systemów Windows i Linux
W tej chwili mam 4 oddzielne aplikacje na 4 oddzielnych polach, które muszą się komunikować. Dwa z nich to aplikacje .NET 3.5 działające w systemie Windows Server 2003 R2. Dwa to Linux (Suse Linux 10). Zwykle nie są one związane z procesorem. Ilość ruchu nie jest tak duża, ale bardzo ważna, aby była to mała zwłoka. Używamy teraz gniazd z funkcją "nagle dis-abled" i zainstalowaną łatą sles10 slow-start na urządzeniach Linux-a.
Jak myślisz, ile przyspieszenia prędkości dostaniemy po prostu uruchamiając dwie aplikacje systemu Windows w tym samym oknie systemu Windows i dwie aplikacje linuksowe w tym samym oknie systemu Linux i nie wykonując żadnych zmian kodu (tj. Nadal używając gniazd).
Czy system operacyjny zorientuje się, że punkty końcowe znajdują się na tym samym komputerze i nie wychodzą z sieci do sieci Ethernet? Czy pakiety nadal będą musiały przejść przez cały stos sieciowy? O ileż szybciej byłoby, gdybyśmy poświęcili czas na zmianę nazwanych potoków lub plików mapowanych w pamięci lub coś innego?
To jest łatwe do przetestowania. Po prostu przetestuj to. –
+1, jeffamaphone: nie ma tu żadnych niejasnych komentarzy ani niepotwierdzonych dowodów. Ważne jest, jak zachowują się * programy Michaela *. –
Zgoda, powinienem to przetestować. To jedyny sposób, aby wiedzieć na pewno, biorąc pod uwagę wszystkie różnice w sieciach, konfiguracjach itd. Miałem jednak nadzieję, że ktoś będzie miał link do kogoś, kto już zrobił bardzo podobny test. Nie mogę sobie wyobrazić, że rygorystyczne porównywanie wydajności tych rzeczy jest nowym pomysłem - prawdopodobnie wykonano go 100 razy przez ludzi, którzy wiedzą dużo więcej na temat networkingu niż ja. –