Dni Użytkowników Aplikacji QAD 2013. Trzebieszowice 3-4 październik. Wydajność aplikacji. Tomasz Porzeziński, QAD. Building the Effective Enterprise



Podobne dokumenty
Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

Dni Użytkowników Aplikacji QAD Interoperacyjność z QXtend

Pizza & Beer: Nowości OE 11

Programowanie MorphX Ax

Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g

Serwery LDAP w środowisku produktów w Oracle

UWOLNIĆ INFORMACJĘ PUBLICZNĄ!

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Block Change Tracking

MONITOROWANIE DOSTĘPNOŚCI USŁUG IT

Serock warsztaty epuap 28 październik 2009 r. Sławomir Chyliński Andrzej Nowicki WOI-TBD Szczecin

SAS Access to Hadoop, SAS Data Loader for Hadoop Integracja środowisk SAS i Hadoop. Piotr Borowik

Rozwiązania internetowe iplanet

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Oracle Application Express -

Ekspert MS SQL Server Oferta nr 00/08

COMARCH DATA WAREHOUSE MANAGER 6.2

Wprowadzenie do sieciowych systemów operacyjnych. Moduł 1

SAM-Insights ADVANCED CENTRAL DATA COLLECTOR (ACDC) Dane licencyjne nie mierzone przez skanowanie. Nowy moduł ACDC o unikalnej funkcjonalności

Analiza porównawcza wybranych własności systemów zarządzania bazami danych

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Produkty Tivoli dla każdego Wybrane przykłady wdrożeń

Monitorowanie wydajność w bazie Oracle11g

Pizza & Beer: Nowości OE 11.7 Spotkania techniczne dla partnerów aplikacyjnych i klientów technologii Progress

OFERTA SZKOLENIOWA PROGRESS SOFTWARE

Enterprise SSO IBM Corporation

EMC ViPR Pamięć masowa definiowana programowo

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Wprowadzenie do technologii Business Intelligence i hurtowni danych

2 Konfiguracja i utrzymanie bazy danych Przed rozpoczęciem Lekcja 1: Konfigurowanie plików i grup plików Pliki i grupy plików...

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Analizator wydajności AMD CodeAnalyst

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Wydajny Linux. Jakub Woźniak KN Sieci Komputerowych i Systemów Rozproszonych Tenesys

Modernizacja systemów zarządzania i obsługi klienta w Kasie Rolniczego Ubezpieczenia Społecznego

Skalowanie i monitorowanie działania systemu dlibra 5.0

ActiveXperts SMS Messaging Server

Wybrane działy Informatyki Stosowanej

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Open Source Stack jako. alternatywa

Wstęp... ix. 1 Omówienie systemu Microsoft Windows Small Business Server

Nowoczesne bazy danych, czyli przetwarzanie in-memory

Piotr Zacharek HP Polska

BigData. Czy zawsze oznacza BigProblem? Artur Górnik, SAP Polska Piotr Zacharek, HP Polska 14 kwietnia, 2015

Modelowanie Data Mining na wielką skalę z SAS Factory Miner. Paweł Plewka, SAS

Politechnika Śląska w Gliwicach Instytut Automatyki 2005/2006

CENNIK I TERMINARZ SZKOLEŃ

SAP BASIS Architektura systemu klient Server

Zalecenia dotyczące budowania infrastruktury sprzętowej systemu Comarch ERP XL Aktualizacja dokumentu:

Korporacyjna Magistrala Usług na przykładzie Oracle Service Bus

William R. Stanek. Vademecum Administratora 2012 R2. Windows Server. Podstawy i konfiguracja. Przekład: Leszek Biolik

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Monitorowanie aplikacji i rozwiązywanie problemów

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect

Wdrożenie technologii procesowej IBM BPM w EFL

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

15 lat doświadczeń w budowie systemów zbierania i przetwarzania danych kontrolno-pomiarowych

