2017-01-04 19 views
5

Witam Jestem na wczesnym etapie wyboru ramy aktora dla projektu, który mam zamiar rozpocząć. O ile mi wiadomo Orleans miał ulżyć twórcy tyle bólu, ile to możliwe, kosztem niektórych wydajności. W Akka.net wiem, że rozmiar aktora to 400 bajtów. Jeśli mam rację i musisz przejść na niski poziom, aby obsłużyć połączenia klastra i rzeczy zarządzane przez orleany, ale przyniesie ci świetną wydajność.Akka.net vs Orleans performance

Jedyne wskaźniki wydajności znalazłem wokół internecie Orleans są:

Korzystanie X-Large VM (8 rdzeni CPU/14 GB RAM) na Microsoft Azure, z jednym silosie na VM:

Ziarno obsłuży maksymalnie 1000 zgłoszeń na sekundę. Silos obsłuży maksymalnie 10 000 zgłoszeń na sekundę. Silos będzie zawierał 100 000 aktywnych ziaren.

I Akka.net w głównym page:

50 mln msg/s na pojedynczym komputerze. Mały ślad pamięci; ~ 2,5 miliona aktorów na GB sterty.

Chciałbym wiedzieć, jakie maszyny były używane w scenariuszu Akka.net i jak działają Ziarno kontra aktor (pod względem liczby zapytań na sekundę i liczby ziaren/aktorów można zmieścić w GB RAM mniej więcej) i ile ma ciężar ziarna w pamięci.

Z cytatami z Orleanu i Akka.net wygląda na to, że Akka.net radzi sobie znacznie lepiej, ale chciałbym uzyskać dalsze porównanie zarówno pod względem wydajności.

Znalazłem ten numer Akka.Net VS MS Orleans Comparison i Orleans and Akka Actors: A Comparison, ale nie rozwiązałem problemu z wydajnością.

Dzięki!

+4

Myślę, że przekonasz się, że - tak jak w przypadku wszystkich komputerów rozproszonych - wydajność zależy od wielu czynników, a logika aplikacji jest prawdopodobnie najważniejsza. Preferuję podejście Orleans, ponieważ jestem programistą i nie chcę zarządzać każdym szczegółem, ale to tylko moja opinia. Twórz prototypy, wykorzystując oba podejścia i sprawdzaj, co działa najlepiej. –

+3

Jak już powiedział @DanWilson, testy porównawcze opierają się na wielu czynnikach, więc trudno je naprawdę porównać. Chociaż Akka .NET jest prawdopodobnie szybsza, to jest również znacznie niższy poziom. Pod względem przetwarzania rozproszonego łatwość skalowania i rozwoju jest często o wiele ważniejsza niż moc przetwarzania surowego. Zdecydowanie wolałbym zaoszczędzić wiele miesięcy pracy programistów kosztem dodatkowej wydajności, której i tak nigdy nie będę potrzebował. – Gigi

Odpowiedz

11

W serwisie Akka.net zgłaszają lokalne wiadomości, głównie wywołania funkcji. W Orleanie zgłaszamy zdalne wiadomości, RPC. To główna różnica. Są też inne różnice.

Oprócz powyższego, jedyną prawdziwą radą, jaką mogę ci dać, jest zmierzenie się, za realistyczną analizę porównawczą, w konfiguracji, która będzie jak najbardziej zbliżona do produkcji pod względem wzorców komunikacji i liczby serwerów.