• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Gra w .Net Core - jakie rozwiązanie lepsze

+1 głos
365 wizyt
pytanie zadane 14 listopada 2024 w C# przez BjoTrek Nowicjusz (210 p.)
Cześć

Na wstępie zaznaczę, że jestem lajkiem w temacie i moje pytanie może być trochę chaotyczne, jednak mam nadzieję, że się domyślicie o co chodzi, jeśli zadam je niepoprawnie :D

W ramach nauki platformy .Net oraz języka C#, planuję stworzyć grę via www i nurtuje mnie pytanie, czy jest jakaś większa różnica w wydajności przy dużym ruchu na serwerze pomiędzy .NET Core MVC (gdzie wszystkie widoki mam obsługiwane przez kontroler), a API którym tylko bym odpowiadał na zapytania z zewnętrznie utworzonej strony?

Jeśli tak to jakie rozwiązanie byłoby najbardziej optymalne dla strony/gry z dużym natężeniem ruchu (liczbą graczy i podejmowanych przez nich akcji)?

Dziękuję za odpowiedź.

2 odpowiedzi

+1 głos
odpowiedź 14 listopada 2024 przez reaktywny Nałogowiec (46,230 p.)

Na to pytanie mogą odpowiedzieć testy obciążeniowe / wydajnościowe. Jednym z popularniejszych narzędzi do tego jest JMeter. W mojej ocenie API powinno być szybsze (przy założeniu tej samej funkcjonalności)  od strony renderowanej na serwerze, ale.....nie mam pewności :)

Możesz też spróbować ASP.net Minimal API - ono jest pomyślane by ułatwić pisanie API, ale też ma na względzie wydajność.

Zobacz:

[ Dostosowywanie testów obciążeniowych za pomocą wtyczek JMeter - Azure Load Testing | Microsoft Learn ]
--> https://learn.microsoft.com/pl-pl/azure/load-testing/how-to-use-jmeter-plugins?tabs=portal

[ Tworzenie testu obciążeniowego opartego na JMeter - Azure Load Testing | Microsoft Learn ]
--> https://learn.microsoft.com/pl-pl/azure/load-testing/how-to-create-and-run-load-test-with-jmeter-script?tabs=portal

[ Testowanie obciążenia. Porównanie narzędzi k6 i JMeter - testowanie oprogramowania, jakość i testerzy. Dowiedz się co robią testerzy w branży IT. - testerzy.pl ]
--> https://testerzy.pl/baza-wiedzy/narzedzia/testowanie-obciazenia-porownanie-narzedzi-k6-i-jmeter

[ Jak korzystać JMeter do testowania wydajności i obciążenia ]
--> https://www.guru99.com/pl/jmeter-performance-testing.html

[ JMeter — testy obciążeniowe ]
--> https://blog.termian.dev/pl/posty/testy-obci%C4%85%C5%BCeniowe-jmeter/

 

0 głosów
odpowiedź 14 listopada 2024 przez Bantu Nałogowiec (34,250 p.)
W ramach nauki serio nie ma sensu się nad tym zastanawiać. Na wydajność składa się wiele czynników takich jak:

- parametry maszyny, na której stoi serwer
- wydajność zapytań do bazy danych i ich liczba
- wydajność samego frontendu i co tam się dzieje
- wydajność ogólnie samego kodu po obu stronach

W praktyce to wygląda tak, że lepiej na początek stworzyć prototyp jakąś wersję tzw. MVP i zobaczyć co się będzie działo. Na tym etapie gdzie nie ma nic, lepiej po prostu coś zrobić i potem zastanawiać się dalej. Projekt może nigdy nie dojść do etapu, gdzie sama wydajność będzie problemem. Lepiej na początek skupić się na funkcjonalnościach, które przyciągną użytkowników.

Osobiście jednak wolę robić osobno backend i frontend, czyli osobno API. Ale to bardziej wynika bardziej z osobistych preferencji często. Jednak czasami lepiej zrobić API osobno, żeby później wiele frontendów mogło z niego korzystać. Masz jedno API do wielu aplikacji, albo API, które komuś udostępniasz i dany twórca z niego korzysta.

Podobne pytania

0 głosów
0 odpowiedzi 271 wizyt
pytanie zadane 4 marca 2024 w C# przez drewienko Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 556 wizyt
pytanie zadane 6 lipca 2023 w C# przez reaktywny Nałogowiec (46,230 p.)
0 głosów
0 odpowiedzi 183 wizyt

93,608 zapytań

142,531 odpowiedzi

323,004 komentarzy

63,101 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...