como melhorar a performance de sua aplicaÇÃo … melhorar a... · –certificação oracle apex...

Post on 13-Feb-2019

216 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

COMO MELHORAR A PERFORMANCE DE SUA APLICAÇÃO APEX

Anderson Rodrigues Ferreira

Como melhorar a performance de

sua aplicação Apex

Anderson Rodrigues Ferreira

Consultor e Gerente de Desenvolvimento

Quem sou

– Engenheiro de computação

– Pós-graduação em Segurança da Informação

– MBA em Gestão de TI

– Gerente de desenvolvimento descentralizado

– Certificação Oracle Apex Expert

– Certificação Oracle Database SQL Expert

– Professional Scrum Master

Resumo dos números no TCU

+110 desenvolvedores

+150 sistemas Apex

+400k pageviews/dia

Curso Básico de Apex – TCU

https://contas.tcu.gov.br/ead/course/view.php?id=301

(Pode acessar como Visitante!)

+1,4k visitantes ao curso

Apex Gaming Competition 2015

• Vencedores

Presidente do TCU

David Peake (Gerente do Apex

da Oracle dos Estados Unidos)

Mais de 240 presentes de

Mais de 70 instituições

Palestrantes dos 3 Poderes

da República e de empresas

Apex Tour Latinoamérica 2015

Apex Tour Latinoamérica 2016

Inscrições em breve!

Aviso

• As opiniões aqui expressadas não são necessariamente as do TCU!

• Por favor, perguntas ao final da apresentação!

Sumário

• Introdução

• Conceitos básicos

• Performance no Apex

– Página

– Autorização

– Relatório

– Formulário

• Conclusão

Sumário

• Introdução

• Conceitos básicos

• Performance no Apex

– Página

– Autorização

– Relatório

– Formulário

• Conclusão

Introdução

Network

connection

Network

connection

Introdução

Network

connection

Network

connection

Introdução

“Oracle Application Express is as fast or as slow as you, the developer, make it. The overhead associated with the APEX engine itself is fairly static (measured in hundredths of a second).”

Joel Kallman, Director of Software Development

http://joelkallman.blogspot.com.br/2014/03/finallythe-official-sizing-guide-for.html

Introdução

• Fórmula da performance

P = Performance

R = Tempo de resposta real

E = Tempo de resposta esperado

i = Importância da atividade

N = Número de vezes que o usuário executa a atividade

Sumário

• Introdução

• Conceitos básicos

• Performance no Apex

– Página

– Autorização

– Relatório

– Formulário

• Conclusão

API Apex

http://api.oracleapex.com

APEX_DEBUG log levels• 1 - critical error

• 2 - less critical error

• 4 - default level if debugging is enabled

• 5 - application: messages when procedures/functions are entered

• 6 - application: other messages within procedures/functions

• 8 - Application Express engine: messages when procedures/functions are entered

• 9 - Application Express engine: other messages within procedures/functions

Habilitando o DEBUG

Consultando o DEBUG

SELECT * FROM APEX_DEBUG_MESSAGES;

Browser developer tool (F12)

#TIMING#

• Utilizado no “Footer text” de qualquer região

• Mostra o tempo de renderização da região

SQL Tracinghttps://apex.oracle.com/pls/apex/f?p=100:1&p_trace=YES

APEX_SESSION.SET_TRACE (Apex 5.1)

Quiz

Qual a página de pior performance?

a) Página demora 10 segundos

b) Página demora 5 segundos

Quiz

Qual a página de pior performance?

a) Página demora 10 segundos

b) Página demora 5 segundos

c) Depende

APEX_WORKSPACE_ACTIVITY_LOG

select workspace, application_name, application_id, page_id, count(*) total_page_events, avg(elapsed_time) avg_elapsed_time, sum(elapsed_time) elapsed_timefrom APEX_WORKSPACE_ACTIVITY_LOGwhere view_date between SYSDATE-7 and SYSDATEgroup by workspace, application_name, application_id, page_idhaving count(*) > 20order by 7 desc

Para ver todo o ambiente Apex:

APEX_ADMINISTRATOR_ROLEAPEX_ADMINISTRATOR_READ_ROLE (Apex 5)

Logging (App)

Logging (Internal)

Advisor

Evite v function! Utilize bind variable!

v(‘APP_USER’)

:APP_USER

Sumário

• Introdução

• Conceitos básicos

• Performance no Apex

– Página

– Autorização

– Relatório

– Formulário

• Conclusão

Global page

Evite processamento lento na página global!

Page (or region) cache

Sumário

• Introdução

• Conceitos básicos

• Performance no Apex

– Página

– Autorização

– Relatório

– Formulário

• Conclusão

Autorização

Sumário

• Introdução

• Conceitos básicos

• Performance no Apex

– Página

– Autorização

– Relatório

– Formulário

• Conclusão

Paginação de relatório

Maximum Row Count

Maximum rows per page

SELECT * FROM EMP?

SELECT * FROM EMP?

SYS_CONTEXT (Apex 5)

Sumário

• Introdução

• Conceitos básicos

• Performance no Apex

– Página

– Autorização

– Relatório

– Formulário

• Conclusão

Popup LOV x Select List

Evite “Select list” para consultas lentas!

Cuidado com Dynamic Actions

Show processing

No clique

Show processing CSS (Apex 5).apex_wait_overlay {

display: block;

position: fixed;

top: 0;

left: 0;

width: 100%;

height: 100%;

background-color: #000;

z-index: 1001;

-moz-opacity: .8;

opacity: .8;

filter: alpha(opacity=50);

}

Sumário

• Introdução

• Conceitos básicos

• Performance no Apex

– Página

– Autorização

– Relatório

– Formulário

• Conclusão

Introdução

Network

connection

Network

connection

The overhead associated with the APEX engine itself is

fairly static (measured in hundredths of a second)

Habilitando o DEBUG

APEX_DEBUG_MESSAGES

Browser developer tool (F12)

#TIMING#

• Utilizado no “Footer text” de qualquer região

• Mostra o tempo de renderização da região

APEX_WORKSPACE_ACTIVITY_LOG

select workspace, application_name, application_id, page_id, count(*) total_page_events, avg(elapsed_time) avg_elapsed_time, sum(elapsed_time) elapsed_timefrom APEX_WORKSPACE_ACTIVITY_LOGwhere view_date between SYSDATE-7 and SYSDATEgroup by workspace, application_name, application_id, page_idhaving count(*) > 20order by 7 desc

Para ver todo o ambiente Apex:

APEX_ADMINISTRATOR_ROLEAPEX_ADMINISTRATOR_READ_ROLE (Apex 5)

Logging (App)

Logging (Internal)

Advisor

Evite v function! Utilize bind variable!

Global page

Evite processamento lento na página global!

Page (or region) cache

Autorização

Paginação de relatório

Maximum Row Count

Maximum rows per page

SELECT * FROM EMP?

SYS_CONTEXT (Apex 5)

Popup LOV x Select List

Evite “Select list” para consultas lentas!

Cuidado com Dynamic Actions

Show processing

No clique

Anderson Rodrigues Ferreira

Tribunal de Contas da União

andersonrf@tcu.gov.br

Blog: http://desenvolvedorapex.blogspot.com.br

Twitter: @andersonrf81

Como melhorar a performance de sua aplicação Apex

Muito obrigado!

top related