Stawiamy na specjalizację. by CSB-System AG, Geilenkirchen Version 1.1

Splunk w akcji. Radosław Żak-Brodalko Solutions Architect Linux Polska Sp. z o.o.

Dobre praktyki w doborze technologii rozwiązań informatycznych realizujących usługi publiczne

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

<Insert Picture Here> SOA w oparciu o domeny kompetencyjne oraz architekturę referencyjną

Szkolenie autoryzowane. MS Konfiguracja i zarządzanie Microsoft SharePoint 2010

Systemy GIS Systemy baz danych

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB

Axence nvision Nowe możliwości w zarządzaniu sieciami

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Założenia projektowe dla zapytania ofertowego EAK_ZA_01/2015

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wirtualizacja sieci - VMware NSX

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

ARROW ECS SERVICES AUTORYZOWANE CENTRUM SZKOLENIOWE

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Terminarz Szkoleń ACTION CE

Terminarz szkoleń, II półrocze, 2015 rok Microsoft

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Spis treści. Przedmowa

Hitachi Job Management Partner 1 JP1. All Rights Reserved, Copyright 2005 Hitachi Europe Ltd.

Identity Management w Red Hat Enterprise Portal Platform. Bolesław Dawidowicz

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Windows XP. Procesor Pentium II/AMD 233 MHz lub szybszy

Programowanie obiektowe

Zarządzanie wieloserwerowym środowiskiem SAS z wykorzystaniem SAS Grid Managera. Katarzyna Wyszomierska

1 Wprowadzenie do J2EE

Podstawy projektowania aplikacji biznesowych w systemie SAP R/3

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Terminarz Szkoleń ACTION CE

Terminarz Szkoleń II kwartał 2013 ACTION CE

Rozwiązania bazodanowe EnterpriseDB

Zarządzanie kontami użytkowników w i uprawnieniami

EJB 3.0 (Enterprise JavaBeans 3.0)

PREZENTACJA FUNKCJONALNA SYSTEMU PROPHIX

EMC Storage Resource Management Suite

Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych.

Transkrypt:

Dni Użytkowników Aplikacji QAD 2013 Trzebieszowice 3-4 październik Wydajność aplikacji Tomasz Porzeziński, QAD Building the Effective Enterprise

Wstęp Technologia Wyzwania Obszary analizy wydajności Narzędzia i metody Przykłady Przyszłość Building the Effective Enterprise 2

Technologia - dawniej User Interface Business Rules Business Entities Business Tasks Business Reports Client Process Structured Unstructured Data Access Building the Effective Enterprise 3

Technologia - dawniej Progress Runtime Client, Query/Results, 4GL Client Process Progress RDBMS Data Access Building the Effective Enterprise 4

Technologia dzisiaj - QRA Web Local Controller Model Presentation OLAP Data Warehouse Business Intelligence Web Service EDI IV&I Event Pub Integration Process Orchestrations BPM Workflow ESB Service Interfaces Business Rules Business Entities Business Tasks Business Reports Business Services Structured Unstructured Data Access Building the Effective Enterprise 5

Technologia - QRA MS.NET, Winforms Progress.NET Open Client Business OE Runtime Client Intelligence Presentation Integration Workflow ESB OpenEdge AppServer, WebSpeed, Runtime Tomcat Servlet Container, JSP Business Services OpenEdge RDBMS, DataServer Oracle Server MS SQL Server, XML Docs Data Access Building the Effective Enterprise 6

Technologia - QRA Presentation Business Services Data Access QAD.NET Application Shell, plug-in, QADSH MS.NET Winforms Integracja z Business Services przez Progress.NET Open Client OE Runtime Client Forms Adapters Base Library Interfaces Building the Effective Enterprise 7

Technologia - QRA Presentation Business Services Data Access Service Interface Implementacja Progress AppServer, Tomcat Obiektowy OE ABL (4GL) Dostęp do danych przez standaryzowane klasy Application business Components/services Foundation classes session, security, transaction, error, Building the Effective Enterprise 8

