2013-03-01 9 views
9

Prowadzę badania nad nowymi technologiami sieciowymi i stworzyłem bardzo prostą witrynę Azure, która korzysta z gniazd internetowych i bazy danych mongo jako bazy danych. Udało mi się połączyć wszystkie komponenty i teraz muszę przeprowadzić testowanie obciążenia na aplikacji.Testowanie aplikacji sieci Web Windows Azure w celu maksymalnego obciążenia użytkownika

Głównym kryterium jest maksymalne obciążenie użytkownika, które może obsługiwać aplikacja, w chwili obecnej istnieje 1 instancja roli internetowej, więc prawdopodobnie musiałbym przetestować maksymalne obciążenie użytkownika dla tej instancji, a następnie wypróbować dwie instancje i tak na.

Znalazłem kilka rozwiązań w Internecie, takich jak Loadstorm, jednak nie stać mnie na zapłacenie za korzystanie z tych usług, więc muszę być w stanie to zrobić z mojej własnej maszyny programistycznej LUB z innej usługi w chmurze.

Natknąłem się na testy ładujące programu Visual Studio i wydają się one całkiem przydatne, jednak wydaje się, że wymagają one VS Ultimate i aktywnej subskrypcji msdn - wymagania są wymienione na here. Ponadto, z this video, która pokazuje podstawy testów obciążeniowych, wydaje się, że te testy obciążenia są tworzone całkowicie niezależnie od rzeczywistego projektu internetowego, więc czy to oznacza, że ​​widzę tylko dane związane z użytkownikiem? np. nie widzę ilości używanej pamięci RAM, procesora itp.

Jakieś sugestie?

Odpowiedz

6

Użytkownik może utworzyć wirtualną maszynę Linux w samej usłudze Azure lub innym dostawcy usług hostingowych i użyć ApacheBench (ab) lub JMeter, aby wykonać proste testowanie obciążenia w aplikacji. Należy pamiętać, że w takiej konfiguracji serwery testowe mogą być wąskim gardłem.

Innym podejściem jest użycie usługi testowania obciążenia forum wich pozwalają trochę wolnego użytkowania, takich jak:

+0

Dzięki, będę sprawdzeniu loader.io wygląda to ciekawe! – Matt

+1

Loader.io działa doskonale na moje potrzeby, dzięki jeszcze raz! – Matt

3

dla obciążenia-testów LoadStorm jest bardzo przystępnej cenie, zwłaszcza w porównaniu do oprogramowania w pomieszczeniach (i posiada bezpłatny Poziom z maksymalnie 25 wirtualnych klientów). Możesz zainstalować kod taki jak jmeter, ale nadal będziesz potrzebował maszyn (lub vm) do hostowania i uruchamiania go, a musisz upewnić się, że maszyny generujące ładunki nie są wąskim gardłem w twoich testach.

Po uruchomieniu testów warto rozważyć oddzielenie warstwy internetowej od MongoDB. MongoDB zużyje tyle pamięci, ile to możliwe (ponieważ to daje MongoDB prędkość). W prawdziwym scenariuszu prawdopodobnie będziesz mieć MongoDB we własnym środowisku. Tak więc dla twoich testów rozważam odładowanie MongoDB do jego własnych instancji, a 10gen ma Worker Role setup, który jest dość prosty do zainstalowania.

Należy również pamiętać, że przepustowość karty sieciowej wynosi 100 Mb/s na rdzeń, co może być czynnikiem ograniczającym testy, w zależności od tego, ile ładujesz.

Jedna alternatywa dla samodzielnego hostingu MongoDB: Oddaj MongoDB hostowi, np. MongoLab. Pozwoli ci to przetestować wydajność twojej aplikacji internetowej, nie martwiąc się o szczegóły związane z konfiguracją, konfiguracją, optymalizacją MongoDB itp. Obecnie MongoLab oferuje swoją darmową warstwę hostowaną w centrach danych Azure, US West i US East.

+0

Dzięki za wejście! p.s. Używam robotniczych ról w MongoDB, w rzeczywistości ogólnym celem jest przetestowanie żywotności strony internetowej zbudowanej z lazurowych, mongodbowych i internetowych stron :) – Matt

0

Osoby zainteresowane znalezieniem liczników wydajności testowanej aplikacji mogą ponownie sprawdzić niektóre z najnowszych funkcji dodanych do testu obciążenia bazowego Visual Load Cloud. http://blogs.msdn.com/b/visualstudioalm/archive/2014/04/07/get-application-performance-data-during-load-runs-with-visual-studio-online.aspx

Aby uzyskać więcej informacji o programie Visual Studio chmurze rozwiązania Load Testing - https://www.visualstudio.com/features/vso-cloud-load-testing-vs

Powiązane problemy