sábado, 3 de novembro de 2012

PeopleSoft Performance Tuning


1. Introdução:

É um fato amplamente conhecido que 80% dos problemas de desempenho são um resultado direto do mau desempenho, tais como servidor de contenção de recursos, configuração. Supondo que você tenha sintonizado seus servidores e seguiu as orientações para o seu servidor de banco de dados, servidor de aplicação e servidor web, a maioria de seus problemas de desempenho podem ser resolvidos por meio do ajuste da aplicação PeopleSoft.

Este artigo apresenta metodologias e técnicas para otimizar o desempenho de aplicações PeopleSoft. As metodologias que são discutidas são destinados a fornecer dicas úteis que ajudarão a melhor ajustar seus aplicativos PeopleSoft. Essas dicas se concentrar em ajustar vários aspectos diferentes dentro de um ambiente PeopleSoft variando de servidores aos índices. Você vai encontrar algumas dessas dicas lhe proporcionar uma melhoria significativa no desempenho, enquanto outros podem não se aplicar ao seu ambiente.

2. O desempenho do servidor:

Em geral, a abordagem de sintonização aplicação começa por examinar o consumo de recursos. O sistema como um todo tem de ser monitorado para analisar o consumo de recursos, numa base de componente individual e, como um todo.
A chave para afinar servidores em um ambiente PeopleSoft é implementar uma metodologia para capturar com precisão o máximo de informação possível sem a utilização de recursos críticos necessários para servir os usuários finais.

Ferramentas tradicionais utilizadas para medir utilizações impactar o sistema que está sendo medido e, finalmente, a experiência do usuário final. Comandos como os seguintes fornecem dados instantâneos, mas não sem um custo associado. Estas ferramentas podem consumir uma quantidade significativa de recursos para os cuidados devem ser tomados quando executá-los.

a) tamanho df

b) iostat swapinfo

c) timex ipcs

d) top netstat

f) ps uptime

g) vmstat sar

h) swapinfo também olhar & gpm

O objetivo do uso desses comandos nativos é identificar, se e quando, um gargalo está no servidor. É o problema na CPU, E / S ou memória? Estas ferramentas nativas fornecer indicadores, mas ao mesmo tempo poderia enviesar os resultados devido a sobrecarga associada com eles. Normalmente, ferramentas adicionais de terceiros são necessários para completar a análise.

O último obstáculo a ser enfrentado na afinação do servidor é a tomada de decisões em tempo quando atualizar o hardware em si. Para fazer isso, muito mais informações precisam ser coletados e armazenados, a fim de entender se um pico histórico na utilização dos recursos foi uma aberração de uma só vez ou de um edifício ocorrência regular ao longo do tempo. A recomendação é olhar para outros fornecedores de soluções que podem coletar indicadores-chave de desempenho, minimizando a sobrecarga no sistema. Os dados coletados podem ser colocados em um repositório para análise histórica detalhada.

3. Desempenho do Servidor Web:

O lançamento do PeopleSoft Pure Internet Architecture (TM) introduz novos componentes para PeopleSoft arquitetura - o servidor web e servidor de aplicação. O servidor de aplicação é o lugar onde a maioria das lojas lutar com dimensionamento adequado. Os servidores Web são usados ​​para lidar com as solicitações do usuário final a partir de um navegador para eliminar os custos administrativos associados com software de carregamento (clientes de gordura) em desktops individuais. A vantagem é uma economia significativa nos custos de implementação de software, manutenção e upgrades. Enquanto a mudança de clientes de gordura para diminui finas os encargos administrativos, aumenta a necessidade de garantir os servidores web são afinado, uma vez que irá atender um grande número de clientes. A exigência para esses servidores web para obter melhor desempenho é vital devido à missão crítica-natureza PeopleSoft desempenha na empresa de hoje.

Recomendações para garantir um bom desempenho para servidores web:

o Garantir estratégia de balanceamento de carga é de som

o Implementar uma solução para verificar e destacar as mudanças nos volumes de tráfego

o acompanhar de perto os tempos de resposta para verificar se a estratégia é otimizar os servidores web

o Medida e rever padrões históricos sobre a utilização do servidor de recursos (ver secção servidor acima).

o Aumentar o tamanho da pilha para 200, 250, 300 ou 380 MB para o script de inicialização lógica web.

4. Gestão de Desempenho smoking:

Smoking é adicional middleware PeopleSoft utiliza para gerenciar os seguintes serviços de Internet do servidor de aplicativos:

o processador de componentes - Responsável pela execução de Componentes PeopleSoft - o núcleo PeopleSoft lógica de negócios do aplicativo

o negócio Interlink Processador - Responsável pela gestão das interações com sistemas de terceiros

