Apache Bench - przegląd
Testy wydajności okazały się kluczowe dla sukcesu firmy. Witryna o niskiej wydajności nie tylko ponosi straty finansowe, ale może również czasami prowadzić do konsekwencji prawnych.
Nikt nie chce znosić wolno działającej, zawodnej witryny w ważnych interakcjach online, takich jak zakupy, wykonywanie testów online, opłacanie rachunków itp. Przy tak szerokiej dostępności Internetu, wachlarz alternatyw jest ogromny. Łatwiej jest stracić klientów niż ich zdobyć, a wydajność jest kluczowym elementem zmieniającym zasady gry.
Potrzeba narzędzia do testowania obciążenia
Jeśli zrozumiemy, jaka jest potrzeba narzędzia do testowania obciążenia, da nam to powód i motywację do jego użycia. Niektóre znane witryny biznesowe przeżywały poważne przestoje z powodu dużej liczby odwiedzających. Witryny e-commerce dużo inwestują w kampanie reklamowe, ale nie w testowanie obciążenia. Dlatego nie zapewniają optymalnej wydajności systemu, gdy ten marketing przyciąga ruch.
Innym znanym przykładem ignorowania testów obciążenia jest „błąd podczas nawiązywania połączenia” w witrynach WordPress. Dlatego warto przetestować stronę internetową lub aplikację przed jej wdrożeniem w środowisku produkcyjnym. Dobrze jest szybko ustalić najlepszy scenariusz projektu przed przeprowadzeniem bardziej szczegółowych testów w przyszłości.
Co to jest ławka Apache?
Apache Bench (ab) to narzędzie organizacji Apache do testowania porównawczego serwera internetowego Hypertext Transfer Protocol (HTTP). Chociaż jest przeznaczony do pomiaru wydajności serwera WWW Apache, może być również używany do testowania dowolnego innego serwera WWW, który jest równie dobry. Dzięki temu narzędziu możesz szybko dowiedzieć się, ile żądań na sekundę Twój serwer WWW jest w stanie obsłużyć.
Funkcje Apache Bench
Zobaczmy ważne funkcje i ograniczenia Apache Bench. Funkcje i ograniczenia są wymienione poniżej -
Będąc oprogramowaniem open source, jest dostępne bezpłatnie.
Jest to prosty program komputerowy wiersza poleceń.
Jest to narzędzie niezależne od platformy. Oznacza to, że równie dobrze można go wywołać na Linux / Unix lub na serwerze Windows.
Może przeprowadzać testy obciążenia i wydajności tylko dla serwera WWW - HTTP lub HTTPS.
Nie można go rozszerzyć.
Apache Bench używa tylko jednego wątku systemu operacyjnego, niezależnie od poziomu współbieżności (określonego przez flagę -c). Dlatego w przypadku testów porównawczych serwerów o dużej pojemności pojedyncza instancja Apache Bench może sama w sobie stanowić wąskie gardło. Aby całkowicie nasycić docelowy adres URL, lepiej jest używać równolegle dodatkowych wystąpień Apache Bench, jeśli serwer ma wiele rdzeni procesorów.
Ostrożność
Należy mieć świadomość, że w Apache Bench nie ma dyrektywy, która zwiększałaby współbieżność w określonych interwałach podczas wykonywania testów. Dlatego uruchamianie testów obciążenia przy użyciu ab jest równoważne z atakiem typu „odmowa usługi” (DOS). Zaleca się poinformowanie i uzyskanie wcześniejszej zgody od dostawcy usług VPS, jeśli zamierzasz przeprowadzać testy pod dużym obciążeniem przez dłuższy czas. Przydzielą ci odpowiedni przedział czasu lub przesuną twój węzeł do zadania testowania obciążenia.
Po drugie, jeśli testujesz witrynę internetową osoby trzeciej w sposób ciągły i przez długi czas tylko po to, aby nauczyć się Apache Bench ze swojego VPS (który staje się węzłem testowym), istnieje zdalna możliwość, że Twój publiczny adres IP VPS może zostać zablokowany przez witrynę trzeciej osoby na stałe. W takim przypadku nie będziesz mógł połączyć się z tą witryną za pomocą tego samego adresu IP. Ale jeśli naprawdę chcesz połączyć się ze stroną internetową w przyszłości, jedynym rozwiązaniem będzie rozmowa z administratorem systemu docelowej strony internetowej lub utworzenie nowej instancji serwera z innym adresem IP z pomocą dostawcy usług VPS.
Po ostrzeżeniu, zapewniam, że wszystkie testy w tym samouczku są wystarczająco bezpieczne i wykraczają poza praktyki, które administratorzy systemów na ogół nazywają „nadużyciami systemu”.