Technologia - OE Appserver Building the Effective Enterprise 9

QAD Application Code Wydajność aplikacji Technologia - Tomcat 23 Telnet Process 23 Telnet Process 8080 Tomcat 23 Telnet Process QAD EA.NET Maintenance Database 8005 Programs 23 Telnet Process Webapps Directory Desktop Directory Building the Effective Enterprise 10

Technologia - QRA Presentation Business Services Data Access Progress Open Edge RDBMS Progress OE Dataserver for Oracle MS SQL Server XML Persistence Layer Interface Progress Implementation Other Implementation XML Building the Effective Enterprise 11

Technologia architektura ERP Building the Effective Enterprise 12

Wyzwania Przyrost ilości przetwarzanych danych Wielozadaniowość pracy użytkowników (zakładkowe interfejsy, automatyzacja) Swoboda dostępu do danych: przeglądy, raporty, odbc Kolekcje funkcji i centra oparte na rolach w aplikacji Łatwość tworzenia łączy integracyjnych Building the Effective Enterprise 13

Wyzwania Heterogeniczna i wielozadaniowa implementacja warstwy usług biznesowych Urządzenia mobilne BMP i automatyzacja zadań Wirtualizacja Rozbudowana i wielozadaniowa warstwa prezentacji (rich client) Building the Effective Enterprise 14

Obszary analizy wydajności Kompleksowa analiza od ogółu do szczegółu System operacyjny i sprzęt procesor pamięć operacje dyskowe i sieciowe Baza danych rozkład danych zasoby motoru bazy danych, połączenia sieciowe sprawność buforowania, zapisów ilość zleceń generowanych przez procesy Building the Effective Enterprise 15

Obszary analizy wydajności Procesy warstwy usług biznesowych i API udział w wykorzystaniu procesora pamięć oczekiwania i blokady Procesy komunikacyjne procesy i wątki Tomcat, zarządzanie pamięcią brokery usług typu appserver, webspeed Identyfikacja i optymalizacja zleceń z aplikacji zlecenia, zapytania przekazywane do motoru bazy danych, Kod 4GL, SQL, dzienniki, 4GLTrace 4GL statement cache Building the Effective Enterprise 16

Obszary analizy wydajności Procesy warstwy usług biznesowych i API udział w wykorzystaniu procesora pamięć oczekiwania i blokady Procesy komunikacyjne procesy i wątki Tomcat, zarządzanie pamięcią brokery usług typu appserver, webspeed Identyfikacja i optymalizacja zleceń z aplikacji zlecenia, zapytania przekazywane do motoru bazy danych, Kod 4GL, SQL, dzienniki, 4GLTrace 4GL statement cache Building the Effective Enterprise 17

Narzędzia i metody Procesor %idle %usr %wio Pamięć operacyjna pgspace out/in process swap out/in Podsystem dyskowy %util średni czas obsługi i oczekiwania przepustowość Building the Effective Enterprise 18

Narzędzia i metody Unix/Linux sar (system activity reporter) sar u 2 10 sar o sar.out 20 1440 sar q f sar.out podstawowe miary sar sar u czas procesora sar q kolejki procesów sar w intensywność wykorzystania swap (pamięć operacyjna) sar g intensywność stronicowania (pamięć operacyjna) sar d urządzenia we/wy (podsystem dyskowy) Building the Effective Enterprise 19

Narzędzia i metody Unix/Linux vmstat - operacje na stronach pamięci, przerwania, czas procesora pomiary bieżące i kolekcjonowanie vmstat 2 100 iostat operacje we/wy Pomiary bieżące i kolekcjonowanie iostat 2 1000 iostat xn 2 1000 (Solaris) top GNU, zbiorcze przedstawienie pomiarów bieżących AIX: topas Nmon Building the Effective Enterprise 20

