2008-09-18 15 views
5

Pracuję nad propozycją klienta i będą musieli zaktualizować swoją infrastrukturę sieciową, aby obsługiwać aplikacje ASP.NET. Zasadniczo muszę oszacować maksymalne wykorzystanie systemu ze znaną liczbą użytkowników (obecnie 250). Prosta odpowiedź, taka jak "potrzebujesz dedykowanej linii T1" prawdopodobnie wystarczy, ale chciałbym mieć dane do jej utworzenia.Jaka jest najdokładniejsza metoda szacowania zapotrzebowania na przepustowość szczytową dla aplikacji internetowej?

Another question z odniesieniem do NetLimiter, który wygląda całkiem zgrabnie, aby uzyskać poczucie tego, co jest używane.

Moja ogólna myśl polega na tym, że uruchomię aplikację internetową i użyję systemu tak, jakbym oczekiwał, że będzie używany u klienta, naprawdę w spokojnym tempie, w pewnym przedziale czasowym, a następnie pomnoży wykorzystanie przepustowości według liczby użytkowników i podzielić według czasu.

To nie wydaje się bardzo naukowe. Może to być wystarczająco dobre dla propozycji, ale chciałbym sprawdzić, czy jest lepszy sposób.

Wiem, że dostępne są narzędzia do ładowania do testowania wydajności aplikacji WWW, ale wygląda na to, że nie dokładnie symulowałyby obciążenie użytkownika szczytem dla celów testowania przepustowości (zbyt wiele na raz).

Platforma to Windows/ASP.NET, a aplikacja jest hostowana w SharePoint (MOSS 2007).

Odpowiedz

3

Zamiast dobrego narzędzia do raportowania wykorzystania przepustowości, zawsze można zrobić przybliżony przykład.

N = liczba odsłon w ruchliwych godziny P = Średnia wielkość Page

(N * P)/3600) = średni ruch na sekundę.

Sam serwer będzie miał o wiele więcej ruchu wewnętrznego dla prawdopodobnie serwera db/NAS/etc. Ale na zewnątrz, który powinien dać ci bardzo zgrubny pomysł na wykorzystanie. Oczywiście będziesz musiał znacznie przekroczyć powyższą wartość, ponieważ nigdy nie chcesz być w 100% wykorzystany i pozwolić na inny ruch.

Nie sugerowałbym również używania arbitralnego numeru, np. 250 użytkowników. Jako odniesienie używaj najcięższego dnia produkcji/godzinę. Podwójne i potrójne, jeśli chcesz, ale to daje oczekiwaną dystrybucję zachowania użytkownika, jeśli masz dobre pliki dziennika/audyt użytkownika. Pomoże to w dokładniejszym ustaleniu wartości granicznej.

Jak zauważył inny komentator, centrum danych to dobry pomysł, gdy problemem staje się nadmiarowość i dostępność przepustowości. Twoje potrzeby mogą się różnić, ale nie lekceważ sugestii.

+1

Aby przejść od prognozy średniego ruchu do planowania pojemności dla ładunków serii, zobacz doskonałe uwagi Charlie Martina na temat tego komentarza: http://stackoverflow.com/questions/379478/whats-the-best-way-to-determine-tohe Wymagania sprzętowe dla aplikacji/379543 ​​# 379543 –

3

Istnieje kilka dodatkowych pytań, które należy zadać tutaj.

Czy to 250 użytkowników końcowych lub 250 jednoczesnych użytkowników? Jeśli współbieżny jest 250, czy 250 zazwyczaj? Jeśli ma 250 użytkowników, czy wszyscy będą używać go w tym samym czasie (np. Strona intranetowa, gdzie ludzie muszą jej używać jako część swojej pracy), czy może jest to strona społeczności, w której mogą lub nie mogą istnieć? Użyj tego? Zakładam, że masz na myśli, że ma 250 użytkowników, ale wciąż nie ma wystarczającej wiedzy na temat witryny, aby oszacować.

Jeśli jest to społeczność lub "normalna" strona internetowa, będzie również zależeć od użycia - np. Czy ludzie naprawdę będą intensywnie używać tego, czy jest to coś, co niektórzy użytkownicy po prostu zalogują się tylko raz, a następnie zapomnieć? To może być trudne pytanie z twojej perspektywy, ponieważ będziesz chciał założyć to pierwsze, ale jeśli wydasz dużo pieniędzy na infrastrukturę sieciową i nikt nie będzie z tego korzystał, może to być bardzo złe.

Co robi strona? Na niższym końcu spektrum znajduje się "typowa" aplikacja internetowa, w której masz rozsądną wielkość (powiedzmy 1-2k) stron i garść obrazów. Trochę bardziej intensywna jest strona z dużą ilością mediów - np. Przeglądanie obrazów w stylu flickr. Na górnym końcu znajduje się strona z dużą ilością pobrań - streaming filmów lub po prostu duże pliki lub zestawy danych, które są pobierane.

Trwa to nieco poniżej progu pytania, ale kolejną rzeczą, na którą warto zwrócić uwagę, jest przyszłość strony: czy użycie może podwoić się w przyszłym roku lub miesiącu? Zachowaj ostrożność, aby nie podpisać długoterminowej umowy z czymś takim, jak połączenie T1 lub światłowodem, bez konieczności modernizacji.

Kolejne pytanie to niezawodność - czy potrzebujesz nadmiarowości w połączeniach? Może to kosztować dużo z góry, ale istnieją sposoby wykonywania połączeń wieloosobowych, w których można zrównoważyć dostęp przez kilka łączy, a następnie po prostu użyć jednego (choć z ograniczoną pojemnością) w przypadku awarii.

Inną opcją do rozważenia, która skutecznie pozwala całkowicie uniknąć tego całego pytania, jest po prostu hostowanie aplikacji w centrum danych.Płacisz stosunkowo niską miesięczną opłatę (niska w porównaniu do kosztu dedykowanego połączenia wysokiej jakości), a Ty dostajesz tyle przepustowości, ile potrzebujesz (np. Większość planów hostingowych da ci coś w rodzaju transferu 500 GB na miesiąc, na początek - a niektóre dadzą ci nieograniczoną liczbę). Centrum danych będzie także bardziej niezawodne niż wszystko, co możesz zbudować (poza własnym 6+ centrum danych), ponieważ ma nadmiarowy internet, zapasowe zasilanie, nadmiarowe chłodzenie, ochronę przeciwpożarową, fizyczne bezpieczeństwo .. i mają ludzi, którzy zarządzają wszystkimi tego dla ciebie, więc nigdy nie musisz się z tym uporać.