Jak wczytasz test swojej aplikacji?

22

Jaki jest najskuteczniejszy sposób załadowania w celu przetestowania aplikacji? Najważniejsze jest, aby określić, ilu użytkowników może obsługiwać w tym samym czasie, gdy aplikacja nadal działa z rozsądną prędkością.

Jacob Schoen
źródło

Odpowiedzi:

4

Najbardziej wszechstronne oprogramowanie do testowania obciążenia, jakie znalazłem, to HP LoadRunner (przepraszam za link bit.ly, ale łącze HP jest okropne i nie działa poprawnie). Jest bardzo elastyczny i można wygenerować wiele różnych rodzajów raportów z testów obciążenia. Możesz także mieć grupę maszyn pracujących w tandemie, aby wykonać test obciążenia. Nie, że inne narzędzia są złe, ale sprawia, że ​​coś takiego jak Apache JMeter wygląda jak zabawka.

Carson
źródło
Nie trzeba skracać adresów URL. Ma również wartość z witryny, do której linkujesz (jeśli jest to dobra strona, powinna uzyskać wpływ na pozycję)
Aiden Bell
1
@Aiden: Linki i tak nie są obserwowane.
Christian
5

Głównie httperf, a także AB narzędzie do analizy porównawczej Apache

(i mnóstwo instrumentów do wychwytywania zduplikowanych zapytań i błędów w pamięci podręcznej).

Jest prosty, skuteczny i może odrodzić dużo ruchu z czterordzeniowej + maszyny podłączonej do twojego serwera na gigabit Ethernet. Ma też fajne rzeczy, takie jak ograniczanie prędkości.

Jeśli chcesz się naprawdę zachwycić, możesz rejestrować i odtwarzać ruch HTTP za pomocą httperf.

Aiden Bell
źródło
Czy możesz używać AB na innych serwerach?
milesmeow
jak można rejestrować ruch HTTP za pomocą httperf?
razenha
4

Microsoft Web Capacity Analysis Tool (WCAT) jest podobno narzędziem wybieranym przez zespół IIS

mvark
źródło
3

Zamierzam przedstawić wam cztery zestawy kryteriów, abyście mogli zbadać narzędzia, a jest wiele z nich dostępnych w aplikacjach open source i komercyjnych do testowania wydajności.

  1. Czy sprawdzi moje interfejsy w mojej aplikacji? Istnieje wiele narzędzi, które są bezpłatne, ale monolityczne i mogą nie w pełni korzystać z aplikacji. Narzędzia komercyjne mają szerszą obsługę protokołów / interfejsów niż narzędzia typu open source
  2. Czy raportowanie spełni moje potrzeby? Nie ma nic bardziej frustrującego niż przeprowadzenie testu, a następnie poświęcenie dni na próbę zebrania wyników w jakąś sensowną formę do analizy i ustalenia, czy spełniłeś swoje wymagania, czy nie. Po raz kolejny jest to obszar, w którym narzędzia komercyjne wybijają smoczek spośród narzędzi typu open source.
  3. Czy mój zespół posiada umiejętności techniczne do korzystania z tego narzędzia? Nie chcesz wspinać się na przeszkody ani na proces testowania wydajności, analizy, a nawet na kolejny język / narzędzie do nauki w tym samym czasie. Bądź realistą.
  4. Czy będzie działał na mojej infrastrukturze testowej? Sprawdź wymagania. JEŻELI zostanie określony konkretny system operacyjny i wersja, użyj go lub nie używaj narzędzia. Mniej rzeczy jest bardziej frustrujących w obsłudze narzędzi, gdy ktoś dzwoni / wysyła wiadomość e-mail z problemem, ale okazuje się, że wymagania dotyczące instalacji i obsługi zostały zignorowane.

Liczby 1-3 są krytyczne. Spóźnisz się na którąkolwiek z tych trzech opcji, a być może kupiłeś najdroższe narzędzie komercyjne i wynająłeś najdroższą firmę konsultingową, aby wdrożyło je dla Ciebie - Nie chcesz być przyłapany na wbijaniu gwoździ w końcówkę śrubokręta po prostu dlatego, że twój szef powiedział ci, że pistolet do gwoździ był drogim narzędziem dla domu, o którego budowę zostałeś poproszony (uwaga: pistolety do gwoździ są często dostępne do wynajęcia, podobnie jak komercyjne narzędzia testowe)

James Pulley
źródło
2

Grinder to potężny, elastyczny i skryptowalny program do testowania obciążenia typu open source. Jest aktywnie rozwijany i ma stosunkowo płytką krzywą uczenia się w porównaniu do niektórych innych opcji.

JasonBirch
źródło
1

Zależy to od stopnia złożoności; jeśli jest to bardzo skomplikowane, prawdopodobnie potrzebujesz czegoś bardziej zaangażowanego, ale w przypadku typowej dynamicznej witryny internetowej używającej skryptu, który odradza kilka instancji wget, które wymagają podania kluczowych stron w witrynie.

Thomas Bonini
źródło