Capacity Planning (parte 1)

Capacity Planning (Parte 1)

Por José Eduardo Fiamengui Jr

Publicação completa feita na revista SQL Magazine

É cada vez mais comum nas organizações de TI gerenciar, analisar e corrigir problemas de desempenho que os usuários relatam. No mundo perfeito, os administradores se preparam com antecedência a fim de evitar gargalos, utilizando-se do que chamamos de capacity planning. Esse tipo de projeto tem por objetivo determinar a capacidade de produção para responder a novas demandas, fornecendo níveis satisfatórios de serviços aos usuários e mantendo, assim, uma boa relação custo-benefício. Neste contexto, este artigo visa a detalhar teoricamente um projeto de capacity planning, bem como mostrar quais são e como coletar as métricas importantes para a realização desse tipo de projeto.

A Figura 1 mostra os três pilares fundamentais para a realização de um capacity planning.

Vamos, então, detalhar cada um desses pilares.

Determinar os níveis de serviços requeridos pelos usuários

O primeiro passo em projeto de capacity planning é categorizar o trabalho realizado pelo sistema e alinhar as expectativas dos usuários do modo como o trabalho é realizado.

Nessa fase, o capacity planning deve focar seus esforços em:

Who: quem realiza o trabalho (usuário ou departamento);

What: qual tipo de trabalho é realizado (relatório de finanças);

How: como o trabalho é realizado (rotina batch); e

Establish Service Levels: acordar um nível satisfatório entre service provider (provedor do serviço) e o service consumer (cliente). O service levels é frequentemente definido pela perspectiva do usuário, tipicamente em tempo de resposta e throughput.

O processo global de estabelecimento de requisitos em nível de serviço exige primeiro uma compreensão dos workloads (cargas de trabalho) e service que é a classificação lógica do trabalho realizado em um computador do sistema, como mostrado na Figura 2.

Figura 2

A partir deste entendimento inicial, como estabelecer os níveis de serviço?

Os níveis de serviço devem ser estabelecidos conforme as metas plausíveis para o negócio e, para tanto, será necessário conhecer, no mínimo:

Os processos de negócio envolvidos com determinado serviço;

A prioridade para o negócio do serviço;

O crescimento esperado da procura pelo serviço durante os próximos anos;

O pior tempo de resposta aceitável para o serviço; e

Sazonalidade do serviço.

Não são necessários acordos formais e assinados pela TI e a área de negócios, mas é recomendável garantir que ambas as partes recebam as informações supracitadas. Estabelecidos tais acordos, o Capacity poderá garantir um desempenho adequado a um custo mínimo.

Analisar a capacidade de processamento instalada

Devemos analisar a capacidade atual para que ela seja alinhada às expectativas de tempo de resposta dos usuários.

Nessa fase é necessário:

Comparar as medidas de todos os itens referenciados nos acordos de nível de serviço com seus objetivos, o que fornece a resposta sobre a capacidade atual estar ou não adequada ao que esperam os usuários;

Analisar o uso de todos os dispositivos envolvidos no sistema CPU, memória, dispositivo de I/O, banco de dados, servidor de aplicação, entre outros; e

Mensurar o tempo de resposta e a utilização de recursos para cada workload e determinar quais recursos do sistema estão sendo mais consumidos para cada workload.

Como mensurar o uso global de recursos?

É importante realizar o monitoramento de cada um dos recursos envolvidos no sistema computacional, verificando se algum deles está saturado (utilização próxima ou igual a 100%). Caso haja saturação, os workloads que utilizam tal recurso estarão susceptíveis a apresentar tempos piores de resposta. O tempo de resposta pode ser definido segundo a fórmula abaixo:

Tempo de Resposta = Tempo de Serviço + Tempo de Espera (Wait Events)

Por isso, mostra-se importante também o detalhamento de cada workload com relação aos recursos utilizados, refletido em algo semelhante à Figura 3. Por exemplo, imagine um comando ou processo que obtenha o relatório das apólices de seguro fechadas no último mês e um detalhamento de onde é gasto o tempo para completar este workload.

Figura 3

Dimensionar a capacidade necessária para atender os níveis de serviços atuais e futuros

Utilizando as previsões de crescimento do negócio e os requisitos do sistema, deve-se implementar as alterações necessárias para manter os mesmos níveis de serviço alinhados com as perspectivas de crescimento do negócio.

Nessa fase será necessário conhecer:

Crescimento esperado do negócio;

Requisitos para novas funcionalidades/aplicações; e

Consolidação dos itens acima com as métricas coletadas pelos dispositivos atuais.

Sobre oradeep

José Eduardo Fiamengui Júnior Graduação: Tecnologia em Informática pela Universidade Estadual de Campinas (Unicamp) Pós-Graduação: Administração em Banco de Dados Oracle pelo Instituto Brasileiro de Tecnologia Avançada (IBTA) Mba em Gestão Estratégica em TI pela FGV OCE Certified ITIL Certified Empresa Atual: Dba Oracle e Performance Specialist na Ccee Empresa Atual: Instrutor Oracle IBTA
Esta entrada foi publicada em Uncategorized. ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s