Home MENU
Wojciech Rzasa
Wojciech
Rzasa
Politechnika Rzeszowska

BIO

Informatyk z zamiłowania i z zawodu. Obecnie pracownik naukowo-dydaktyczny z doktoratem, ale przede wszystkim inżynier. Od dawna interesuje się systemami rozproszonymi i wytwarzaniem oprogramowania. Modeluje i bada wydajność sysyemów rozproszoych. Pracuje na Politechnice Rzeszowskiej, współtworzy Rzeszowską grupę użytkowników języka Ruby (http://RRUG.pl).

ABSTRACT

Przewidywanie zmian wydajności aplikacji rozproszonych

Wszyscy tworzymy systemy rozproszone, nawet jeśli to "tylko proste aplikacje
www". Z aplikacją rozproszoną mamy do czynienia już wtedy, gdy biblioteka frontendowa przechowuje stan kontrolek, który musi być zsynchronizowany z backendem. Innym przykładem jest uruchomienie aplikacji w środowisku produkcyjnym bazującym na rozproszonej infrastrukturze cloudowej. Oczywistym przykładem jest też korzystanie z zewnętrznych API.

Środowisko rozproszone jest z natury zmienne i trudno przewidywalne. Czy zastanawialiście się kiedyś jaki wpływ na wydajność Waszej aplikacji będą miały zmiany tego środowiska? Jak się zmieni wydajność aplikacji gdy wydłuży się czas odpowiedzi jednego z zewnętrznych serwisów? A jeśli load balancer nierówno rozłoży obciążenie na poszczególne serwery aplikacji, albo jeśli zmienicie wydajność i liczbę maszyn które obsługują aplikację? Można to oczywiście przetestować, ale wymaga to na ogół sporo wysiłku i poniesienia niemałego kosztu (wliczając w to cenny czas pracy). Można to jednak zrobić łatwiej, szybciej i taniej.

Zaprezentuję dwa konkretne przykłady w których przewiduję zmiany wydajności rzeczywistych aplikacji z mniejszym wysiłkiem i w krótszym czasie niż można to zrobić za pomocą testów. W swojej pracy używam symulacji, która pozwala analizować zachowanie systemu opisanego wygodnym, przejrzystym językiem dziedzinowym (DSL). Metoda została opisana w pracach naukowych [1, 2, 3] i przedstawiona na międzynarodowych konferencjach. Nie zamierzam jednak dyskutować o części naukowej, ale o możliwości wykorzystania w praktyce. Na obecnym etapie szukam kolejnych praktycznych zastosowań tego podejścia, więc bardzo chętnie przedyskutuję praktyczne problemy i wykonam większość pracy potrzebnej, żeby je przeanalizować i dostarczyć potrzebnych odpowiedzi.


[1] Rząsa W.: Simulation-Based Analysis of a Platform as a Service Infrastructure Performance from a User Perspective, P. Gaj et al. (Eds.): CN 2015, CCIS 522, pp. 182–192, 2015 ISBN: 978-3-319-19418-9.

[2] Rząsa W., Rzońca D.: Event-Driven Approach to Modeling and Performance Estimation of a Distributed Control System, in: Gaj P., Kwiecień A., and Stera P. (Eds.): Computer Networks 2016, Communications in Computer and Information Science 608, Springer International Publishing 2016, pp. 168-179.

[3] Rząsa, W.: Predicting Performance in a PaaS Environment: a Case Study for a Web Application. Computer Science (in press).