Aplikacja na dużą ilość użytkowników

0

Witam, mam małe pytanie. Będę tworzył dość dużą aplikację, która będzie obsługiwana przez dużą ilość użytkowników. Ogólnie zarejestrowanych będzie >10 tyś, a jednocześnie zalogowanych może być nawet koło >1 tyś. Pytanie brzmi czy lepiej pisać to w PHP czy też np w Asp.NET. Chodzi mi tutaj nie o łatwość pisania tylko o samą technologie. Podobno Zwykły Apache jak będzie miał obciążenie na poziomie 100 PV/s to zacznie odrzucać połączenia. A jak się zachowa np IIS? Domyślam się, że na pewno do tego będzie potrzebny serwer dedykowany a nie zwykły hosting, więc moje pytanie na co najlepiej patrzeć ( na jakie parametry ) kupując serwer no i jakie technologie mogły by mi pomóc w tej aplikacji, aby wszyscy użytkownicy spokojnie mogliby korzystać z aplikacji?

0

U nas trzy IIS średnio 40req/s, obciążenie wirtualek <10%, szczytowo do 200rps i po pewnych optymalizacjach bez problemu dają sobie radę.
Z tego co wiem PHP jest mniej wydajny i trudniej pisze się w nim większe aplikacje (np. przez brak jakiegokolwiek typowania). MVC.NET + C# to sama przyjemność.

0

Powiem szczerze, że bardzo mnie ucieszyła taka informacja. Dużo bardziej wolę ASP.NET MVC niż php z jakimś frameworkiem ( np YII ). Czyli jednym słowem wybór technologi jest bardzo prosty. Teraz zostało jeszcze jedno pytanie, na co najlepiej zwrócić uwagę pisząc tak wielką aplikację i jakie narzędzia mogą mi pomóc ( nie mówie tu o IDE - Visual Studio oraz Nuget i Entity). Najbardziej boję się obciążenia aplikacji podczas tak wielkiej ilości logowań jednocześnie. Cała reszta jest prosta :)

P.S
O jakich optymalizacjach mówisz?

0

W php też jesteś w stanie to osiągnąć, a jeśli jeden serwer nie da rady, to za loadbalancerem stawiasz dwa lub więcej.
Jakie optymalizacje? To szczegóły techniczne dotyczące naszej aplikacji, usunęliśmy jedno wąskie gardło. Obciążenia aplikacji samej się nie bój, raczej bój się obciążenia bazy danych, analizuj plan każdego zapytania, tam gdzie idzie dużo selectów porządnie przykryj je indeksami, tam gdzie idzie dużo insertów/update'ów użyj indeksów bardzo oszczędnie itp., i oczywiście zrealizuj testy wydajnościowe.

0

Wole jednak MVC.NET ;)
czyli jednym slowem nie bac sie PV/s tylko samej bazy ;)
dzięki za pomoc ;) a jest cos co moze mi pomóc oprócz nuget i entity?

0

Management Studio -> plan wykonania, testy wydajnościowe (na ostatnim MTS widziałem całkiem fajne wykorzystanie testów jednostkowych w MSTest jako testów wydajnościowych).
EF ułatwia pracę, ale jest dość wolny, zastanów się nad innym ORM (uprzedzam, NHibernate jest jeszcze wolniejszy).

Co nuget ma wspólnego z pisaniem wydajnego kodu? oO

0

A masz jakiś inny godny polecenia ORM, czy jednak testować każdy i polegać na opiniach zawartych w odpowiedziach wujka Google?

0

Nie mam, bo EF jest wygodne i wyrabia się w naszym projekcie, ale warto żebyś miał świadomość, że są dużo wydajniejsze rozwiązania (niekoniecznie wygodniejsze).

0

A co powiesz o zwyklym LINQ 2 SQL?
spróbuje na razie z EF, zobaczymy jak to będzie ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1