o aplicativo de mensagens do processador - Gerencia mensagens em um sistema PeopleSoft

o Gerador de Interface de Usuário - Gera a interface do usuário com base na definição de componentes ou de consulta e gera a linguagem de marcação apropriada (HTML, WML ou XML) e linguagem de script (JavaScript, WMLScript) com base no cliente acessar o aplicativo

o Security Manager - Autentica usuários finais e gere os seus privilégios de acesso ao sistema

o processador de consulta - Executa consultas usando a ferramenta de consulta PeopleSoft

o Mecanismo de Aplicação - Executa processos Motor PeopleSoft Aplicação

o Process Scheduler - Executa relatórios e processos de lote e registra os relatórios no Registro do Portal de Conteúdo

o Access Manager SQL - Gerencia toda a interação com o SGBD relacional via SQL
Este Tuxedo camada intermediária é outro componente crítico e influente do desempenho. Similar ao servidor web, o que é necessário é uma maneira de ver o "caixa preta" para entender melhor algumas das métricas-chave de desempenho.

Algumas das métricas de desempenho para capturar ao analisar smoking são:

volumes de transação O por domínio, servidor de aplicação, e

o tempo de resposta para cada solicitação do usuário final

o serviço Tuxedo gerando uma má instrução SQL desempenho

ó Quebrar de tempo Tuxedo por tempo de serviço e tempo de fila

o Identificar origem problema - são em smoking ou o banco de dados?

comparações de resposta para o Tempo de Servidor Tuxedo múltipla

Relatórios mostraram que muitas vezes as empresas de hardware jogar em um problema de desempenho do smoking quando uma solução mais eficaz pode ser tão simples como adicionar outro domínio para o servidor existente (s). Isto é devido ao facto de Tuxedo PeopleSoft e soluções de gestão de falta que proporcionam vistas históricos de desempenho.

5. Application Performance:

É um facto aceite que 80% dos problemas de aplicação e banco de dados residem no código do aplicativo. Mas, há outros itens técnicos a considerar que poderiam influenciar o desempenho das aplicações. Aqui estão alguns itens específicos para se concentrar na avaliação do ambiente de banco de dados:

o Certifique-se o banco de dados é dimensionado e configurado corretamente

o Certifique-se de que os ambientes de hardware e O / S estão configurados corretamente

ó Verifique se os níveis de correcção são atuais

ó Fix comuns erros de SQL

o Documentação Revisão de problemas conhecidos com o PeopleSoft fornecido código

❏ Certifique-se de verificar os patches disponíveis do PeopleSoft que poderia resolver o problema

o Revisão PeopleSoft sugeriu parâmetros do kernel

o Definir o número correto de processos

o Revisão do servidor de aplicativos de bloqueio para consultas de longa execução

o Certifique-se de não Undersize versão do servidor de aplicação 8

Recomenda-se também continuar a analisar estes itens em uma base periódica.

6. Database Performance:

O desempenho de uma aplicação depende de muitos fatores. Vamos começar com a abordagem global geral para ajustar instruções SQL. Nós, então, mudar-se para áreas como índices, monitoramento de desempenho, consultas, o tempdb (Tempdb é muitas vezes referida como "TEMP" normal), e, finalmente, servidores e alocação de memória.

Para entender o efeito do ajuste, devemos comparar "tempo em Oracle", com "tempo de espera pedido". Tempo de espera pedido é o tempo que uma sessão é ligado a Oracle, mas não emitir instruções SQL. Em tempo Oracle mostra a quantidade de tempo resolver uma instrução SQL uma vez que foi submetido a Oracle para execução. Se o tempo de Oracle não é significativamente menor do que o tempo de espera de pedido e, em seguida aplicação de ajuste deve ser examinado. Pedir tempo de espera é quase sempre muito maior do que no tempo Oracle, especialmente para usuários de linha em, por causa do tempo de reflexão.

Uma exceção a isso é para um trabalho em lotes que se conecta ao Oracle e submete instruções SQL, em seguida, processa os dados retornados. A maior proporção de solicitação esperar para Oracle poderia indicar um loop na aplicação fora da Oracle.

