Regex

Czasami (a raczej zawsze) potrzebujemy coś wyciągnąć z odpowiedzi i wykorzystać to w jednym z kolejnych żądań.Nie ważne czy jest to jmeter, czy jakiś inny tool – wykorzystujemy do tego celu wyrażenia regularne.

Nie będę opisywał jak działają wyrażenia regularne (regular expressions). Podam za to linki do przydatnych stron.

‚Moja’ podstawowa strona, a raczej narzędzie online, do testowania wyrażeń regularnych i źródło wiedzy o ich konstrukcji:

https://www.regex101.com/

Poniżej coś dla ciut leniwszych:

http://www.hongkiat.com/blog/regex-web-developers/?imm_mid=0dfb9e&cmp=em-webops-na-na-newsltr_20160129 – przykłady trochę bardziej dla deweloperów, ale znalazłem też coś dla siebie

regex

Regex

Timer’y i nieoczekiwane błędy jmeter’a

Podczas przygotowywania kolejnych testów wydajnościowych trafiłem na dziwny problem.

Testowany system hula aż miło, ale wymagania wolumetryczne planowane na godzinę spełniam w 5 min. Niestety potrzebny jest mi baseline dokładnie spełniający wolumetrię z wymagań, bez żadnych aproksymacji w dół. Nic prostszego – zmniejszyć liczbę VU albo dodać timer’y żeby wprowadzić dodatkowe opóźnienia – niestety nie w tym przypadku.

problem z jmeter

Zmniejszyć liczby VU nie mogę, ponieważ mam wymaganie na liczbę otwartych jednocześnie sesji. Zostają timer’y. Continue reading „Timer’y i nieoczekiwane błędy jmeter’a”

Timer’y i nieoczekiwane błędy jmeter’a

InfluxDB i Grafana

InfluxDB jest open-source’ową bazą danych time-series świetnie zastępującą bazę whisper w rozwiązaniach wykorzystujących protokół graphite (opis tutaj).

Aplikację Graphite zastąpmy produktem Grafana i mamy super środowisko do wizualizacji danych.

          InfluxDB grafanaInfluxDB

Oczywiście w  https://registry.hub.docker.com mamy oficjalny obraz Grafana oraz ‚prawie’ oficjalny obraz influxDB. Mamy też obrazy zawierające komplet komponentów wraz z  carbon’em.

Łatwo i szybko możemy zbudować sobie środowisko do monitorowania w czasie rzeczywistym przebiegu testów wydajnościowych czy to z jmeter’em czy to z Gatling’iem.

Konfiguracja dla Gatling.

Konfiguracja dla jmeter.

InfluxDB i Grafana

Wizualizacja danych ‚czasowych’

Trochę dziwny tytuł, ale myślę, że dobrze oddaje sens tego co chcę dzisiaj przedstawić.

Chciałbym w kilku kolejnych wpisach przybliżyć narzędzia, które pomogą zwizualizować dane, które najprościej mówiąc, na osi X mają czas, a dokładniej timestamp.

ELK, robi mniej więcej to samo, ale w opisanym wcześniej przypadku konfiguracja opiera się ściśle na pliku csv z raportem. Niekoniecznie wizualizacja danych w czasie rzeczywistym wymaga pracy z plikiem. Continue reading „Wizualizacja danych ‚czasowych’”

Wizualizacja danych ‚czasowych’

ELK: Konfiguracja elasticsearch – update

Jeśli wykonywany test wydajnościowy przebiega bez problemów, poprzednio zaproponowana konfiguracja elasticsearch (mapowanie) działa świetnie. Niestety, gdy coś idzie źle i oprócz kodów odpowiedzi, jakich moglibyśmy się spodziewać (2xx,3xx,5xx, ogólnie: jakiś integer), pojawiają się wyjątki jmeter’a, to analiza pod kątem kodów odpowiedzi jest niepoprawna.

Continue reading „ELK: Konfiguracja elasticsearch – update”

ELK: Konfiguracja elasticsearch – update

ELK: Kibana

Jeśli wszystko poprawnie skonfigurowaliśmy, to przy pomocy Kibana ‚y będziemy mogli wizualizować zbierane dane. Konfiguracja Kibana ‚y jest default’owa zgodnie ze wspominanym wcześniej tutorialem, a sama obsługa jest intuicyjna.

kibanaNa razie załaduję istniejący plik logu. Trzeba pamiętać żeby wybrać odpowiedni przedział czasowy dla analizy – taki gdzie będą jakieś dane

kibana

Continue reading „ELK: Kibana”

ELK: Kibana