Narzędzia i metody pamięć Unix RES SHR: przybliżenie PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6715 root 15 0 1084m 115m 29m S 1.3 1.9 6:46.09 D_qadfinlive_ 6025 root 15 0 467m 34m 27m S 0.3 0.6 2:18.15 _progres 6038 root 15 0 154m 19m 15m S 0.3 0.3 4:36.78 _progres 6077 root 15 0 158m 24m 15m S 0.3 0.4 6:45.72 _progres pmap: dokładna mapa pamięci Address Kbytes RSS Dirty Mode Mapping 00000000001d6000 108 96 0 r-x-- ld-2.5.so 00000000001f1000 4 4 4 r-x-- ld-2.5.so 00000000001f2000 4 4 4 rwx-- ld-2.5.so 00000000001f5000 1352 528 0 r-x-- libc-2.5.so 0000000008856000 704 256 252 rwx-- [ anon ] 00000000099ea000 143568 142940 142940 rwx-- [ anon ] Building the Effective Enterprise 21

Narzędzia i metody MS Windows perfmon pomiary bieżące, rejestrowanie Task Manager Resource Monitor Building the Effective Enterprise 22

Narzędzia i metody Bieżąca identyfikacja przeciążeń Zebranie i wstępna ocena reprezentatywny okres próbki co 10-30 sekund sar, iostat, vmstat, perfmon Wyselekcjonowanie wyników: czas procesora intensywność wykorzystania swap czas aktywnej pracy dysku Graficzna reprezentacja pomiarów i analiza Building the Effective Enterprise 23

1 26 51 76 101 126 151 176 201 226 251 276 301 326 351 376 401 426 451 476 501 526 Wydajność aplikacji Narzędzia i metody czas procesora wio < 20%, sys < 10% 90 80 70 60 50 40 30 20 10 0 usr sys wio idle Building the Effective Enterprise 24

Narzędzia i metody kolejki procesów (1,5 2) x liczba rdzeni CPU 30 run queue 25 20 15 runq 10 5 0 1 118 235 352 469 586 703 820 937 1054 1171 1288 1405 1522 1639 1756 1873 1990 2107 2224 2341 2458 2575 2692 2809 2926 3043 3160 3277 3394 3511 Building the Effective Enterprise 25

1 26 51 76 101 126 151 176 201 226 251 276 301 326 351 376 401 426 451 476 501 526 Wydajność aplikacji Narzędzia i metody kolejki procesów intensywność wykorzystania swap 18 16 14 12 10 8 6 4 2 0 swap-queue run-queue Building the Effective Enterprise 26

1 26 51 76 101 126 151 176 201 226 251 276 301 326 351 376 401 426 451 476 501 526 Wydajność aplikacji Narzędzia i metody intensywność stronicowania swap Dopuszczalne okresowo kilka na sekundę 200 180 160 140 120 100 80 60 40 20 0 page-in page-out Building the Effective Enterprise 27

1 26 51 76 101 126 151 176 201 226 251 276 301 326 351 376 401 426 451 476 501 526 Wydajność aplikacji Narzędzia i metody Podsystem dyskowy czas zajętości < 50%, uwaga wirtualizacja! wielkości kolejek, czas oczekiwania transfer 120 100 hdisk0 hdisk16 hdisk17 80 60 40 20 0 Building the Effective Enterprise 28

Narzędzia i metody - systemy SarCheck: www.sarcheck.com PerformanceToolbox (AIX) HP GlancePlus Perfgraph (Solaris, HP-UX, Linux, AIX, Windows) Nmon OpenEdge Management iotop QAD Monitoring Framework Building the Effective Enterprise 29

Narzędzia i metody sieć Network Monitor ntop Darkstat Pcap, WinPcap PortAnalyzer Microsot Message Analyzer (beta) Wireshark Building the Effective Enterprise 30

Narzędzia i metody Progress OE Promon Protop Open Edge Management VST Building the Effective Enterprise 31

