Istnieją głównie dwa podejścia do świadczenia usług na aplikację:
test wydajności i przetestować system
Jak one różnią? Cóż, jest to łatwe, opiera się na ich zasięgu, zakres testów wydajności jest ograniczony i jest wysoce nierealistyczny. Przykład: przetestuj program obsługi IncomingMessage w niektórych aplikacjach X, w tym celu skonfiguruj test, który wyśle wiadomości do tego programu obsługi na podstawie X, Y, Z. Takie podejście pomoże ci określić problemy i zmierzyć wydajność poszczególnych i ograniczonych stref w twojej aplikacji.
To powinno teraz doprowadzić Cię do pytania, więc czy testowanie wydajności i wydajność testuję każdy z komponentów w mojej aplikacji indywidualnie? Tak, jeśli uważasz, że zachowanie komponentu ma kluczowe znaczenie, a zmiany w nowszych wersjach prawdopodobnie spowodują nałożenie kar. Ale jeśli chcesz poczuć swoją aplikację jako całość, zespół komponentów wchodzących w interakcje ze sobą i zobaczyć, jak wydajność wyjdzie, musisz przetestować system.
Test systemowy zawsze będzie się starał replikować jak najbliżej dowolnego środowiska produkcyjnego klienta. Tutaj możesz obserwować, jak wygląda rzeczywistość w Twojej aplikacji i postępować zgodnie z nią.
Podsumowując, skonfiguruj test systemowy na swojej aplikacji i zmierz, co chciałeś powiedzieć. Następnie podkreśl system jako całość i zobacz, jak zareaguje, będziesz zaskoczony wynikiem.
Wreszcie, test wydajności pojedynczo wszystkich krytycznych elementów, które zidentyfikowałeś lub chciałbyś śledzić w swojej aplikacji.
Jako ogólną wytyczną, przy wykonywaniu należy zawsze: 1.- Uzyskaj linię bazową systemu w stanie bezczynności. 2.- Uzyskaj linię podstawową dla systemu przy normalnym oczekiwanym obciążeniu. 3.- Uzyskaj linię bazową dla systemu w warunkach stresowych.
Należy pamiętać, że wyniki Normalnego obciążenia powinny być ekstrapolowane na warunki naprężenia, a ładny układ zawsze będzie taki, który skaluje się liniowo.
Mam nadzieję, że to pomoże.
P.S. Testy, ustawienia środowiskowe, a nawet zbieranie danych powinny być w pełni zautomatyzowane, jak to możliwe, to pomoże ci to uruchomić i poświęcić czas na diagnozowanie problemów z wydajnością, a nie konfigurowanie testu.
Polecam Apache JMeter http://jmeter.apache.org/ jako doskonałe narzędzie do testowania warunków skrajnych dla aplikacji internetowych. Jest łatwy w użyciu i można go również rozszerzyć. – Rami
Znalazłem również Gatling (http://gatling.io) jako doskonałe narzędzie. – cmd