Szukam narzędzia do testowania witryny z wiersza polecenia systemu Linux.
Na podstawie danych wyjściowych muszę znać odpowiedź HTTP (kody stanu), ale także przeprowadzić analizę porównawczą czasu potrzebnego do pobrania różnych elementów witryny.
Z góry dziękuję.
linux
command-line-interface
monitoring
Embreau
źródło
źródło
Odpowiedzi:
Możesz spróbować
wget
z-p
opcją:Powie ci, ile czasu zajmuje pobranie każdego elementu i kodów powrotu dla każdego żądania.
źródło
wget -p URL -O /dev/null
Zobacz Benchmark Apache:
Benchmark Apache
To powinno dać ci przegląd wydajności twojej strony.
źródło
Możesz spojrzeć na następujące opcje
curl
:--write-out
- wyświetla dowolną z kilku zmiennych związanych z czasem--trace-time
- Przygotowuje znacznik czasu do każdej linii śledzenia lub pełnej linii--verbose
--include
- (HTTP) Dołącz nagłówek HTTP do wyniku.--trace-ascii <file>
- Umożliwia pełny zrzut śledzenia wszystkich danych przychodzących i wychodzących, w tym informacji opisowychI następująca opcja
wget
:--timestamping
- Włącz znaczniki czasuźródło
curl --trace-ascii <file> --trace-time -o /dev/null <url>
było dokładnie tym, czego potrzebowałem. Dzięki!Selen i Curl to dobre opcje w zależności od tego, jaki jest twój cel. Również narzędziem, które bardzo mi się spodobało, jest
twill
. Więcej informacji jest dostępnych na stronie http://twill.idyll.org/ .To miłe, ponieważ ma swój własny mały specjalistyczny język do wypełniania formularzy, sprawdzania poprawności linków i sprawdzania kodów odpowiedzi. Ponieważ jest to tylko kod Python, możesz łatwo importować biblioteki i samodzielnie zautomatyzować swoje testy, jeśli chcesz zrobić coś innego.
źródło
Użyj curl, aby uzyskać nagłówek strony, i zmierz czas procesu:
obejmij to w pętli while i możesz już iść. W ten sam sposób możesz sprawdzić wszystkie elementy, jeśli znasz adres URL.
źródło
wypróbuj narzędzie wiersza polecenia o nazwie „oblężenie” zgodnie z instrukcją tutaj
źródło
To, które narzędzie wybierzesz, zależy od tego, co chcesz zmierzyć i złożoności witryny.
Jeśli zachowanie strony zależy od plików cookie (np. Użytkownik musi się zalogować), ab / curl / wget (opisane w innych odpowiedziach) nie wystarczy. Jednym z rozwiązań jest użycie http :: recorder / www :: mechanize .
Wszystkie dane, o które prosisz, znajdują się w logach twojego serwera - a prosty skrypt awk zwróci je w bardziej czytelnej formie.
Jest to bardzo słaby wskaźnik wydajności (chociaż jest przydatny do monitorowania kondycji systemu produkcyjnego). Z wyjątkiem dużych / wolnych zasobów, takich jak obszerne raporty, obrazy ISO, pliki multimedialne, postrzeganie wydajności ma niewiele wspólnego z czasem potrzebnym na przetworzenie pojedynczego żądania - i naprawdę trudno jest to dokładnie zmierzyć (wystarczy dodać% D do twojego dziennika apache wydaje się rozwiązać problem, ale ignoruje uzgadnianie TCP, negocjacje SSL, efekty buforowania, czasy wyszukiwania DNS).
Lepszym rozwiązaniem jest użycie czegoś takiego jak Boomerang - ale działa to w przeglądarce obsługującej Javascript. Chociaż daje to lepszy wskaźnik postrzeganej wydajności niż śledzenie pojedynczych żądań HTTP, opiera się na zdarzeniach przeglądarki, aby uzyskać wartość dla wydajności - ale uzyskana wydajność dotyczy czasu potrzebnego do renderowania rzutni (ponownie istnieją do tego narzędzia - spójrz na narzędzia paska filmowego w WebPageTest ).
Istnieje również argument na temat mierzenia wydajności faktycznie dostarczanej użytkownikom witryny (RUM) w porównaniu z testami syntetycznymi.
źródło
Jeśli potrzebujesz czegoś większego niż curl i / lub wget, jest też selen
źródło
Myślę, że do uruchomienia testu wydajności można wypróbować JMeter . Możesz zarejestrować swój test za pomocą wbudowanego proxy. Działa również w trybie tekstowym, lokalnym lub rozproszonym. Możesz zapisać swoje wyniki w formacie csv lub xml. Jeśli używasz formatu xml, możesz także przechowywać zawartość strony.
źródło
Do sprawdzania nagłówków lubię
httpie
( dokumenty ).Instalacja
Stosowanie
źródło