• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
As percepções Relativas na Application Performance Management, por Gilberto Modollo
 

As percepções Relativas na Application Performance Management, por Gilberto Modollo

on

  • 924 views

 

Statistics

Views

Total Views
924
Views on SlideShare
335
Embed Views
589

Actions

Likes
0
Downloads
1
Comments
0

4 Embeds 589

http://cmgbrasil.posterous.com 582
http://cmgbrasil.com 4
http://translate.googleusercontent.com 2
http://feeds.feedburner.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    As percepções Relativas na Application Performance Management, por Gilberto Modollo As percepções Relativas na Application Performance Management, por Gilberto Modollo Presentation Transcript

    • As percepções Relativas na Application Performance Management  As perspectivas dos eventos e componentes da aplicação e do ambiente vistos de maneiras diferentes por cada observador
    • Conteúdo
      • APM
      • O ciclo de vida da aplicação
      • As visões de um mesmo evento
      • Barreiras tradicionais
      • Objeções, mitos e verdades
      • O mundo ideal
    • “ A nossa interpretação de um evento depende de onde estamos e do que já sabemos sobre ele ”
    •  
    • APM Application Performance Management
        • É a gestão da performance da aplicação
        • ao longo do seu Ciclo de Vida, garantindo o menor uso de recursos, sustentando os negócios com baixos custos e principalmente respeitando a experiência do usuário final*
      [GARTNER-5D] *Também referida como Application Performance Monitoring e suas 5 dimensões pelo Gartner Group: The Five Dimensions of 5D no texto “Magic Quadrant for Application Performance Monitoring” de Will Capelli
    • O Ciclo de Vida da Aplicação
      • “ O homem não tem ouvidos para aquilo que a experiência não lhe deu acesso” – Friedrich Nietzsche
    • APM Design Codificação Teste Produção Custo Relativo 8X 6X 4X 2X Evolução da aplicação no seu Ciclo de Vida OK? OK? OK? OK?
        • “ No campo da observação, a oportunidade só
        • favorece a mente preparada” - Louis Pasteur
    • APM Quem é o responsável pela Aplicação?
    • APM Sinergia *End User´s Experience is King Chap.1 The Five Essential Elements of Application Performance Monitoring, Don Jones [EUE-FEE] EUE* is King Suporte Técnico Desenvolvimento Produção Homologação
    • Ângulos opostos por um vértice: EUE
      • Nos afastamos do ponto na medida em que a complexidade cresce
      • A informação se dilui
        • Dispersão das métricas
        • Métricas imprecisas
        • Métricas confusas
      • A delegação vira “delargação”
      • Aumento dos conflitos de opiniões
        • As responsabilidades pelo consumo e a performance são c ompartilhadas
        • Promove o intercâmbio de experiências e a integração das áreas
      APM Conciliação e consolidação Produção Desenvolvimento Design Codif. Teste APM: EUE is King Manutenção Aceite Operação
    • APM Em qualquer área, como a TI e suas disciplinas como a APM, a percepção individual pode levar a conclusões divergentes
    • As visões de um evento
      • Todos sabemos disso, mas:
        • Infraestrutura inserida:
          • Código inflado
          • Código implicito
          • Nem sempre o problema está onde imaginamos
      • Opiniões distintas sobre causas x efeitos
    • Um evento típico de aplicação
      • 0100-INITIALIZATION. 00024200
      • 00024300
      • MOVE MQOD-CURRENT-VERSION TO MQOD-VERSION IN MQOD1
      • MOVE MQOD-CURRENT-VERSION TO MQOD-VERSION IN MQOD2
      • SET MSG-CNTR TO 1
      • INITIALIZE WS-MISC
      • EXEC CICS IGNORE CONDITION SUPPRESSED
      • END-EXEC
      • .
      • * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00026400
      • 0200-SEND-INITIAL-SCREEN.
      • EXEC CICS SEND
      • FROM (TMAP1)
      • LENGTH (TMAP1A-LEN)
      • ERASE
      • END-EXEC
      • .
      • * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00026400
      • CALL 'MQGET' USING WS-HCONN….
      • .
      • .
      • EXEC SQL DECLARE ORDER CURSOR FOR
      • SELECT *
      • FROM HBRJXG0.ORDER_1
      • WHERE CUST_NUM LIKE :INPUT-CUSTOMER-NUMBER
      • END-EXEC.
      • EXEC SQL OPEN ORDER END-EXEC.
      • EXEC SQL FETCH ORDER INTO :ORDER-TABLE END-EXEC.
      • IF SQLCODE = SQL-NOT-FOUND
      • MOVE 'NO ORDERS FOUND FOR CUSTOMER ' TO RPT-ERROR-TEXT
      • MOVE INPUT-CUSTOMER-NUMBER TO RPT-ERROR-NUM
      • WRITE RPT-REC FROM RPT-ERROR-LINE AFTER ADVANCING 2 LINES
      • ELSE
      • PERFORM PRINT-AND-GET-NEXT
      • UNTIL SQLCODE IS NOT EQUAL TO ZERO.
      • EXEC SQL CLOSE ORDER END-EXEC.
      • READ CARDIN RECORD INTO INPUT-AREA
      • AT END MOVE 'N' TO INPUT-SWITCH.
    • O mesmo evento inchando (1/2)
      • 02468 0100-INITIALIZATION. 00024200
      • 002469 00024300
      • 002470 MOVE MQOD-CURRENT-VERSION TO MQOD-VERSION IN MQOD1 1223 266 228
      • 002471 MOVE MQOD-CURRENT-VERSION TO MQOD-VERSION IN MQOD2 1223 341 303
      • 002472 SET MSG-CNTR TO 1 166
      • 002473 INITIALIZE WS-MISC 23
      • 002474
      • 002475 *EXEC CICS IGNORE CONDITION SUPPRESSED
      • 002476 *END-EXEC
      • 002477 Call 'DFHEI1' using by content x'020a000007480000000000000000 EXT
      • 002478 - '0000000000000000f0f0f3f1f5404040' end-call
      • 002479 .
      • 002480 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00026400
      • 1PP 5668-958 IBM VS COBOL II Release 4.0 09/15/92 CCAADEME Date 10/05/07 Time 10:35:17 Page 47
      • LineID PL SL ----+-*A-1-B--+----2----+----3----+----4----+----5----+----6----+----7-|--+----8 Map and Cross Reference
      • 0 002481
      • 002482 0200-SEND-INITIAL-SCREEN.
      • 002483
      • 002484 *EXEC CICS SEND
      • 002485 * FROM (TMAP1)
      • 002486 * LENGTH (TMAP1A-LEN)
      • 002487 * ERASE
      • 002488 *END-EXEC
      • 002489 Call 'DFHEI1' using by content x'0404300007000000810000400000 EXT
      • 002490 - '00f0f0f3f2f2404040' by content x'0000' by content x'0000' by
      • 002491 reference TMAP1 by reference TMAP1A-LEN end-call 132 21
      • 002492
      • 002493
      • 002494 .
      • 002495 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00026400
    • O mesmo evento inchando (2/2)
      • 3600-CAUSE-2033.
      • 002902
      • 002903 002924 MOVE WS-RECEIVABLES-QNAME TO WS-CURRENT-QUEUE 53 54
      • 002925
      • 002926 MOVE LENGTH OF WS-OUTPUT-MSG TO WS-MSGLENGTH IMP 103 117
      • 002927
      • 002928 MOVE MQGMO-CURRENT-VERSION TO MQGMO-VERSION 856 654
      • 002929 COMPUTE MQGMO-OPTIONS = MQGMO-FAIL-IF-QUIESCING + 656 862
      • 002930 MQGMO-WAIT 859
      • 002931 MOVE 2000 TO MQGMO-WAITINTERVAL 658
      • 002932 MOVE MQMO-MATCH-CORREL-ID TO MQGMO-MATCHOPTIONS 894 666
      • 002933
      • 002934 MOVE MQRO-NONE TO MQMD-REPORT IN MQMD2 995 509 467
      • 002935 MOVE MQPER-PERSISTENCE-AS-Q-DEF TO MQMD-PERSISTENCE IN MQMD2 1126 525 467
      • 002936 MOVE MQPRI-PRIORITY-AS-Q-DEF TO MQMD-PRIORITY IN MQMD2 1121 523 467
      • 1PP 5668-958 IBM VS COBOL II Release 4.0 09/15/92 CCAADEME Date 10/05/07 Time 10:35:17 Page 55
      • LineID PL SL ----+-*A-1-B--+----2----+----3----+----4----+----5----+----6----+----7-|--+----8 Map and Cross Reference
      • 0 002937 MOVE MQMT-REQUEST TO MQMD-MSGTYPE IN MQMD2 1005 511 467
      • 002938 MOVE MQMI-NONE TO MQMD-MSGID IN MQMD2 1129 527 467
      • 002939 MOVE WS-SAVED-MSGID TO MQMD-CORRELID IN MQMD2 32 529 467
      • 002940 MOVE MQENC-NATIVE TO MQMD-ENCODING IN MQMD2 1067 517 467
      • 002941 MOVE MQFMT-STRING TO MQMD-FORMAT IN MQMD2 1115 521 467
      • 002942 MOVE MQEI-UNLIMITED TO MQMD-EXPIRY IN MQMD2 1016 513 467
      • 002943 MOVE SPACES TO MQMD-REPLYTOQMGR IN MQMD2 IMP 535 467
      • 002944
      • 002945 CALL 'MQGET' USING WS-HCONN 00052200 EXT 119
      • 002946 WS-GETHOBJ 122
      • 002947 MQMD2 467
      • 002948 MQGMO 650
      • 002949 WS-MSGLENGTH 117
      • 002950 WS-OUTPUT-MSG 103
      • 002951 WS-DATALEN 118
      • 002952 WS-COMPCODE 124
      • 002953 WS-REASON 125
    • Interagindo com o ambiente
      • 0100-INITIALIZATION. 00024200
      • 00024300
      • MOVE MQOD-CURRENT-VERSION TO MQOD-VERSION IN MQOD1
      • MOVE MQOD-CURRENT-VERSION TO MQOD-VERSION IN MQOD2
      • SET MSG-CNTR TO 1
      • INITIALIZE WS-MISC
      • EXEC CICS IGNORE CONDITION SUPPRESSED
      • END-EXEC
      • .
      • * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00026400
      • 0200-SEND-INITIAL-SCREEN.
      • EXEC CICS SEND
      • FROM (TMAP1)
      • LENGTH (TMAP1A-LEN)
      • ERASE
      • END-EXEC
      • .
      • .
      • .
      • CALL 'MQGET' USING WS-HCONN ….
      • .
      • .
      • EXEC SQL DECLARE ORDER CURSOR FOR
      • SELECT *
      • FROM HBRJXG0.ORDER_1
      • WHERE CUST_NUM LIKE :INPUT-CUSTOMER-NUMBER
      • END-EXEC.
      • EXEC SQL OPEN ORDER END-EXEC.
      • EXEC SQL FETCH ORDER INTO :ORDER-TABLE END-EXEC.
      • IF SQLCODE = SQL-NOT-FOUND
      • MOVE 'NO ORDERS FOUND FOR CUSTOMER ' TO RPT-ERROR-TEXT
      z/OS MQSeries Queue Manager DB2 Queue1 Queue2 Queue3 Data bases CICS Rotinas de Serviço DBRM; Ser espectral! Rotinas de Serviço Rotinas de Serviço
    • As suas visões 0100-INITIALIZATION. 00024200 00024300 MOVE MQOD-CURRENT-VERSION TO MQOD-VERSION IN MQOD1 MOVE MQOD-CURRENT-VERSION TO MQOD-VERSION IN MQOD2 SET MSG-CNTR TO 1 INITIALIZE WS-MISC EXEC CICS IGNORE CONDITION SUPPRESSED END-EXEC . * * * * * * * * * * * * * * * * * * * * * * * * * * * 00026400 0200-SEND-INITIAL-SCREEN. EXEC CICS SEND FROM (TMAP1) LENGTH (TMAP1A-LEN) ERASE END-EXEC . . . CALL 'MQGET' USING WS-HCONN …. . . EXEC SQL DECLARE ORDER CURSOR FOR SELECT * FROM HBRJXG0.ORDER_1 WHERE CUST_NUM LIKE :INPUT-CUSTOMER-NUMBER END-EXEC. EXEC SQL OPEN ORDER END-EXEC. EXEC SQL FETCH ORDER INTO :ORDER-TABLE END-EXEC. IF SQLCODE = SQL-NOT-FOUND MOVE 'NO ORDERS FOUND FOR CUSTOMER ' TO RPT-ERROR-TEXT z/OS MQSeries Queue Manager DB2 Queue1 Queue2 Queue3 Data bases CICS
    •  
    • Ilustração esquemática de uma execução CPU Wait Run time SVC001 SVC001 SVC001
    • Uma aplicação no ambiente CPU Wait = DB2 = Usuário = Outros do sistema (CICS,COBOL,LE, SVCs. Nucleus, etc) Task da aplicação ASCB Tasks do sistema (multitasking) = Subrotinas em wait: SVC001, IOCS (QSAM, BUFFERS), VSAM, DB2, Gestâo de arquivos (Enqueue,Catalog Management, End of Volume etc.), outros DBMS etc CPU ready state run time
    • Causa  efeito: A dúvida paradoxal
    • Efeitos & Barreiras
      • Quando há alto tempo de resposta(batch) e grande volume de dados:
        • É e o DB que não “atende”...
        • Mas dependendo do ponto de vista é a aplicação mal escrita
          • Mesmo com os mitos da otimização dos índices, buffers, EXCPs, canais e subsistemas de I/O etc.
          • Nota:
            • Não queremos afirmar que sejam ineficazes, mas apenas rever critérios específicos para problemas generalizados
      • Quando há alto tempo de resposta com máquina lenta, é máquina carregada...
        • Mestre, me dê uma Luz!
          • A máquina está com baixa capacidade, ou há muita carga para ela?
        • Paradoxo:
          • Aumentamos a máquina ou diminuimos a carga com otimização dos recursos?
    • Métricas, métricas, métricas...
      • Os medidores de ambiente podem até confirmar que a aplicação e o sistema estão satisfatórios (mas às vezes...)
      • Os monitores convencionais podem indicar a aplicação, mas são limitados a esta perspectiva
      • A aplicação aloja componentes do sistema que não são normalmente vistos pelos envolvidos das duas grandes áreas (desv/prod)
    • Métricas + métricas (cont.)
      • A granularidade e a ordem de grandeza estão em perspectivas distintas
        • Uma aplicação parece pequena num sistema em produção
        • Uma aplicação parece grande para o desenvolvedor
      • A necessidade de resposta rápida ofuscam a causa raiz do componente exato da aplicação
      • O usuário final é negligenciado.
    • Mitos (I)
      • Vai bem no teste e mal na produção
      • Conclusões preliminares
        • “ Treino é treino, jogo é jogo” – Didi copa de 1958
        • Velocidade de processador
        • Volume de dados
        • Concorrência
        • Falta de máquina na produção
        • Não aparece em teste devido a...
    • Mitos (II)
      • Máquina não é, pois está otimizada ao máximo, é aplicação mal escrita
        • Como provar?
        • “ O que não se mede não se administra” – Lord Kelvin
      • É o normal dela...
      • E eu ja sei o que é....
      • Estava bem desde o último upgrade...
      • Os negócios cresceram
        • Mas, geralmente, não na proporção do consumo [MIPS-Growth ]
    • Verdades? Bem, depende... Mitos?
    • O mundo ideal
      • A tecnologia e suas maravilhosas ferramentas como conciliadoras
      • Fluxo de informações(métricas) específicas multidirecionais
      • Todo e qualquer disperdício medido para a redução dos custos
        • Desde abends e seus overhead
        • Aplicações de alto consumo ou baixo desempenho
      • Adoção em sinergia de ferramentas juntamente com suas metodologias propostas
    • Aviso ! “ Não há respostas objetivas simples para perguntas subjetivas complexas” Roger Miller – DB2 Specialist
    • Perguntas?
    • Muito obrigado!
    • FIM
    • Referências
      • [MIPS-Growth] MIPS consumption is growing steadily. The 10% average annual growth rate in MIPS usage is higher than overall business growth (9%) and overall IT costs growth (7%)”
        • – Computerworld White Paper “MIPS Management at Mainframe Organizations” August 2007
      • [GARTNER-5D] Application Performance Monitoring e suas 5 dimensões pelo Gartner Group: The Five Dimensions of 5D no texto “Magic Quadrant for Application Performance Monitoring” de Will Capelli
      • [EUE-FEE] The Five Essential Elements of Application Performance Monitoring – Don Jones – Realtime publishers: http://nexus.realtimepublishers.com