Isto deve ser identificado e eliminado antes de continuar a análise de desempenho.
O próximo passo concentra-se em sintonia as instruções SQL que utilizam mais recursos. Para encontrar a maioria dos recursos declarações consumir SQL, a abordagem de coleta programada pode ser utilizada. O tempo de duração é um critério comumente usado para localizar a declarações ofensivas SQL. Outros critérios úteis incluem o seguinte estados de espera: I / O, bloqueio de linha, bloqueio de tabela, piscina comum, buffer, segmento de rollback, redo log buffer, bloqueio interno, faça o login interruptor e claro, o processo de fundo, CPU, memória e I / O. Para cada instrução SQL ofensivo, o plano de execução e estatísticas de banco de dados são analisados. As seguintes estatísticas são importantes: mesa e seletividade coluna, fator de agrupamento índice, e os parâmetros de armazenamento. Primeiro, todas as associações do SQL são considerados. Para cada associação, a ordenação das tabelas é analisada. É de grande importância ter a condição mais selectivo do filtro para a tabela de condução. Em seguida, o tipo de junção é considerada. Se a junção
Representa um loop aninhado, forçando-o em uma junção de hash pode ser vantajoso em algumas condições.

A fase de análise geralmente resulta em modificação de várias propostas, que são aplicados e testados em sequência. Ações corretivas incluem mudanças de banco de dados de objetos e mudanças SQL. As mudanças de objetos típicos de banco de dados são: mudança de índice, reconstrução de índice e reorganização da tabela.

As mudanças típicas SQL são: a substituição subconsulta com uma junção de divisão, um SQL em SQLs múltiplas, e inserir sugestões Oracle para dirigir o Optimizer para o plano de execução direita.

7. Índices:

Índices de ajuste é outro fator importante na melhoria do desempenho em um ambiente PeopleSoft. A manutenção do índice é crucial para manter o desempenho do banco de dados bom. Estatísticas sobre a distribuição dos dados são mantidos em cada índice. Estas estatísticas são utilizadas pelo otimizador para decidir qual, se for o caso, os índices de usar. As estatísticas também deve ser mantida para que o otimizador pode continuar a tomar boas decisões. Assim, os procedimentos devem ser configurados para atualizar as estatísticas tão frequentemente como é prático.

Tenha em mente que os objetos que não mudam, não precisam ter suas estatísticas criado novamente. Se o objecto não tiver sido alterado, as estatísticas serão os mesmos. Neste caso, recriando as mesmas estatísticas mais novo vai desperdiçar recursos.

Desde PeopleSoft usa um monte de tabelas temporárias que são carregados e depois excluídos, mas não caiu, é útil para criar as estatísticas quando essas mesas estão cheias de dados. Se as estatísticas são criadas quando a tabela está vazia, as estatísticas vão refletir esse fato. O Otimizador de não ter a informação correta quando se escolhe um caminho de acesso.

Periodicamente, os índices devem ser reconstruído para a fragmentação do índice balcão. Um script de criação do índice pode ser criado através PeopleTools a cair e reconstruir índices. Este procedimento irá eliminar índice de desperdício de espaço em blocos que são criadas como resultado de exclui da Oracle lógicas. Isso só é necessário em tabelas que são alterados com freqüência (inserções, atualizações ou exclusões).

Esquema de índice também é importante olhar. Os índices em uma instalação PeopleSoft padrão não podem ser os mais eficientes para todas as instalações. Examinar atentamente o padrão de dados de distribuição, e modificar os índices de conformidade. Por exemplo, o índice de PS_VOUCHER (BUSINESS_UNIT, VOUCHER_ID) pode ser alterado para (VOUCHER_ID, BUSINESS_UNIT) para uma implementação com apenas umas poucas unidades comerciais. Use Opções de Consulta ISQLW (Ver Plano de consulta e mostrar Estatísticas I / O) para determinar a eficácia de novos índices. No entanto, ter o cuidado de testar exaustivamente o esquema de novo índice para encontrar todas as suas ramificações.

8. Consultas:

É uma boa idéia para examinar consultas para tentar resolver um problema que está a afectar a aplicação. Analisador de consulta pode ser usado para ver os planos de otimização de instruções SQL lentos. Escolha "plano de consulta / Display" para ver uma representação gráfica de um plano de consulta. Como alternativa, mediante a emissão de um "conjunto showplan_text on" e executar a instrução vai ter uma representação textual do plano, mostrando índices utilizados, a ordem em que as tabelas foram utilizados, etc

Ao investigar consultas, mesas de trabalho criadas por segundo também deve ser abordada. Se um grande número de mesas de trabalho, sendo são criados por segundo (isto é, centenas por segundo), isto significa que uma grande quantidade de separação está a ocorrer. Isto pode não ser um problema grave, especialmente se não corresponder a uma grande quantidade de I / O.
No entanto, o desempenho pode ser melhorado por meio do ajuste das consultas e índices envolvidos nas sortes e, idealmente, isso irá eliminar alguns classificação.

Recomendações para garantir um bom desempenho para servidores de banco de dados:

- Evite o uso de operadores booleanos>, =,...

Nenhum comentário:

Postar um comentário