Narzędzia i metody - aplikacja Identyfikacja procesów ERP top, nmon (AIX), próbka 5-10 sekund identyfikacja typu procesu i funkcji aplikacji Analiza procesów i funkcji ERP promon block access db requests (VST) Appserver log Analiza komunikacji z klientem.netui Resource Monitor Network Monitor Obiektywizacja pomiarów Building the Effective Enterprise 32

Narzędzia i metody - aplikacja Przegląd aktywnych użytkowników informacja o PID Dodatkowe polecenia systemu Przegląd aktywnych transakcji.netui client log QAD Monitoring Framework pomiary: record reads, time to read 10k rows metoda check_extended alert check_topqad Building the Effective Enterprise 33

Narzędzia i metody - aplikacja Identyfikacja zadań wsadowych równoległy odczyt VST dbrequest for each _userio where _userio-name matches "*batch": for each mon_mstr no-lock where mon qadi01 = _userio-usr: display _userio-name mon_userid mon_program FORMAT "x(10)" _UserIO-DbAccess FORMAT ">>>>>>>>>>9 _UserIO-DbRead FORMAT ">>>>>>>>>>9 _UserIO-DbWrite FORMAT ">>>>>>>>>>9". end. end. Building the Effective Enterprise 34

Narzędzia i metody - aplikacja Appserver log czas wykonania zleceń srvrlogentrytypes=asplumbing,db.connects Loglevel 3 [13/10/03@17:51:40.878-0600] P-004297 T-14838480 1 AS -- (Procedure: 'processquery com/qad/shell/interface/getbrowsedata_a.p' Line:8069) (usr=mfg) sobr009.p : Query string: for each qaddb.so_mstr where so_domain = '10USA' and so_compl_stat = "" no-lock, each qaddb.sod_det where sod_domain = so_domain and sod_nbr = so_nbr and sod_compl_stat = "" no-lock by so_mstr.so_domain by so_mstr.so_nbr Building the Effective Enterprise 35

Przykłady Nieoptymalne przeglądy domyślne uruchomienie prawidłowe filtrowanie lub przemieszczenie na koniec 2-10min 120mln rekordów.netui 2.9.1 brak możliwości przerwania pracy appservera Zadania wsadowe uruchamiane masowo w tym samym czasie dla wielu baz i domen, co 1-3 min zidentyfikowany program własny klienta 13-18mln db requests Building the Effective Enterprise 36

Przykłady EE logowanie/przełączanie workspace 2000+ zleceń dla fin appservera UsrAccess.p skumulowanie 8 użytkowników: 100% CPU Zajęte wszystkie instancje agentów, brak możliwości logowania 40+ domen Opóźnienie pracy interaktywnej w.netui Webspeed + Appserver 300ms analiza ramek sieciowych komunikacja do.netui paczkami po 8 ramek i 200ms przerwy, razem ok. 1,5sek Opóźnienie spowodowane przez wtyczkę.netui Building the Effective Enterprise 37

Dobre praktyki Wyłączenie zliczania rekordów w przeglądach Wyłączenie debug i 4GL trace Upgrade do.netui 2.9.4 timeout nieoptymalnych zapytań Analiza rozkładu danych w bazie dbanalys reindeksacja, kompaktowanie indeksów dump/load, obszary typu II Building the Effective Enterprise 38

Dobre praktyki Zadania wsadowe Szacowanie obciążenia Racjonalna automatyzacja Obiektywizacja pomiarów czas wykonania oraz ilość db requests Wydajna stacja robocza Cykliczne lub ciągłe monitorowanie Building the Effective Enterprise 39

Przyszłe wyzwania Urządzenia mobilne BPM, automatyzacja API, interfejsy Postępująca wirtualizacja Building the Effective Enterprise 40

Pytania Tomasz Porzeziński: txp@qad.com www.dsr.com.pl www.qad.com QAD Inc. 2013 Building the Effective Enterprise 41