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!
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. –
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