SlideShare a Scribd company logo
1 of 66
Performance & Tuning – Linux
Como melhorar a performance de um ambiente Linux, seja
ele físico, virtual ou em cloud* (abordando)
Instrutor:	
  Gustavo	
  C	
  Lima	
  
Pesquisa realizada para realização deste treinamento
	
  
	
  
•  4	
  semanas	
  con*nuas	
  de	
  pesquisas	
  
•  6	
  livros,	
  focados	
  em	
  performance,	
  resumidos	
  e	
  analisados	
  
•  2	
  cursos	
  –	
  1	
  da	
  RedHat	
  e	
  outro	
  da	
  Oracle	
  analisados	
  
•  273	
  ar?gos,	
  focados	
  em	
  peformance,	
  analisdos	
  e	
  comentados	
  
•  Mais	
  de	
  45	
  testes	
  de	
  performance	
  em	
  ambientes	
  Cloud	
  e	
  não	
  
cloud	
  
•  Casos	
  de	
  estudos	
  analisados	
  de	
  grandes	
  empresas	
  e	
  sites	
  de	
  e-­‐
commerce	
  
•  Primeiro	
  curso	
  a	
  abordar	
  a	
  u?lização	
  Docker	
  
	
  
Um resumo do que foi pesquisado e analisado para confecção deste treinamento
Tudo	
  isso	
  para	
  um	
  treinamento	
  que	
  será	
  composto	
  por	
  6	
  aulas,	
  tendo	
  
cada	
  aula	
  3	
  horas	
  de	
  duração,	
  em	
  duas	
  terças,	
  quartas	
  e	
  quintas	
  –	
  em	
  	
  	
  	
  	
  	
  	
  
2	
  semanas,	
  com	
  18	
  horas	
  no	
  total.	
  
Objetivo
Este	
  treinamento	
  visa	
  orientar	
  
profissionais	
  da	
  área	
  de	
  tecnologia	
  da	
  
informação	
  a	
  coletar,	
  analisar,	
  
implementar	
  e	
  testar	
  diferentes	
  Cpos	
  
de	
  dados,	
  programas	
  e	
  informações,	
  
que	
  juntos,	
  tornam	
  um	
  ambiente	
  Linux	
  
performáCco.	
  
Performance	
  
Analisar	
  
Implementar	
  
Testar	
  
Coletar	
  
*Metodologia	
  para	
  
performar	
  um	
  
ambiente	
  linux	
  
Pré-requisitos para este treinamento
Ferramentas	
   Modelos,	
  distribuições	
  e	
  especificações	
  
Ambiente	
  virtualizado	
   Download	
  do	
  VMware	
  WorkStaCon	
  /	
  fusion(mac)	
  /	
  virtual	
  box	
  
Distribuição	
  Linux	
   Download	
  do	
  Centos	
  6	
  64bits	
  /	
  Ubuntu	
  Server	
  12.04	
  64-­‐bits	
  
Acesso	
  à	
  internet	
   Link	
  igual	
  ou	
  superior	
  a	
  10mbps	
  
Conhecimentos	
   Em	
  Linux,	
  Redes	
  Tcp/ip	
  e	
  em	
  inglês,	
  já	
  que	
  teremos	
  muito	
  conteúdo	
  neste	
  idioma	
  
Experiência	
   Em	
  administração	
  de	
  servidores	
  Linux	
  
Equipamento	
   Computador	
  com	
  4GB	
  de	
  memória	
  ram	
  ou	
  superior,	
  sendo	
  64bits	
  a	
  sua	
  arquitetura	
  
Recomendado	
   Acesso	
  a	
  console	
  da	
  aws.amazon.com	
  ou	
  digitalocean	
  –	
  ambiente	
  Cloud	
  
Nossa	
  primeira	
  aula	
  consisCrá	
  em	
  preprar	
  e	
  discuCr	
  as	
  melhores	
  práCcas	
  de	
  
instalação	
  e	
  suporte	
  de	
  um	
  ambiente	
  Linux,	
  seja	
  ele	
  fisicamente	
  ou	
  
vitualmente	
  
Conteúdo e Carga Horária
As	
  melhores	
  distribuições	
  Linux	
  quando	
  o	
  assunto	
  é	
  performance	
  (FreeBSD	
  também	
  será	
  
abordado)	
  
Gerenciamento	
  de	
  Processos,	
  seus	
  recursos	
  e	
  componentes:	
  
•  LOAD	
  
•  Threads	
  e	
  seus	
  estados	
  
•  Processadores	
  
Sistemas	
  de	
  Arquivos	
  /proc	
  /sys	
  
Filesystem	
  –	
  Ext3	
  /	
  Ext4	
  /	
  ZFS	
  
Ferramentas/Programas	
  para	
  monitoração	
  dos	
  seguintes	
  componentes:	
  
•  CPU	
  
•  FileSystem	
  
•  Memória	
  
•  Rede	
  
Benchmarking	
  -­‐	
  Como	
  analisar	
  a	
  performance	
  do	
  seu	
  ambiente,	
  buscando	
  gargalos	
  e	
  
melhorias	
  
Tópicos que serão abordados nas primeiras 9 horas de Treinamento
Conteúdo e Carga Horária
	
  
Como	
  tunar	
  o	
  seu	
  ambiente	
  para	
  suportar:	
  
•  E-­‐mail	
  
•  Banco	
  de	
  dados	
  
•  Webserver	
  
•  WebCache	
  
Virtualização	
  &	
  Cloud	
  Compu?ng:	
  
•  O	
  que	
  muda	
  quando	
  um	
  ambiente	
  sai	
  do	
  mundo	
  ksico	
  para	
  o	
  virtual	
  ?	
  
•  Quais	
  são	
  os	
  provedores	
  de	
  IaaS	
  mais	
  performá?cos,	
  Amazon	
  ou	
  Digital	
  
Ocean	
  ?	
  
•  Como	
  dimensionar	
  o	
  IOPS	
  para	
  o	
  seu	
  ambiente	
  
•  SAP,	
  Microson,	
  Oracle,	
  tudo	
  isso	
  funciona	
  e	
  bem	
  na	
  nuvem?	
  
•  Trabalhando	
  com	
  Docker	
  
Tópicos que serão abordados nas 9 horas restantes de Treinamento
Introdução
Por que coletar, analisar, implementar e testar ?
Performance	
  
Analisar	
  
Implementar	
  
Testar	
  
Coletar	
  
Por que analisamos a performance ?
•  Redução	
  de	
  tempo	
  ou	
  de	
  recursos	
  	
  
–  	
  encontrando	
  pontos	
  a	
  melhorar	
  (gargalos),	
  reconfigurar	
  ou	
  tunar	
  
•  Pesquisas	
  por	
  arquiteturas	
  escaláveis	
  	
  
–  ambientes	
  que	
  possam	
  atender,	
  e	
  rápido,	
  as	
  necessidades	
  de	
  nossos	
  clientes	
  
•  Resolução	
  de	
  problemas	
  	
  
–  procurando	
  e	
  resolvendo	
  problemas	
  quanto	
  a	
  gargalos,	
  como	
  por	
  exemplo	
  a	
  	
  
latência	
  
Mas	
  para	
  sua	
  realização	
  vc	
  precisará	
  estabelecer	
  esta*scas	
  
básicas	
  e	
  primárias,	
  o	
  conhecido	
  baseline	
  
O trabalho de um sysadmin/DevOps nunca acaba quando o assunto é
performance
Entendendo o Sistema Operacional
•  Procurar	
  e	
  resolver	
  problemas	
  de	
  performance	
  do	
  Kernel	
  
–  Podemos	
  ganhar	
  até	
  60%	
  de	
  performance	
  graças	
  a	
  configurações	
  adequadas	
  em	
  seu	
  ambiente.	
  
•  /etc/sysctl.conf	
  &	
  /etc/security/limits.conf	
  
•  Resolver	
  bugs	
  e	
  desabilitar	
  recursos	
  desnecessários	
  
–  Ganhos	
  de	
  mais	
  de	
  200%	
  de	
  performance	
  graças	
  a	
  remoção	
  ou	
  resolução	
  de	
  possíveis	
  conflitos,	
  
fora	
  a	
  remoção	
  de	
  serviços	
  e	
  pacotes	
  desnecessários.	
  
•  Services	
  &	
  daemons	
  
•  Análise	
  da	
  performance	
  da	
  aplicação	
  do	
  ponto	
  de	
  vista	
  do	
  Kernel	
  
–  Melhorando	
  em	
  mais	
  de	
  100%	
  a	
  performance	
  do	
  seu	
  ambiente	
  graças	
  a	
  remoção	
  de	
  processos	
  
desnecessários.	
  
•  /etc/sysctl.conf	
  
	
  
	
  
Precisamos compreender o seu funcionamento e de suas ferramentas
Entendendo Disponibilidade
Alta	
  disponibilidade	
  e	
  os	
  cinco	
  9’s	
  
Sla’s, performance e disponibilidade – 3 pilares utilizados pela maioria
Nível	
  de	
  disponibilidade	
   Tempo	
  de	
  queda	
  por	
  ano(secs)	
  
99%	
   315460s	
  (87.6	
  horas)	
  
99.9%	
   31536s	
  (8.76horas)	
  
99.99%	
   3153.6s	
  (52.35minutos)	
  
99.999%	
   315.36s	
  (5.15minutos)	
  
Alguns	
  dos	
  serviços	
  de	
  IaaS,	
  by	
  amazon	
  ou	
  google,	
  já	
  prometem	
  a	
  
entrega	
  de	
  um	
  sla	
  com	
  um	
  nível	
  de	
  disponbilidade	
  de	
  99.99999%	
  
hnp://upCme.is/advanced?
sla=99.99&dur=24&dur=24&dur=24&dur=24&dur=24&dur=24&dur=24	
  
Capacity Planning
	
  
	
  Ele	
  auxilia	
  no	
  dimensionamento	
  da	
  infraestrutura	
  de	
  C,	
  
evitando	
  surpresas	
  e	
  dando	
  previsibilidade	
  quanto	
  a	
  uClização	
  
de	
  recursos,	
  de	
  acordo	
  com	
  os	
  dados	
  coletados,	
  as	
  metas	
  que	
  a	
  
empresa	
  deseja	
  aCngir	
  e	
  quanto	
  a	
  saCsfação	
  do	
  cliente,	
  no	
  que	
  
diz	
  respeito	
  a	
  qualidade	
  de	
  um	
  serviço.	
  
	
  
O que é e como funciona?
Capacity Planning
Estratégia	
  
Processos, dados que devemos coletar e analisar
Escopo	
  
Coleta	
  
Análise	
  
Execução	
  
Definir	
  quais	
  componentes	
  da	
  infraestrutura	
  de	
  TI	
  do	
  cliente	
  farão	
  parte	
  do	
  relatório	
  de	
  
capacity	
  planning,	
  atentando-­‐se	
  aos	
  seguintes	
  pontos:	
  	
  
•  Modelos	
  de	
  equipamentos	
  	
  
•  Velocidades	
  de	
  links	
  
•  Throughput	
  de	
  equipamentos	
  	
  
•  Localidades	
  
•  Tipos	
  e	
  níveis	
  de	
  usuários	
  
•  Protocolos	
  
•  AplicaCvos	
  
•  Período	
  de	
  coleta	
  
•  Ferramentas	
  empregadas	
  para	
  coleta	
  e	
  análise	
  
•  Metodologia	
  de	
  análise	
  
Escopo	
  
Estatégia - Escopo
São	
  as	
  fases	
  que	
  o	
  técnico	
  põem	
  a	
  mão	
  na	
  massa	
  
Estatégia – Coleta / Análise / Execução
Análise	
   Execução	
  Coleta	
  
Vamos	
  analisar	
  um	
  caso	
  real,	
  focando	
  em	
  entender	
  os	
  passos	
  
para	
  executar	
  uma	
  boa	
  estratégia	
  de	
  Capacity	
  Planning	
  
	
  
MulCplos	
  /	
  Americanas.com	
  /	
  E-­‐commerce	
  
Análise requer cuidados
A	
  criação	
  de	
  um	
  servidor	
  dedicado	
  para	
  instalação	
  de	
  
ferramentas,	
  como	
  o	
  SystemTap,	
  com	
  o	
  objeCvo	
  de	
  coletar	
  e	
  
analisar	
  a	
  performance	
  é	
  de	
  extrema	
  importância	
  
Criação de um outro servidor dedicado para análise
	
  
Boa	
  parte	
  das	
  análises	
  requerem	
  pacotes	
  extras	
  do	
  kernel,	
  como	
  
por	
  exemplo:	
  
•  kernel-­‐debuginfo	
  
•  kernel-­‐debuginfo-­‐common	
  
•  kernel-­‐devel	
  
	
  
Procurando o Gargalo
Entendendo o seu ambiente – Análise Drill-Down
Brendan	
  	
  Gregg	
  Images	
  
Análise	
  	
  
Drill-­‐Down	
  
Browser,	
  versão	
  do	
  JAVA	
  e	
  do	
  sistema	
  operacional,	
  anC-­‐
vírus	
  ou	
  firewall	
  implementados,	
  isso	
  tudo	
  conta	
  na	
  hora	
  
de	
  analisar	
  a	
  performance	
  do	
  seu	
  ambeinte.	
  
Procurando o Gargalo
Entendendo o seu ambiente – Análise Drill-Down
Brendan	
  	
  Gregg	
  Image	
  
Procurando o Gargalo
Entendendo o seu servidor – Análise Drill-Down
Brendan	
  	
  Gregg	
  Image	
  
Quais	
  
ferramentas	
  
uClizamos	
  
para	
  
aexecutar	
  
esta	
  
análise	
  ?	
  
Kpi’s que valem para diversas infras
Importantes pontos de análise para saber se o seu ambiente está
sadio
IBM	
  	
  Cloud	
  SLAs	
  and	
  KPIs;	
  Reference	
  
Instalação do CentOS
Como	
  preparar	
  o	
  seu	
  ambiente	
  Linux	
  focado	
  
em	
  performance	
  ?	
  
	
  
Instalação do CentOS
O	
  Docker	
  pode	
  ser	
  descrito	
  como	
  um	
  container	
  em	
  um	
  navio.	
  Cada	
  docker-­‐container	
  é	
  um	
  
container	
  que	
  pode	
  conter	
  um	
  ou	
  vários	
  dos	
  seguintes	
  serviços:	
  
	
  
–  Um	
  servidor	
  web;	
  
–  Um	
  banco	
  de	
  dados;	
  
–  Uma	
  aplicação.	
  
	
  
Como	
  um	
  Linux	
  Container	
  Engine,	
  uCliza	
  Linux	
  Containers	
  (lxc)	
  ao	
  invés	
  de	
  métodos	
  de	
  
virtualização	
  tradicionais.	
  O	
  lxc	
  uCliza	
  o	
  mesmo	
  kernel	
  do	
  servidor	
  host,	
  tornando	
  tudo	
  muito	
  
rápido.	
  
Um	
  container	
  é	
  um	
  processo	
  isolado	
  através	
  de	
  namespaces	
  +	
  chroot.	
  Por	
  isso	
  que	
  fazer	
  o	
  
“start”	
  de	
  um	
  container	
  é	
  muito	
  rápido	
  (é	
  tão	
  rápido	
  quanto	
  iniciar	
  um	
  processo	
  novo).	
  
O Que é e como funciona um Docker
Instalação do CentOS
Preparando a sua infra para receber o Linux
Físico	
  versus	
  Vitual,	
  mesmo	
  uCllizando	
  Docker	
  
	
  
Cloud	
  –	
  Amazon*	
  versus	
  Digital	
  Ocean	
  versus	
  RackSpace	
  versus	
  Google	
  
Cloud	
  
	
  
*Amazon	
  –	
  HVM	
  versus	
  ParavirtualizaCon	
  -­‐	
  	
  qual	
  é	
  a	
  melhor	
  ?	
  
Amazon	
  trabalha	
  com	
  Xen	
  Server,	
  sistema	
  que	
  provê	
  dois	
  Cpos	
  de	
  
virtualização,	
  sendo	
  a	
  paravirtualização	
  a	
  mais	
  performáCca	
  por	
  
ser	
  a	
  mais	
  próxima	
  da	
  performance	
  de	
  um	
  servidor	
  }sico	
  
	
  
DigitalOcean	
  uCliza	
  SSD	
  em	
  todas	
  as	
  suas	
  máquinas	
  virtuais	
  
	
  
RackSpace	
  uCliza	
  a	
  mesma	
  tecnologia	
  que	
  a	
  Amazon	
  
Instalação do CentOS
Montando a arquitetura do seu ambiente
•  Qual	
  é	
  a	
  sua	
  necessidade,	
  servidor	
  web	
  ou	
  banco	
  de	
  dados	
  ?	
  
•  Vc	
  pode	
  arcar	
  com	
  a	
  perda	
  de	
  performance	
  devido	
  a	
  virtualização?	
  
•  Qual	
  é	
  a	
  previsão	
  de	
  acessos	
  e	
  o	
  que	
  será	
  acessado	
  ?	
  
•  Está	
  preparado	
  para	
  suportar	
  ataques	
  DDoS	
  e	
  outros	
  ?	
  
Como	
  arquitetar	
  o	
  seu	
  ambiente	
  ?	
  
Instalação do CentOS
Divisão do File system para suportar um servidor Linux
Cuidados	
  que	
  devemos	
  tomar:	
  
	
  
•  Para	
  que	
  servirá	
  este	
  ambiente?	
  
•  Ele	
  suportará	
  um	
  tráfego	
  elevado?	
  
•  Tudo	
  deverá	
  ser	
  logado	
  ?	
  
•  Qual	
  sistema	
  de	
  arquivos	
  
uClizaremos	
  ?	
  
Instalação do CentOS
hnp://pkgs.repoforge.org/rpmforge-­‐release/rpmforge-­‐
release-­‐0.5.3-­‐1.el6.rf.x86_64.rpm	
  
•p://rpmfind.net/linux/epel/6/x86_64/epel-­‐release-­‐6-­‐8.noarch.rpm	
  
hnps://www6.atomicorp.com/channels/atomic/centos/6/x86_64/
RPMS/atomic-­‐release-­‐1.0-­‐18.el6.art.noarch.rpm	
  
	
  
	
  
	
  
	
  
	
  
Repositórios – escolhendo os melhores
rpm	
  –Uhv	
  <url	
  do	
  repositório>	
  
Testados	
  em	
  13/02/2014	
  
Instalação do CentOS
•  /etc/sysctl.conf	
  ***	
  
•  /etc/security/limits.conf	
  
•  /etc/fstab	
  
•  cat	
  /proc/sys/net/ipv4/tcp_moderate_rcvbuf	
  (1)	
  
–  Configuração	
  de	
  stack	
  autotuning	
  
	
  
hnps://docs.google.com/document/d/
1sm6Yvwag5_06Xwqqi4WM7iN8L6hCCApZTDb5r-­‐x8LEA	
  
Dicas	
  de	
  tuning	
  
Parametrizações e arquivos que ajudam a melhorar a performance
Kernel	
  	
  /	
  FileSystem	
  /	
  Network	
  
Testados	
  em	
  13/01/2015	
  
Instalação do CentOS
Camadas e ferramentas para melhoria da performance
Brendan	
  	
  Gregg	
  Image	
  
Estas	
  são	
  as	
  
ferramentas	
  que	
  
uClizaremos	
  para	
  
executar	
  nossa	
  
análise!!!	
  	
  
Tool	
   Descrip?on	
  
free	
   Free	
  memory	
  and	
  swap.	
  Counts	
  page	
  cache	
  memory	
  as	
  free	
  
/proc/meminfo	
   Memory,	
  swap	
  and	
  file	
  system	
  staCsCcs.	
  Kernel	
  memory	
  usage,	
  staCsCcs	
  for	
  
conservaCve	
  memory	
  allocaCon	
  policy,	
  HugeTLB	
  etc..	
  
pidstat	
   Per	
  process/thread	
  CPU	
  usage,	
  	
  context	
  switch,	
  memory,	
  swap,	
  IO	
  usage	
  
ps,	
  pstree	
   Per	
  process/thread	
  CPU	
  and	
  Memory	
  usage	
  
/proc,	
  /sys	
  File	
  system	
   /proc:	
  stats	
  about	
  process,	
  threads,	
  scheduling,	
  kernel	
  stacks,	
  memory	
  etc..	
  
/sys:	
  Report	
  device	
  specific	
  stats:	
  disk,	
  NIC	
  etc..	
  
netstat,	
  iptraf	
   TCP/IP	
  staCsCcs	
  ,	
  rouCng,	
  errors,	
  network	
  connecCvity,	
  and	
  NIC	
  stats.	
  	
  
iptraf	
  shows	
  real	
  Cme	
  tcp/ip	
  network	
  traffic	
  
nicstat,	
  ping,	
  ifconfig	
   NIC	
  stats,	
  network	
  connecCvity,	
  netmask,	
  subnet	
  etc..	
  
Análise & Coleta – exemplo de ferramentas
Todos	
  os	
  programas	
  e	
  pacotes	
  aqui	
  apresentados	
  foram	
  instalados	
  e	
  testados	
  em	
  
13/08/2014	
  
Análise & Coleta – exemplo de ferramentas
Qual ferramenta é a mais adequada para a sua análise ?
Brendan	
  	
  Gregg	
  Image	
  
A	
  melhor	
  
ferramenta	
  para	
  
análise	
  do	
  seu	
  
ambiente	
  Linux	
  não	
  	
  
é	
  só	
  aquela	
  que	
  
provê	
  uma	
  penca	
  
de	
  dados!!!!!	
  
Análise & Coleta – /proc
Os dados relevantes que o /proc nos apresenta
/Proc na verdade é uma interface para as estruturas de dados do kernel que oferece
informações sobre os processos que estão sendo executados.
Os dados são armazenados na memória e não em disco
Analise o conteúdo de cada um dos arquivos abaixo:
# cat /proc/cpuinfo
# cat /proc/meminfo
# cat /proc/zoneinfo
# cat /proc/mounts
Análise & Coleta – /proc/sys/vm
Diretório de armazenamento de parâmetros da memória
Análise & Coleta – Redes
Componente chave do nosso ambiente
Three-­‐way	
  handshake,	
  status	
  
de	
  conexões,	
  protocolos	
  e	
  
ferramentas	
  como	
  tcpdump,	
  
collectl,	
  lsof	
  e	
  ss	
  são	
  conceitos	
  
e	
  ferramentas	
  mais	
  do	
  que	
  
necessários	
  para	
  o	
  nosso	
  dia	
  a	
  
dia,	
  quando	
  falamos	
  sobre	
  
performance	
  and	
  tuning.	
  
Análise & Coleta – Redes
Conexões Máximas por Browsers
Um	
  dos	
  pontos	
  que	
  mais	
  gera	
  
discussão	
  entre	
  designers,	
  
administradores	
  de	
  sistemas	
  e	
  
performance	
  é	
  referente	
  a	
  
quanCdade	
  de	
  usuários	
  e	
  
conexões	
  estabelecidas	
  por	
  
eles	
  em	
  um	
  servidor..	
  
	
  
Vamos	
  entender	
  mais	
  e	
  na	
  
prá?ca???	
  
hnp://www.browserscope.org/?
category=network	
  
Análise & Coleta – Redes
Status de conexões Tcp/ip e sua análise
How Do I Filter Sockets Using TCP States?
The syntax is as follows:
## tcp ipv4 ##
ss -4 state FILTER-NAME-HERE
## tcp ipv6 ##
ss -6 state FILTER-NAME-HERE
FILTER-­‐NAME-­‐HERE:	
  
	
  
•  established	
  
•  syn-­‐sent	
  (server)	
  
•  syn-­‐recv	
  (cliente)	
  
•  fin-­‐wait-­‐1	
  (problemas	
  ?)	
  
•  fin-­‐wait-­‐2	
  (problemas	
  ?)	
  
•  Cme-­‐wait	
  (problemas	
  ?)	
  
•  closed	
  
•  close-­‐wait	
  
•  last-­‐ack	
  
•  listen	
  
•  closing	
  
Análise & Coleta – Redes
Pequena demonstração de como o Varnish é performático
Apache	
  Server	
   Apache	
  Server	
  
Varnish	
   Apache	
  Server	
  
Varnish	
  
CloudFlare	
  
Análise & Coleta – Redes
E por que o Varnish é tão performático ?
Análise & Coleta – IOPS
hnp://eshop.macsales.com/shop/SSD/PCIe/OWC/
Mercury_Accelsior/RAID	
  
É	
  o	
  número	
  de	
  operações	
  por	
  segundo	
  que	
  um	
  disco	
  individual	
  consegue	
  chegar.	
  Por	
  
exemplo,	
  um	
  disco	
  SAS	
  de	
  10K	
  consegue	
  em	
  média	
  140	
  IOPS.	
  
	
  
Note	
  que	
  a	
  diferença	
  é	
  muito	
  grande,	
  principalmente	
  levando	
  em	
  conta	
  os	
  novos	
  discos	
  
SSD.	
  	
  
Requer	
  atenção	
  em	
  ambientes	
  suportados	
  em	
  Cloud	
  
Análise & Coleta – IOPS
A	
  melhor	
  do	
  mercado,	
  atualmente,	
  conseguem	
  suportar	
  mais	
  9.608	
  Milhões	
  de	
  IOPS	
  
-­‐	
  hnp://www.fusionio.com/products/iodrive2/	
  
	
  
US$	
  22.900,00	
  -­‐	
  3.0	
  TB	
  
Esse	
  é	
  o	
  SSD	
  dos	
  Bancos	
  de	
  Dados	
  de	
  alta	
  performance	
  
Vejam	
  o	
  site	
  hnp://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=	
  
-­‐1&IsNodeId=1&DescripCon=PCI%20Express%20SSD&bop=And&Order=PRICED&PageSize=30	
  
FileSystem – XFS / EXT3 / EXT4 / BTRFS
O	
  XFS	
  será	
  adotado	
  por	
  default	
  na	
  versão	
  7.0	
  do	
  Red	
  Hat	
  Enterprise	
  EdiCon	
  
	
  
Testes	
  realizados	
  uClizando	
  o	
  
PostgreSQL	
  
Testes	
  realizados	
  uClizando	
  simples	
  
gravação	
  de	
  arquivos	
  
FileSystem – XFS / EXT3 / EXT4 / BTRFS
•  A	
  uClização	
  do	
  EXT4	
  é	
  recomendada	
  para	
  ambientes	
  que	
  rodem	
  banco	
  de	
  dados,	
  como	
  
PostgreSQL	
  e	
  MySQL	
  
•  A	
  uClização	
  do	
  XFS	
  é	
  recomendada	
  para	
  ambientes	
  que	
  trabalhem	
  com	
  virtualização	
  ou	
  que	
  
precise	
  de	
  direct	
  I/O,	
  tudo	
  por	
  causa	
  da	
  sua	
  melhor	
  performance	
  quanto	
  ao	
  suporte	
  a	
  
grandes	
  arquivos	
  
•  Mas	
  como	
  migrar	
  o	
  Cpo	
  de	
  parCcionamento	
  em	
  um	
  ambiente	
  produCvo	
  ?	
  
	
  
FileSystem – Ganho de perfomance
Ø  noexec	
  -­‐	
  Do	
  not	
  set	
  execuCon	
  of	
  any	
  binaries	
  on	
  this	
  parCCon	
  (prevents	
  execuCon	
  of	
  binaries	
  but	
  
allows	
  scripts).	
  
Ø  nodev	
  -­‐	
  Do	
  not	
  allow	
  character	
  or	
  special	
  devices	
  on	
  this	
  parCCon	
  (prevents	
  use	
  of	
  device	
  files	
  such	
  
as	
  zero,	
  sda	
  etc).	
  
Ø  nosuid	
  -­‐	
  Do	
  not	
  set	
  SUID/SGID	
  access	
  on	
  this	
  parCCon	
  (prevent	
  the	
  setuid	
  bit).	
  
Ø  noa?me	
  -­‐	
  	
  do	
  no	
  set	
  Cme	
  to	
  files	
  and	
  directories	
  –	
  até	
  30%	
  de	
  ganho	
  de	
  performance	
  
Como aumentar a performance do seu ambiente em 30% ?
Utilizando memória RAM como filesystem
mkfs	
  -­‐q	
  /dev/ram1	
  16384	
  (igual	
  a	
  16MB)	
  
mkdir	
  -­‐p	
  /ramcache	
  
mount	
  /dev/ram1	
  /ramcache	
  
df	
  -­‐H	
  |	
  grep	
  ramcache	
  
	
  
/dev/ram1	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  16.1M	
  	
  	
  1.1M	
  	
  	
  6.7M	
  	
  15%	
  /ramcache	
  
	
  
	
  
	
  
	
  
Criando um filesystem em RAM para logs – Velocidade de escrita
Processos e suas prioridades
No	
  curso	
  de	
  formação	
  LPI	
  é	
  ensinado	
  que	
  o	
  linux	
  possui	
  comandos	
  que	
  	
  têm	
  como	
  objeCvo	
  
alterar	
  a	
  prioridade	
  dos	
  processos.	
  	
  Nice	
  e	
  renice	
  são	
  eles,	
  mas	
  vale	
  a	
  pena	
  ?	
  
	
  
Vale	
  lembrar	
  que	
  somente	
  o	
  root	
  poderá	
  	
  iniciar	
  um	
  processo	
  com	
  prioridade	
  negaCva	
  (alta),	
  
quer	
  dizer,	
  com	
  maior	
  prioridade,	
  e	
  que	
  o	
  comando	
  renice	
  serve	
  para	
  alterar	
  a	
  prioridade	
  de	
  
processos	
  que	
  já	
  estão	
  em	
  execução.	
  	
  
	
  
	
  
Quais	
  são	
  os	
  casos	
  onde	
  é	
  recomendado	
  a	
  alteração	
  da	
  prioridade	
  de	
  processos	
  no	
  linux	
  	
  e	
  
como	
  o	
  kernel	
  do	
  linux	
  gerencia	
  isso	
  ?	
  
É recomendado alterar a prioridade de processos no linux?
Processos e swap
#!/bin/bash	
  
#	
  Get	
  current	
  swap	
  usage	
  for	
  all	
  running	
  processes	
  
#	
  Erik	
  Ljungstrom	
  27/05/2011	
  
SUM=0	
  
OVERALL=0	
  
for	
  DIR	
  in	
  `find	
  /proc/	
  -­‐maxdepth	
  1	
  -­‐type	
  d	
  |	
  egrep	
  "^/proc/[0-­‐9]"`	
  ;	
  do	
  
PID=`echo	
  $DIR	
  |	
  cut	
  -­‐d	
  /	
  -­‐f	
  3`	
  
PROGNAME=`ps	
  -­‐p	
  $PID	
  -­‐o	
  comm	
  -­‐-­‐no-­‐headers`	
  
for	
  SWAP	
  in	
  `grep	
  Swap	
  $DIR/smaps	
  2>/dev/null|	
  awk	
  '{	
  print	
  $2	
  }'`	
  
do	
  
let	
  SUM=$SUM+$SWAP	
  
done	
  
echo	
  "PID=$PID	
  -­‐	
  Swap	
  used:	
  $SUM	
  -­‐	
  ($PROGNAME	
  )"	
  
let	
  OVERALL=$OVERALL+$SUM	
  
SUM=0	
  
	
  
done	
  
echo	
  "Overall	
  swap	
  used:	
  $OVERALL"	
  
Como descobrir quais processos estão swapando ?
/etc/sysctl.conf	
  
vm.swappine	
  =	
  0	
  até	
  100	
  
	
  	
  
(quanto	
  menor,	
  menos	
  swap	
  o	
  seu	
  ambiente	
  
uClizará)	
  
Processos e alocação de memória
Como o hugepages pode melhorar a performance do seu ambiente
Transparent	
  HugePages	
  
	
  
/sys/kernel/mm/transparent_hugepage/enabled	
  
Never	
  è	
  desabilita	
  
	
  
Configurando	
  Sta?c	
  HugePages	
  
	
  
cat	
  /proc/sys/vm/nr_hugepages	
  
echo	
  25000	
  >	
  /proc/sys/vm/nr_hugepages	
  
mount	
  -­‐t	
  hugetlbfs	
  hugetlbfs	
  /dev/hugepages	
  
cat	
  /proc/meminfo	
  |	
  grep	
  Huge	
  
Alocação de memória e cache
Como limpar o cache do seus ambiente e porquê ?
$	
  free	
  &&	
  sync	
  &&	
  echo	
  3	
  >	
  /proc/sys/vm/drop_caches	
  &&	
  free	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   	
  	
  total	
  	
  	
  	
  	
  	
  	
  used	
  	
  	
  	
  	
  	
  	
  free	
  	
  	
  	
  	
  shared	
  	
  	
  	
  buffers	
  	
  	
  	
  	
  cached	
  
Mem:	
  	
  	
  	
  	
  	
  	
  1018916	
  	
  	
  	
  	
  980832	
  	
  	
  	
  	
  	
  38084	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0	
  	
  	
  	
  	
  	
  46924	
  	
  	
  	
  	
  355764	
  
-­‐/+	
  buffers/cache:	
  	
  	
  	
  	
  578144	
  	
  	
  	
  	
  440772	
  
Swap:	
  	
  	
  	
  	
  	
  2064376	
  	
  	
  	
  	
  	
  	
  	
  128	
  	
  	
  	
  2064248	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   	
  total	
  	
  	
  	
  	
  	
  	
  used	
  	
  	
  	
  	
  	
  	
  free	
  	
  	
  	
  	
  shared	
  	
  	
  	
  buffers	
  	
  	
  	
  	
  cached	
  
Mem:	
  	
  	
  	
  	
  	
  	
  1018916	
  	
  	
  	
  	
  685008	
  	
  	
  	
  	
  333908	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0	
  	
  	
  	
  	
  	
  	
  	
  224	
  	
  	
  	
  	
  108252	
  
-­‐/+	
  buffers/cache:	
  	
  	
  	
  	
  576532	
  	
  	
  	
  	
  442384	
  
Swap:	
  	
  	
  	
  	
  	
  2064376	
  	
  	
  	
  	
  	
  	
  	
  128	
  	
  	
  	
  2064248	
  
	
  
	
  
O	
  programa	
  fincore	
  serve	
  para	
  descobrir	
  quais	
  arquivos	
  estão	
  sendo	
  cacheados.	
  
Ferramentas - Latencytop
Instalação	
  *1	
  
	
  
Ubuntu	
  
apt-­‐get	
  update	
  –y	
  
apt-­‐get	
  install	
  latencytop	
  
latencytop	
  
	
  
grep	
  -­‐i	
  latencytop	
  /boot/config-­‐`uname	
  -­‐r`	
  
CONFIG_HAVE_LATENCYTOP_SUPPORT=y	
  
CONFIG_LATENCYTOP=y	
  
	
  
CentOS/RedHat	
  *2	
  
Yum	
  install	
  latencytop	
  
latencytop	
  
	
  
*2	
  You	
  must	
  also	
  enable	
  the	
  
CONFIG_LATENCYTOP=y	
  
	
  
Ferramenta	
  para	
  análise	
  de	
  
latência	
  de	
  aplicações	
  
*1	
  A	
  execução	
  dele	
  depende	
  do	
  X11fowarding	
  SSH	
  
	
  
Ferramentas - PowerTop
Instalação	
  	
  
	
  
Ubuntu	
  
apt-­‐get	
  update	
  –y	
  
apt-­‐get	
  install	
  powertop	
  
powertop	
  
	
  
CentOS/RedHat	
  *2	
  
yum	
  install	
  powertop	
  
powertop	
  
	
  
	
  
O	
  mais	
  interessante	
  é	
  que	
  ele	
  
gera	
  reports	
  em	
  csv	
  ou	
  html	
  
Ferramenta	
  para	
  análise	
  de	
  
consumo	
  de	
  energia	
  de	
  hardware,	
  
aplicações	
  e	
  Kernel	
  
Ferramentas - Pmap
Ferramenta	
  responsável	
  
por	
  apresentar	
  um	
  mapa	
  
sobre	
  a	
  uClização	
  de	
  
memória	
  feita	
  por	
  
processos.	
  
Excelente	
  
para	
  detectar	
  
processos	
  
que	
  estejam	
  
alocando	
  
memória	
  
	
  
Ferramentas - SystemTap
Instalação	
  	
  
	
  
	
  
CentOS/RedHat	
  *1	
  
yum	
  install	
  systemtap	
  
	
  
*1	
  Há	
  necessidade	
  de	
  instalar	
  o	
  Kernel-­‐
devel,	
  debuginfo	
  e	
  o	
  debuginfo-­‐common	
  
de	
  cada	
  ambiente	
  Linux	
  onde	
  ele	
  for	
  
rodar.	
  No	
  nosso	
  caso	
  foi	
  o	
  yum	
  install	
  
kernel-­‐devel	
  kernel-­‐debug-­‐devel	
  e	
  depois	
  
o	
  comando	
  yum	
  -­‐-­‐enablerepo=debug	
  
install	
  kernel-­‐debuginfo	
  
	
  
Há	
  problemas	
  quando	
  instalado	
  em	
  
ambientes	
  Cloud,	
  como	
  digital	
  ocean	
  
Ferramenta	
  para	
  coleta	
  e	
  análise	
  
de	
  informações	
  de	
  um	
  servidor	
  
Linux.	
  	
  Uma	
  das	
  mais	
  completas,	
  
em	
  minha	
  opinião	
  
Depois	
  de	
  todos	
  os	
  pacotes	
  instalados,	
  vc	
  deverá	
  executar	
  o	
  
seguinte	
  comando	
  para	
  testar	
  o	
  SystemTAp	
  stap	
  -­‐v	
  -­‐e	
  'probe	
  
vfs.read	
  {prin}("read	
  performedn");	
  exit()}'	
  
Ferramentas - SS
Informações	
  que	
  ele	
  coleta:	
  
	
  
•  All	
  TCP	
  sockets.	
  
•  All	
  UDP	
  sockets.	
  
•  All	
  established	
  ssh	
  /	
  •p	
  /	
  hnp	
  /	
  hnps	
  connecCons.	
  
•  All	
  local	
  processes	
  connected	
  to	
  X	
  server.	
  
•  Filtering	
  by	
  state	
  (such	
  as	
  connected,	
  synchronized,	
  SYN-­‐RECV,	
  
SYN-­‐SENT,TIME-­‐WAIT),	
  addresses	
  and	
  ports.	
  
•  All	
  the	
  tcp	
  sockets	
  in	
  state	
  FIN-­‐WAIT-­‐1	
  and	
  much	
  more.	
  
•  You	
  can	
  use	
  regex	
  and	
  filter,	
  like	
  the	
  example	
  
Mais	
  informações	
  e	
  exemplos	
  de	
  uso	
  no	
  hnp://
blog.corujadeC.com.br/o-­‐comando-­‐ss-­‐ao-­‐inves-­‐do-­‐netstat/	
  
	
  
Ferramenta	
  para	
  análise	
  de	
  rede,	
  
trazendo	
  mais	
  informações	
  que	
  o	
  
já	
  conhecido	
  netstat	
  	
  
Ferramentas - Dstat
Informações	
  que	
  ele	
  coleta:	
  
	
  
•  Status	
  de	
  filesystem	
  
•  Status	
  de	
  ipc	
  
•  Status	
  de	
  sockets	
  
•  Status	
  de	
  conexões	
  TCP/IP	
  
•  Há	
  necessidade	
  de	
  instalacão	
  no	
  CentOS	
  
Ferramenta	
  que	
  reune	
  os	
  mesmos	
  
dados	
  apresentados	
  que	
  o	
  
vmstat,	
  iostat	
  e	
  o	
  ifstat,	
  mas	
  com	
  
gráficos	
  melhores.	
  
dstat	
  -­‐ta	
  -­‐-­‐top-­‐bio	
  –	
  tente	
  esse	
  comando	
  
Capacity Planning
Estratégia	
  
Processos, dados que devemos coletar e analisar
Escopo	
  
Coleta	
  
Análise	
  
Execução	
  
Mesmo	
  com	
  tantas	
  
ferramentas	
  e	
  dados,	
  não	
  
podemos	
  nos	
  esquecer	
  
dos	
  princípios	
  
Ferramentas - slabtop
Ferramenta	
  que	
  demonstra	
  o	
  
consumo	
  de	
  memória	
  pelo	
  Kernel,	
  
assim	
  como	
  a	
  uClização	
  do	
  cache	
  	
  
slabtop	
  -­‐o	
  -­‐s	
  c	
  |	
  head	
  -­‐n15	
  
Ferramentas – collect
Informações	
  que	
  ele	
  coleta:	
  
	
  
•  cpu	
  
•  disks	
  
•  Network	
  
•  Há	
  necessidade	
  de	
  instalacão	
  no	
  CentOS	
  e	
  
possuir	
  o	
  Perl	
  pré-­‐instalado.	
  
A	
  evolução	
  do	
  top	
  e	
  do	
  htop,	
  pois	
  
apresenta	
  uma	
  série	
  de	
  dados	
  
esta*scos	
  e	
  informações,	
  sem	
  
ficar	
  restrito	
  a	
  limites	
  –	
  depende	
  
do	
  Perl	
  instalado	
  para	
  rodar	
  
Ferramentas – iodump (script)
Informações	
  que	
  ele	
  coleta:	
  
	
  
•  Status	
  de	
  filesystem	
  
•  Status	
  de	
  ipc	
  
•  Status	
  de	
  sockets	
  
•  Status	
  de	
  conexões	
  TCP/IP	
  
•  Há	
  necessidade	
  de	
  instalacão	
  no	
  CentOS	
  -­‐	
  wget	
  
hnp://aspersa.googlecode.com/svn/trunk/iodump	
  
•  echo	
  1	
  >	
  /proc/sys/vm/block_dump	
  (precisa	
  ser	
  implementado	
  
para	
  que	
  ele	
  funcione)	
  
Ferramenta	
  que	
  apresenta	
  os	
  meus	
  
dados	
  quevmstat,	
  iostat	
  e	
  o	
  ifstat	
  
	
  
while	
  true;	
  do	
  sleep	
  1;	
  dmesg	
  -­‐c;	
  
done	
  |	
  perl	
  iodump	
  
	
  
Ferramentas – iotop
Ferramenta	
  para	
  análise	
  de	
  I/O	
  
correlacionando	
  processos	
  e	
  discos	
  –	
  Uma	
  
das	
  melhores	
  ferramentas	
  para	
  tal	
  análise,	
  
porém,	
  o	
  	
  CONFIG_TASK_IO_ACCOUNTING	
  
precisa	
  estar	
  habilitado	
  no	
  kernel	
  do	
  Linux.	
  
***	
  precisa	
  de	
  instalação	
  ***	
  
	
  
Também	
  recomendado	
  a	
  execução	
  do	
  
comando	
  abaixo	
  
echo	
  1	
  >	
  /proc/sys/vm/block_dump	
  
Ferramentas – Vnstat
Ferramenta	
  para	
  análise	
  do	
  tráfego	
  de	
  rede	
  
que	
  é	
  capaz	
  de	
  exportar	
  os	
  dados	
  para	
  o	
  
formato	
  csv	
  (excel).	
  
	
  
É	
  possível	
  criar	
  filtros	
  de	
  coletas	
  para	
  hora,	
  
dia	
  e	
  outras.	
  
	
  
Precisa	
  ser	
  instalado	
  no	
  CentOS.	
  
	
  
	
  
Ferramentas – mpstat
Ferramenta	
  para	
  análise	
  de	
  
performance	
  da	
  CPU,	
  apresentando	
  
importantes	
  informações	
  quanto	
  a	
  
saúde	
  do	
  servidor	
  
	
  
mpstat	
  –P	
  ALL	
  1	
  
	
  
	
  
apt-­‐get	
  install	
  sysstat	
  –y	
  	
  (processo	
  de	
  
instalação)	
  
	
  
	
  
O	
  sysstat	
  é	
  responsável	
  pela	
  gestão	
  de	
  
uma	
  suíte	
  de	
  ferramentas	
  focadas	
  em	
  
monitoração,	
  são	
  elas:	
  
•  Mpstat	
  	
  	
  	
  	
  	
  pidstat	
   	
  	
  
•  Iostat	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
•  Sadc	
  
•  Sar	
  
$	
  mpstat	
  -­‐P	
  ALL	
  
	
  
Linux	
  3.2.0-­‐57-­‐generic	
  (USERNB01)	
  12/12/2013	
  _x86_64_ 	
  (2	
  CPU)	
  
	
  
04:07:36	
  PM	
  CPU	
  %usr	
  %nice	
  %sys	
  %iowait	
  %irq	
  %so•	
  %steal	
  %guest	
  %idle	
  
04:07:36	
  PM	
  all	
  6.02	
  0.04	
  1.72	
  2.99	
  0.00	
  0.05	
  0.00	
  0.00	
  89.17	
  
04:07:36	
  PM	
  0	
  3.84	
  0.01	
  1.15	
  3.72	
  0.00	
  0.06	
  0.00	
  0.00	
  91.21	
  
04:07:36	
  PM	
  1	
  13.55	
  0.15	
  3.66	
  0.46	
  0.00	
  0.03	
  0.00	
  0.00	
  82.15	
  
	
  
-­‐	
  See	
  more	
  at:	
  hnp://linoxide.com/linux-­‐command/linux-­‐mpstat-­‐command/
#sthash.nLCLYBo1.dpuf	
  
Ferramentas – iptraf
Ferramenta	
  responsável	
  por	
  apresentar	
  
uma	
  série	
  de	
  informações	
  referente	
  a	
  
redes.	
  ***	
  precisa	
  ser	
  instalada	
  ***	
  
	
  
Iptraf	
  é	
  muito	
  versáCl	
  e	
  fornecer	
  uma	
  série	
  
de	
  esta•sCcas,	
  como	
  :	
  
	
  
•  Network	
  traffic	
  staCsCcs	
  by	
  TCP	
  
connecCon	
  
•  IP	
  traffic	
  staCsCcs	
  by	
  network	
  interface	
  
•  Network	
  traffic	
  staCsCcs	
  by	
  protocol	
  
•  Network	
  traffic	
  staCsCcs	
  by	
  TCP/UDP	
  
port	
  and	
  by	
  packet	
  size	
  
•  Network	
  traffic	
  staCsCcs	
  by	
  Layer2	
  
address	
  
	
  
Ferramentas – ethtool
ethtool eth2
Settings for eth2:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Link partner advertised link modes: Not reported
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: No
Speed: 1000Mb/s
Duplex: Full
Link detected: yes
ethtool ferramenta capaz de lhe apresentar em detalhes
uma série de informações pertinentes a sua interface rede.
Cálculo de Pacotes de Rede por segundo
Um conceito importante e que deve estar na veia do pessoal de performance
Ferramentas – lsof
Lsof ferramenta versátil que possui como uma de suas
funções a listagem de arquivos em aberto (utilização)
lsof –p <pid>
lsof -i tcp; lsof -i udp;
Ferramentas – jnettop
Ferramenta	
  de	
  análise	
  de	
  tráfego	
  de	
  rede	
  
entre	
  servidores	
  e	
  hosts,	
  que	
  trás	
  mais	
  
informações	
  que	
  o	
  inop	
  ,	
  além	
  de	
  
possibilitar	
  o	
  export	
  dos	
  dados	
  
capturados	
  para	
  arquivos	
  .csv	
  
	
  
Há	
  necessidade	
  de	
  
instalação	
  
	
  
Ubuntu	
  
Apt-­‐get	
  install	
  jneHop	
  
Centos	
  
Yum	
  install	
  jneHop	
  
	
  
jnenop	
  -­‐-­‐display	
  text	
  -­‐t	
  5	
  -­‐-­‐format	
  '$srcname$,$srcport$,$dstname$,$dstport$,$totalbps$'	
  
Bibliografia	
  
Inclua	
  a	
  isso	
  muita	
  
pesquisa,	
  dia-­‐a-­‐dia	
  e	
  
troca	
  de	
  
conhecimento.	
  
Curso de Performance and Tuning - Linux

More Related Content

What's hot

Linux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabLinux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabBen Tullis
 
The basic concept of Linux FIleSystem
The basic concept of Linux FIleSystemThe basic concept of Linux FIleSystem
The basic concept of Linux FIleSystemHungWei Chiu
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidorsimoesflavio
 
Linux Kernel Init Process
Linux Kernel Init ProcessLinux Kernel Init Process
Linux Kernel Init ProcessKernel TLV
 
Embedded linux system development (slides)
Embedded linux system development (slides)Embedded linux system development (slides)
Embedded linux system development (slides)Jaime Barragan
 
오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0sprdd
 
Kernel Module Programming
Kernel Module ProgrammingKernel Module Programming
Kernel Module ProgrammingSaurabh Bangad
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingTushar B Kute
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0Ji-Woong Choi
 
Container Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondContainer Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondKubeAcademy
 
Linux installation and booting process
Linux installation and booting processLinux installation and booting process
Linux installation and booting processSiddharth Jain
 
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Nalee Jang
 
Systemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveSystemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveAlison Chaiken
 
Easiest way to start with Shell scripting
Easiest way to start with Shell scriptingEasiest way to start with Shell scripting
Easiest way to start with Shell scriptingAkshay Siwal
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device driversHoucheng Lin
 

What's hot (20)

A practical guide to buildroot
A practical guide to buildrootA practical guide to buildroot
A practical guide to buildroot
 
Linux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabLinux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and Gitlab
 
The basic concept of Linux FIleSystem
The basic concept of Linux FIleSystemThe basic concept of Linux FIleSystem
The basic concept of Linux FIleSystem
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidor
 
Linux Kernel Init Process
Linux Kernel Init ProcessLinux Kernel Init Process
Linux Kernel Init Process
 
Embedded linux system development (slides)
Embedded linux system development (slides)Embedded linux system development (slides)
Embedded linux system development (slides)
 
오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0
 
Kernel Module Programming
Kernel Module ProgrammingKernel Module Programming
Kernel Module Programming
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module Programming
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
 
Centos SO
Centos SOCentos SO
Centos SO
 
Container Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondContainer Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyond
 
Linux installation and booting process
Linux installation and booting processLinux installation and booting process
Linux installation and booting process
 
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차Red Hat OpenStack 17 저자직강+스터디그룹_2주차
Red Hat OpenStack 17 저자직강+스터디그룹_2주차
 
Systemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveSystemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to love
 
Easiest way to start with Shell scripting
Easiest way to start with Shell scriptingEasiest way to start with Shell scripting
Easiest way to start with Shell scripting
 
SystemV vs systemd
SystemV vs systemdSystemV vs systemd
SystemV vs systemd
 
Linux: LVM
Linux: LVMLinux: LVM
Linux: LVM
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
Tuned
TunedTuned
Tuned
 

Viewers also liked

Capacity planning para ambiente distribuído, por Marcelo Otto
Capacity planning para ambiente distribuído, por Marcelo OttoCapacity planning para ambiente distribuído, por Marcelo Otto
Capacity planning para ambiente distribuído, por Marcelo OttoJoao Galdino Mello de Souza
 
Dell boomi course content
Dell boomi course contentDell boomi course content
Dell boomi course contentRajesh Kumar
 
Introduction to Dell Boomi
Introduction to Dell BoomiIntroduction to Dell Boomi
Introduction to Dell BoomiSrivathsa B H
 
Performance Tuning para o mercado financeiro
Performance Tuning para o mercado financeiroPerformance Tuning para o mercado financeiro
Performance Tuning para o mercado financeiroRodrigo Missiaggia
 
Admin e suas gambiarras
Admin e suas gambiarrasAdmin e suas gambiarras
Admin e suas gambiarrasDaniel Lara
 
Implementação_cluster alto_desempenho_fernando_eduardo_20090726-Imetro_2013
Implementação_cluster alto_desempenho_fernando_eduardo_20090726-Imetro_2013Implementação_cluster alto_desempenho_fernando_eduardo_20090726-Imetro_2013
Implementação_cluster alto_desempenho_fernando_eduardo_20090726-Imetro_2013Kanda Kassobo
 
Na Jornada da Virtualização para as Nuvens, como mantemos o controle?
Na Jornada da Virtualização para as Nuvens, como mantemos o controle?Na Jornada da Virtualização para as Nuvens, como mantemos o controle?
Na Jornada da Virtualização para as Nuvens, como mantemos o controle?Rodrigo Missiaggia
 
Nagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
Nagios Conference 2011 - Nicholas Scott - Nagios Performance TuningNagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
Nagios Conference 2011 - Nicholas Scott - Nagios Performance TuningNagios
 
Improving Hadoop Performance via Linux
Improving Hadoop Performance via LinuxImproving Hadoop Performance via Linux
Improving Hadoop Performance via LinuxAlex Moundalexis
 
Improving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux ConfigurationImproving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux ConfigurationAlex Moundalexis
 
David Goulden keynote at Dell EMC World
David Goulden keynote at Dell EMC WorldDavid Goulden keynote at Dell EMC World
David Goulden keynote at Dell EMC WorldDell EMC World
 
Hadoop configuration & performance tuning
Hadoop configuration & performance tuningHadoop configuration & performance tuning
Hadoop configuration & performance tuningVitthal Gogate
 

Viewers also liked (14)

Capacity planning para ambiente distribuído, por Marcelo Otto
Capacity planning para ambiente distribuído, por Marcelo OttoCapacity planning para ambiente distribuído, por Marcelo Otto
Capacity planning para ambiente distribuído, por Marcelo Otto
 
Dell boomi course content
Dell boomi course contentDell boomi course content
Dell boomi course content
 
Introduction to Dell Boomi
Introduction to Dell BoomiIntroduction to Dell Boomi
Introduction to Dell Boomi
 
Performance Tuning para o mercado financeiro
Performance Tuning para o mercado financeiroPerformance Tuning para o mercado financeiro
Performance Tuning para o mercado financeiro
 
Admin e suas gambiarras
Admin e suas gambiarrasAdmin e suas gambiarras
Admin e suas gambiarras
 
Implementação_cluster alto_desempenho_fernando_eduardo_20090726-Imetro_2013
Implementação_cluster alto_desempenho_fernando_eduardo_20090726-Imetro_2013Implementação_cluster alto_desempenho_fernando_eduardo_20090726-Imetro_2013
Implementação_cluster alto_desempenho_fernando_eduardo_20090726-Imetro_2013
 
Na Jornada da Virtualização para as Nuvens, como mantemos o controle?
Na Jornada da Virtualização para as Nuvens, como mantemos o controle?Na Jornada da Virtualização para as Nuvens, como mantemos o controle?
Na Jornada da Virtualização para as Nuvens, como mantemos o controle?
 
Performance tuning
Performance tuningPerformance tuning
Performance tuning
 
Nagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
Nagios Conference 2011 - Nicholas Scott - Nagios Performance TuningNagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
Nagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
 
Red Hat Enterprise Linux 7
Red Hat Enterprise Linux 7 Red Hat Enterprise Linux 7
Red Hat Enterprise Linux 7
 
Improving Hadoop Performance via Linux
Improving Hadoop Performance via LinuxImproving Hadoop Performance via Linux
Improving Hadoop Performance via Linux
 
Improving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux ConfigurationImproving Hadoop Cluster Performance via Linux Configuration
Improving Hadoop Cluster Performance via Linux Configuration
 
David Goulden keynote at Dell EMC World
David Goulden keynote at Dell EMC WorldDavid Goulden keynote at Dell EMC World
David Goulden keynote at Dell EMC World
 
Hadoop configuration & performance tuning
Hadoop configuration & performance tuningHadoop configuration & performance tuning
Hadoop configuration & performance tuning
 

Similar to Curso de Performance and Tuning - Linux

Treinamento de Performance and tuning
Treinamento de Performance and tuningTreinamento de Performance and tuning
Treinamento de Performance and tuningDell Technologies
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemAmazon Web Services LATAM
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
Novidades do Universo MySQL Agosto 2014
Novidades do Universo MySQL Agosto 2014Novidades do Universo MySQL Agosto 2014
Novidades do Universo MySQL Agosto 2014MySQL Brasil
 
Oracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferençasOracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferençasLeonardo Pedroso Costa
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceAlex Barbosa Coqueiro
 
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...tdc-globalcode
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformAndré Paulovich
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheDell Technologies
 
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas DistribuídosPlanejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídosluanrjesus
 
Módulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptx
Módulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptxMódulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptx
Módulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptxgetuliodasilvasantos
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 

Similar to Curso de Performance and Tuning - Linux (20)

Treinamento de Performance and tuning
Treinamento de Performance and tuningTreinamento de Performance and tuning
Treinamento de Performance and tuning
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvem
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Novidades do Universo MySQL Agosto 2014
Novidades do Universo MySQL Agosto 2014Novidades do Universo MySQL Agosto 2014
Novidades do Universo MySQL Agosto 2014
 
Oracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferençasOracle e SQL Server na prática mitos, semelhanças e diferenças
Oracle e SQL Server na prática mitos, semelhanças e diferenças
 
TechEd_OFC305
TechEd_OFC305TechEd_OFC305
TechEd_OFC305
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal Performance
 
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
TDC2016SP - Versionando sua infraestrutura: Como e porque fazer, baseado em c...
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+Apache
 
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas DistribuídosPlanejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
Planejamento e Gerenciamento de Capacidade para Sistemas Distribuídos
 
Módulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptx
Módulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptxMódulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptx
Módulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptx
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
Lista de Práticas Ágeis
Lista de Práticas ÁgeisLista de Práticas Ágeis
Lista de Práticas Ágeis
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 

Curso de Performance and Tuning - Linux

  • 1. Performance & Tuning – Linux Como melhorar a performance de um ambiente Linux, seja ele físico, virtual ou em cloud* (abordando) Instrutor:  Gustavo  C  Lima  
  • 2. Pesquisa realizada para realização deste treinamento     •  4  semanas  con*nuas  de  pesquisas   •  6  livros,  focados  em  performance,  resumidos  e  analisados   •  2  cursos  –  1  da  RedHat  e  outro  da  Oracle  analisados   •  273  ar?gos,  focados  em  peformance,  analisdos  e  comentados   •  Mais  de  45  testes  de  performance  em  ambientes  Cloud  e  não   cloud   •  Casos  de  estudos  analisados  de  grandes  empresas  e  sites  de  e-­‐ commerce   •  Primeiro  curso  a  abordar  a  u?lização  Docker     Um resumo do que foi pesquisado e analisado para confecção deste treinamento Tudo  isso  para  um  treinamento  que  será  composto  por  6  aulas,  tendo   cada  aula  3  horas  de  duração,  em  duas  terças,  quartas  e  quintas  –  em               2  semanas,  com  18  horas  no  total.  
  • 3. Objetivo Este  treinamento  visa  orientar   profissionais  da  área  de  tecnologia  da   informação  a  coletar,  analisar,   implementar  e  testar  diferentes  Cpos   de  dados,  programas  e  informações,   que  juntos,  tornam  um  ambiente  Linux   performáCco.   Performance   Analisar   Implementar   Testar   Coletar   *Metodologia  para   performar  um   ambiente  linux  
  • 4. Pré-requisitos para este treinamento Ferramentas   Modelos,  distribuições  e  especificações   Ambiente  virtualizado   Download  do  VMware  WorkStaCon  /  fusion(mac)  /  virtual  box   Distribuição  Linux   Download  do  Centos  6  64bits  /  Ubuntu  Server  12.04  64-­‐bits   Acesso  à  internet   Link  igual  ou  superior  a  10mbps   Conhecimentos   Em  Linux,  Redes  Tcp/ip  e  em  inglês,  já  que  teremos  muito  conteúdo  neste  idioma   Experiência   Em  administração  de  servidores  Linux   Equipamento   Computador  com  4GB  de  memória  ram  ou  superior,  sendo  64bits  a  sua  arquitetura   Recomendado   Acesso  a  console  da  aws.amazon.com  ou  digitalocean  –  ambiente  Cloud   Nossa  primeira  aula  consisCrá  em  preprar  e  discuCr  as  melhores  práCcas  de   instalação  e  suporte  de  um  ambiente  Linux,  seja  ele  fisicamente  ou   vitualmente  
  • 5. Conteúdo e Carga Horária As  melhores  distribuições  Linux  quando  o  assunto  é  performance  (FreeBSD  também  será   abordado)   Gerenciamento  de  Processos,  seus  recursos  e  componentes:   •  LOAD   •  Threads  e  seus  estados   •  Processadores   Sistemas  de  Arquivos  /proc  /sys   Filesystem  –  Ext3  /  Ext4  /  ZFS   Ferramentas/Programas  para  monitoração  dos  seguintes  componentes:   •  CPU   •  FileSystem   •  Memória   •  Rede   Benchmarking  -­‐  Como  analisar  a  performance  do  seu  ambiente,  buscando  gargalos  e   melhorias   Tópicos que serão abordados nas primeiras 9 horas de Treinamento
  • 6. Conteúdo e Carga Horária   Como  tunar  o  seu  ambiente  para  suportar:   •  E-­‐mail   •  Banco  de  dados   •  Webserver   •  WebCache   Virtualização  &  Cloud  Compu?ng:   •  O  que  muda  quando  um  ambiente  sai  do  mundo  ksico  para  o  virtual  ?   •  Quais  são  os  provedores  de  IaaS  mais  performá?cos,  Amazon  ou  Digital   Ocean  ?   •  Como  dimensionar  o  IOPS  para  o  seu  ambiente   •  SAP,  Microson,  Oracle,  tudo  isso  funciona  e  bem  na  nuvem?   •  Trabalhando  com  Docker   Tópicos que serão abordados nas 9 horas restantes de Treinamento
  • 7. Introdução Por que coletar, analisar, implementar e testar ? Performance   Analisar   Implementar   Testar   Coletar  
  • 8. Por que analisamos a performance ? •  Redução  de  tempo  ou  de  recursos     –   encontrando  pontos  a  melhorar  (gargalos),  reconfigurar  ou  tunar   •  Pesquisas  por  arquiteturas  escaláveis     –  ambientes  que  possam  atender,  e  rápido,  as  necessidades  de  nossos  clientes   •  Resolução  de  problemas     –  procurando  e  resolvendo  problemas  quanto  a  gargalos,  como  por  exemplo  a     latência   Mas  para  sua  realização  vc  precisará  estabelecer  esta*scas   básicas  e  primárias,  o  conhecido  baseline   O trabalho de um sysadmin/DevOps nunca acaba quando o assunto é performance
  • 9. Entendendo o Sistema Operacional •  Procurar  e  resolver  problemas  de  performance  do  Kernel   –  Podemos  ganhar  até  60%  de  performance  graças  a  configurações  adequadas  em  seu  ambiente.   •  /etc/sysctl.conf  &  /etc/security/limits.conf   •  Resolver  bugs  e  desabilitar  recursos  desnecessários   –  Ganhos  de  mais  de  200%  de  performance  graças  a  remoção  ou  resolução  de  possíveis  conflitos,   fora  a  remoção  de  serviços  e  pacotes  desnecessários.   •  Services  &  daemons   •  Análise  da  performance  da  aplicação  do  ponto  de  vista  do  Kernel   –  Melhorando  em  mais  de  100%  a  performance  do  seu  ambiente  graças  a  remoção  de  processos   desnecessários.   •  /etc/sysctl.conf       Precisamos compreender o seu funcionamento e de suas ferramentas
  • 10. Entendendo Disponibilidade Alta  disponibilidade  e  os  cinco  9’s   Sla’s, performance e disponibilidade – 3 pilares utilizados pela maioria Nível  de  disponibilidade   Tempo  de  queda  por  ano(secs)   99%   315460s  (87.6  horas)   99.9%   31536s  (8.76horas)   99.99%   3153.6s  (52.35minutos)   99.999%   315.36s  (5.15minutos)   Alguns  dos  serviços  de  IaaS,  by  amazon  ou  google,  já  prometem  a   entrega  de  um  sla  com  um  nível  de  disponbilidade  de  99.99999%   hnp://upCme.is/advanced? sla=99.99&dur=24&dur=24&dur=24&dur=24&dur=24&dur=24&dur=24  
  • 11. Capacity Planning    Ele  auxilia  no  dimensionamento  da  infraestrutura  de  C,   evitando  surpresas  e  dando  previsibilidade  quanto  a  uClização   de  recursos,  de  acordo  com  os  dados  coletados,  as  metas  que  a   empresa  deseja  aCngir  e  quanto  a  saCsfação  do  cliente,  no  que   diz  respeito  a  qualidade  de  um  serviço.     O que é e como funciona?
  • 12. Capacity Planning Estratégia   Processos, dados que devemos coletar e analisar Escopo   Coleta   Análise   Execução  
  • 13. Definir  quais  componentes  da  infraestrutura  de  TI  do  cliente  farão  parte  do  relatório  de   capacity  planning,  atentando-­‐se  aos  seguintes  pontos:     •  Modelos  de  equipamentos     •  Velocidades  de  links   •  Throughput  de  equipamentos     •  Localidades   •  Tipos  e  níveis  de  usuários   •  Protocolos   •  AplicaCvos   •  Período  de  coleta   •  Ferramentas  empregadas  para  coleta  e  análise   •  Metodologia  de  análise   Escopo   Estatégia - Escopo
  • 14. São  as  fases  que  o  técnico  põem  a  mão  na  massa   Estatégia – Coleta / Análise / Execução Análise   Execução  Coleta   Vamos  analisar  um  caso  real,  focando  em  entender  os  passos   para  executar  uma  boa  estratégia  de  Capacity  Planning     MulCplos  /  Americanas.com  /  E-­‐commerce  
  • 15. Análise requer cuidados A  criação  de  um  servidor  dedicado  para  instalação  de   ferramentas,  como  o  SystemTap,  com  o  objeCvo  de  coletar  e   analisar  a  performance  é  de  extrema  importância   Criação de um outro servidor dedicado para análise   Boa  parte  das  análises  requerem  pacotes  extras  do  kernel,  como   por  exemplo:   •  kernel-­‐debuginfo   •  kernel-­‐debuginfo-­‐common   •  kernel-­‐devel    
  • 16. Procurando o Gargalo Entendendo o seu ambiente – Análise Drill-Down Brendan    Gregg  Images   Análise     Drill-­‐Down   Browser,  versão  do  JAVA  e  do  sistema  operacional,  anC-­‐ vírus  ou  firewall  implementados,  isso  tudo  conta  na  hora   de  analisar  a  performance  do  seu  ambeinte.  
  • 17. Procurando o Gargalo Entendendo o seu ambiente – Análise Drill-Down Brendan    Gregg  Image  
  • 18. Procurando o Gargalo Entendendo o seu servidor – Análise Drill-Down Brendan    Gregg  Image   Quais   ferramentas   uClizamos   para   aexecutar   esta   análise  ?  
  • 19. Kpi’s que valem para diversas infras Importantes pontos de análise para saber se o seu ambiente está sadio IBM    Cloud  SLAs  and  KPIs;  Reference  
  • 20. Instalação do CentOS Como  preparar  o  seu  ambiente  Linux  focado   em  performance  ?    
  • 21. Instalação do CentOS O  Docker  pode  ser  descrito  como  um  container  em  um  navio.  Cada  docker-­‐container  é  um   container  que  pode  conter  um  ou  vários  dos  seguintes  serviços:     –  Um  servidor  web;   –  Um  banco  de  dados;   –  Uma  aplicação.     Como  um  Linux  Container  Engine,  uCliza  Linux  Containers  (lxc)  ao  invés  de  métodos  de   virtualização  tradicionais.  O  lxc  uCliza  o  mesmo  kernel  do  servidor  host,  tornando  tudo  muito   rápido.   Um  container  é  um  processo  isolado  através  de  namespaces  +  chroot.  Por  isso  que  fazer  o   “start”  de  um  container  é  muito  rápido  (é  tão  rápido  quanto  iniciar  um  processo  novo).   O Que é e como funciona um Docker
  • 22. Instalação do CentOS Preparando a sua infra para receber o Linux Físico  versus  Vitual,  mesmo  uCllizando  Docker     Cloud  –  Amazon*  versus  Digital  Ocean  versus  RackSpace  versus  Google   Cloud     *Amazon  –  HVM  versus  ParavirtualizaCon  -­‐    qual  é  a  melhor  ?   Amazon  trabalha  com  Xen  Server,  sistema  que  provê  dois  Cpos  de   virtualização,  sendo  a  paravirtualização  a  mais  performáCca  por   ser  a  mais  próxima  da  performance  de  um  servidor  }sico     DigitalOcean  uCliza  SSD  em  todas  as  suas  máquinas  virtuais     RackSpace  uCliza  a  mesma  tecnologia  que  a  Amazon  
  • 23. Instalação do CentOS Montando a arquitetura do seu ambiente •  Qual  é  a  sua  necessidade,  servidor  web  ou  banco  de  dados  ?   •  Vc  pode  arcar  com  a  perda  de  performance  devido  a  virtualização?   •  Qual  é  a  previsão  de  acessos  e  o  que  será  acessado  ?   •  Está  preparado  para  suportar  ataques  DDoS  e  outros  ?   Como  arquitetar  o  seu  ambiente  ?  
  • 24. Instalação do CentOS Divisão do File system para suportar um servidor Linux Cuidados  que  devemos  tomar:     •  Para  que  servirá  este  ambiente?   •  Ele  suportará  um  tráfego  elevado?   •  Tudo  deverá  ser  logado  ?   •  Qual  sistema  de  arquivos   uClizaremos  ?  
  • 25. Instalação do CentOS hnp://pkgs.repoforge.org/rpmforge-­‐release/rpmforge-­‐ release-­‐0.5.3-­‐1.el6.rf.x86_64.rpm   •p://rpmfind.net/linux/epel/6/x86_64/epel-­‐release-­‐6-­‐8.noarch.rpm   hnps://www6.atomicorp.com/channels/atomic/centos/6/x86_64/ RPMS/atomic-­‐release-­‐1.0-­‐18.el6.art.noarch.rpm             Repositórios – escolhendo os melhores rpm  –Uhv  <url  do  repositório>   Testados  em  13/02/2014  
  • 26. Instalação do CentOS •  /etc/sysctl.conf  ***   •  /etc/security/limits.conf   •  /etc/fstab   •  cat  /proc/sys/net/ipv4/tcp_moderate_rcvbuf  (1)   –  Configuração  de  stack  autotuning     hnps://docs.google.com/document/d/ 1sm6Yvwag5_06Xwqqi4WM7iN8L6hCCApZTDb5r-­‐x8LEA   Dicas  de  tuning   Parametrizações e arquivos que ajudam a melhorar a performance Kernel    /  FileSystem  /  Network   Testados  em  13/01/2015  
  • 27. Instalação do CentOS Camadas e ferramentas para melhoria da performance Brendan    Gregg  Image   Estas  são  as   ferramentas  que   uClizaremos  para   executar  nossa   análise!!!    
  • 28. Tool   Descrip?on   free   Free  memory  and  swap.  Counts  page  cache  memory  as  free   /proc/meminfo   Memory,  swap  and  file  system  staCsCcs.  Kernel  memory  usage,  staCsCcs  for   conservaCve  memory  allocaCon  policy,  HugeTLB  etc..   pidstat   Per  process/thread  CPU  usage,    context  switch,  memory,  swap,  IO  usage   ps,  pstree   Per  process/thread  CPU  and  Memory  usage   /proc,  /sys  File  system   /proc:  stats  about  process,  threads,  scheduling,  kernel  stacks,  memory  etc..   /sys:  Report  device  specific  stats:  disk,  NIC  etc..   netstat,  iptraf   TCP/IP  staCsCcs  ,  rouCng,  errors,  network  connecCvity,  and  NIC  stats.     iptraf  shows  real  Cme  tcp/ip  network  traffic   nicstat,  ping,  ifconfig   NIC  stats,  network  connecCvity,  netmask,  subnet  etc..   Análise & Coleta – exemplo de ferramentas Todos  os  programas  e  pacotes  aqui  apresentados  foram  instalados  e  testados  em   13/08/2014  
  • 29. Análise & Coleta – exemplo de ferramentas Qual ferramenta é a mais adequada para a sua análise ? Brendan    Gregg  Image   A  melhor   ferramenta  para   análise  do  seu   ambiente  Linux  não     é  só  aquela  que   provê  uma  penca   de  dados!!!!!  
  • 30. Análise & Coleta – /proc Os dados relevantes que o /proc nos apresenta /Proc na verdade é uma interface para as estruturas de dados do kernel que oferece informações sobre os processos que estão sendo executados. Os dados são armazenados na memória e não em disco Analise o conteúdo de cada um dos arquivos abaixo: # cat /proc/cpuinfo # cat /proc/meminfo # cat /proc/zoneinfo # cat /proc/mounts
  • 31. Análise & Coleta – /proc/sys/vm Diretório de armazenamento de parâmetros da memória
  • 32. Análise & Coleta – Redes Componente chave do nosso ambiente Three-­‐way  handshake,  status   de  conexões,  protocolos  e   ferramentas  como  tcpdump,   collectl,  lsof  e  ss  são  conceitos   e  ferramentas  mais  do  que   necessários  para  o  nosso  dia  a   dia,  quando  falamos  sobre   performance  and  tuning.  
  • 33. Análise & Coleta – Redes Conexões Máximas por Browsers Um  dos  pontos  que  mais  gera   discussão  entre  designers,   administradores  de  sistemas  e   performance  é  referente  a   quanCdade  de  usuários  e   conexões  estabelecidas  por   eles  em  um  servidor..     Vamos  entender  mais  e  na   prá?ca???   hnp://www.browserscope.org/? category=network  
  • 34. Análise & Coleta – Redes Status de conexões Tcp/ip e sua análise How Do I Filter Sockets Using TCP States? The syntax is as follows: ## tcp ipv4 ## ss -4 state FILTER-NAME-HERE ## tcp ipv6 ## ss -6 state FILTER-NAME-HERE FILTER-­‐NAME-­‐HERE:     •  established   •  syn-­‐sent  (server)   •  syn-­‐recv  (cliente)   •  fin-­‐wait-­‐1  (problemas  ?)   •  fin-­‐wait-­‐2  (problemas  ?)   •  Cme-­‐wait  (problemas  ?)   •  closed   •  close-­‐wait   •  last-­‐ack   •  listen   •  closing  
  • 35. Análise & Coleta – Redes Pequena demonstração de como o Varnish é performático Apache  Server   Apache  Server   Varnish   Apache  Server   Varnish   CloudFlare  
  • 36. Análise & Coleta – Redes E por que o Varnish é tão performático ?
  • 37. Análise & Coleta – IOPS hnp://eshop.macsales.com/shop/SSD/PCIe/OWC/ Mercury_Accelsior/RAID   É  o  número  de  operações  por  segundo  que  um  disco  individual  consegue  chegar.  Por   exemplo,  um  disco  SAS  de  10K  consegue  em  média  140  IOPS.     Note  que  a  diferença  é  muito  grande,  principalmente  levando  em  conta  os  novos  discos   SSD.     Requer  atenção  em  ambientes  suportados  em  Cloud  
  • 38. Análise & Coleta – IOPS A  melhor  do  mercado,  atualmente,  conseguem  suportar  mais  9.608  Milhões  de  IOPS   -­‐  hnp://www.fusionio.com/products/iodrive2/     US$  22.900,00  -­‐  3.0  TB   Esse  é  o  SSD  dos  Bancos  de  Dados  de  alta  performance   Vejam  o  site  hnp://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=   -­‐1&IsNodeId=1&DescripCon=PCI%20Express%20SSD&bop=And&Order=PRICED&PageSize=30  
  • 39. FileSystem – XFS / EXT3 / EXT4 / BTRFS O  XFS  será  adotado  por  default  na  versão  7.0  do  Red  Hat  Enterprise  EdiCon     Testes  realizados  uClizando  o   PostgreSQL   Testes  realizados  uClizando  simples   gravação  de  arquivos  
  • 40. FileSystem – XFS / EXT3 / EXT4 / BTRFS •  A  uClização  do  EXT4  é  recomendada  para  ambientes  que  rodem  banco  de  dados,  como   PostgreSQL  e  MySQL   •  A  uClização  do  XFS  é  recomendada  para  ambientes  que  trabalhem  com  virtualização  ou  que   precise  de  direct  I/O,  tudo  por  causa  da  sua  melhor  performance  quanto  ao  suporte  a   grandes  arquivos   •  Mas  como  migrar  o  Cpo  de  parCcionamento  em  um  ambiente  produCvo  ?    
  • 41. FileSystem – Ganho de perfomance Ø  noexec  -­‐  Do  not  set  execuCon  of  any  binaries  on  this  parCCon  (prevents  execuCon  of  binaries  but   allows  scripts).   Ø  nodev  -­‐  Do  not  allow  character  or  special  devices  on  this  parCCon  (prevents  use  of  device  files  such   as  zero,  sda  etc).   Ø  nosuid  -­‐  Do  not  set  SUID/SGID  access  on  this  parCCon  (prevent  the  setuid  bit).   Ø  noa?me  -­‐    do  no  set  Cme  to  files  and  directories  –  até  30%  de  ganho  de  performance   Como aumentar a performance do seu ambiente em 30% ?
  • 42. Utilizando memória RAM como filesystem mkfs  -­‐q  /dev/ram1  16384  (igual  a  16MB)   mkdir  -­‐p  /ramcache   mount  /dev/ram1  /ramcache   df  -­‐H  |  grep  ramcache     /dev/ram1                            16.1M      1.1M      6.7M    15%  /ramcache           Criando um filesystem em RAM para logs – Velocidade de escrita
  • 43. Processos e suas prioridades No  curso  de  formação  LPI  é  ensinado  que  o  linux  possui  comandos  que    têm  como  objeCvo   alterar  a  prioridade  dos  processos.    Nice  e  renice  são  eles,  mas  vale  a  pena  ?     Vale  lembrar  que  somente  o  root  poderá    iniciar  um  processo  com  prioridade  negaCva  (alta),   quer  dizer,  com  maior  prioridade,  e  que  o  comando  renice  serve  para  alterar  a  prioridade  de   processos  que  já  estão  em  execução.         Quais  são  os  casos  onde  é  recomendado  a  alteração  da  prioridade  de  processos  no  linux    e   como  o  kernel  do  linux  gerencia  isso  ?   É recomendado alterar a prioridade de processos no linux?
  • 44. Processos e swap #!/bin/bash   #  Get  current  swap  usage  for  all  running  processes   #  Erik  Ljungstrom  27/05/2011   SUM=0   OVERALL=0   for  DIR  in  `find  /proc/  -­‐maxdepth  1  -­‐type  d  |  egrep  "^/proc/[0-­‐9]"`  ;  do   PID=`echo  $DIR  |  cut  -­‐d  /  -­‐f  3`   PROGNAME=`ps  -­‐p  $PID  -­‐o  comm  -­‐-­‐no-­‐headers`   for  SWAP  in  `grep  Swap  $DIR/smaps  2>/dev/null|  awk  '{  print  $2  }'`   do   let  SUM=$SUM+$SWAP   done   echo  "PID=$PID  -­‐  Swap  used:  $SUM  -­‐  ($PROGNAME  )"   let  OVERALL=$OVERALL+$SUM   SUM=0     done   echo  "Overall  swap  used:  $OVERALL"   Como descobrir quais processos estão swapando ? /etc/sysctl.conf   vm.swappine  =  0  até  100       (quanto  menor,  menos  swap  o  seu  ambiente   uClizará)  
  • 45. Processos e alocação de memória Como o hugepages pode melhorar a performance do seu ambiente Transparent  HugePages     /sys/kernel/mm/transparent_hugepage/enabled   Never  è  desabilita     Configurando  Sta?c  HugePages     cat  /proc/sys/vm/nr_hugepages   echo  25000  >  /proc/sys/vm/nr_hugepages   mount  -­‐t  hugetlbfs  hugetlbfs  /dev/hugepages   cat  /proc/meminfo  |  grep  Huge  
  • 46. Alocação de memória e cache Como limpar o cache do seus ambiente e porquê ? $  free  &&  sync  &&  echo  3  >  /proc/sys/vm/drop_caches  &&  free                                  total              used              free          shared        buffers          cached   Mem:              1018916          980832            38084                    0            46924          355764   -­‐/+  buffers/cache:          578144          440772   Swap:            2064376                128        2064248                                total              used              free          shared        buffers          cached   Mem:              1018916          685008          333908                    0                224          108252   -­‐/+  buffers/cache:          576532          442384   Swap:            2064376                128        2064248       O  programa  fincore  serve  para  descobrir  quais  arquivos  estão  sendo  cacheados.  
  • 47. Ferramentas - Latencytop Instalação  *1     Ubuntu   apt-­‐get  update  –y   apt-­‐get  install  latencytop   latencytop     grep  -­‐i  latencytop  /boot/config-­‐`uname  -­‐r`   CONFIG_HAVE_LATENCYTOP_SUPPORT=y   CONFIG_LATENCYTOP=y     CentOS/RedHat  *2   Yum  install  latencytop   latencytop     *2  You  must  also  enable  the   CONFIG_LATENCYTOP=y     Ferramenta  para  análise  de   latência  de  aplicações   *1  A  execução  dele  depende  do  X11fowarding  SSH    
  • 48. Ferramentas - PowerTop Instalação       Ubuntu   apt-­‐get  update  –y   apt-­‐get  install  powertop   powertop     CentOS/RedHat  *2   yum  install  powertop   powertop       O  mais  interessante  é  que  ele   gera  reports  em  csv  ou  html   Ferramenta  para  análise  de   consumo  de  energia  de  hardware,   aplicações  e  Kernel  
  • 49. Ferramentas - Pmap Ferramenta  responsável   por  apresentar  um  mapa   sobre  a  uClização  de   memória  feita  por   processos.   Excelente   para  detectar   processos   que  estejam   alocando   memória    
  • 50. Ferramentas - SystemTap Instalação         CentOS/RedHat  *1   yum  install  systemtap     *1  Há  necessidade  de  instalar  o  Kernel-­‐ devel,  debuginfo  e  o  debuginfo-­‐common   de  cada  ambiente  Linux  onde  ele  for   rodar.  No  nosso  caso  foi  o  yum  install   kernel-­‐devel  kernel-­‐debug-­‐devel  e  depois   o  comando  yum  -­‐-­‐enablerepo=debug   install  kernel-­‐debuginfo     Há  problemas  quando  instalado  em   ambientes  Cloud,  como  digital  ocean   Ferramenta  para  coleta  e  análise   de  informações  de  um  servidor   Linux.    Uma  das  mais  completas,   em  minha  opinião   Depois  de  todos  os  pacotes  instalados,  vc  deverá  executar  o   seguinte  comando  para  testar  o  SystemTAp  stap  -­‐v  -­‐e  'probe   vfs.read  {prin}("read  performedn");  exit()}'  
  • 51. Ferramentas - SS Informações  que  ele  coleta:     •  All  TCP  sockets.   •  All  UDP  sockets.   •  All  established  ssh  /  •p  /  hnp  /  hnps  connecCons.   •  All  local  processes  connected  to  X  server.   •  Filtering  by  state  (such  as  connected,  synchronized,  SYN-­‐RECV,   SYN-­‐SENT,TIME-­‐WAIT),  addresses  and  ports.   •  All  the  tcp  sockets  in  state  FIN-­‐WAIT-­‐1  and  much  more.   •  You  can  use  regex  and  filter,  like  the  example   Mais  informações  e  exemplos  de  uso  no  hnp:// blog.corujadeC.com.br/o-­‐comando-­‐ss-­‐ao-­‐inves-­‐do-­‐netstat/     Ferramenta  para  análise  de  rede,   trazendo  mais  informações  que  o   já  conhecido  netstat    
  • 52. Ferramentas - Dstat Informações  que  ele  coleta:     •  Status  de  filesystem   •  Status  de  ipc   •  Status  de  sockets   •  Status  de  conexões  TCP/IP   •  Há  necessidade  de  instalacão  no  CentOS   Ferramenta  que  reune  os  mesmos   dados  apresentados  que  o   vmstat,  iostat  e  o  ifstat,  mas  com   gráficos  melhores.   dstat  -­‐ta  -­‐-­‐top-­‐bio  –  tente  esse  comando  
  • 53. Capacity Planning Estratégia   Processos, dados que devemos coletar e analisar Escopo   Coleta   Análise   Execução   Mesmo  com  tantas   ferramentas  e  dados,  não   podemos  nos  esquecer   dos  princípios  
  • 54. Ferramentas - slabtop Ferramenta  que  demonstra  o   consumo  de  memória  pelo  Kernel,   assim  como  a  uClização  do  cache     slabtop  -­‐o  -­‐s  c  |  head  -­‐n15  
  • 55. Ferramentas – collect Informações  que  ele  coleta:     •  cpu   •  disks   •  Network   •  Há  necessidade  de  instalacão  no  CentOS  e   possuir  o  Perl  pré-­‐instalado.   A  evolução  do  top  e  do  htop,  pois   apresenta  uma  série  de  dados   esta*scos  e  informações,  sem   ficar  restrito  a  limites  –  depende   do  Perl  instalado  para  rodar  
  • 56. Ferramentas – iodump (script) Informações  que  ele  coleta:     •  Status  de  filesystem   •  Status  de  ipc   •  Status  de  sockets   •  Status  de  conexões  TCP/IP   •  Há  necessidade  de  instalacão  no  CentOS  -­‐  wget   hnp://aspersa.googlecode.com/svn/trunk/iodump   •  echo  1  >  /proc/sys/vm/block_dump  (precisa  ser  implementado   para  que  ele  funcione)   Ferramenta  que  apresenta  os  meus   dados  quevmstat,  iostat  e  o  ifstat     while  true;  do  sleep  1;  dmesg  -­‐c;   done  |  perl  iodump    
  • 57. Ferramentas – iotop Ferramenta  para  análise  de  I/O   correlacionando  processos  e  discos  –  Uma   das  melhores  ferramentas  para  tal  análise,   porém,  o    CONFIG_TASK_IO_ACCOUNTING   precisa  estar  habilitado  no  kernel  do  Linux.   ***  precisa  de  instalação  ***     Também  recomendado  a  execução  do   comando  abaixo   echo  1  >  /proc/sys/vm/block_dump  
  • 58. Ferramentas – Vnstat Ferramenta  para  análise  do  tráfego  de  rede   que  é  capaz  de  exportar  os  dados  para  o   formato  csv  (excel).     É  possível  criar  filtros  de  coletas  para  hora,   dia  e  outras.     Precisa  ser  instalado  no  CentOS.      
  • 59. Ferramentas – mpstat Ferramenta  para  análise  de   performance  da  CPU,  apresentando   importantes  informações  quanto  a   saúde  do  servidor     mpstat  –P  ALL  1       apt-­‐get  install  sysstat  –y    (processo  de   instalação)       O  sysstat  é  responsável  pela  gestão  de   uma  suíte  de  ferramentas  focadas  em   monitoração,  são  elas:   •  Mpstat            pidstat       •  Iostat                               •  Sadc   •  Sar   $  mpstat  -­‐P  ALL     Linux  3.2.0-­‐57-­‐generic  (USERNB01)  12/12/2013  _x86_64_  (2  CPU)     04:07:36  PM  CPU  %usr  %nice  %sys  %iowait  %irq  %so•  %steal  %guest  %idle   04:07:36  PM  all  6.02  0.04  1.72  2.99  0.00  0.05  0.00  0.00  89.17   04:07:36  PM  0  3.84  0.01  1.15  3.72  0.00  0.06  0.00  0.00  91.21   04:07:36  PM  1  13.55  0.15  3.66  0.46  0.00  0.03  0.00  0.00  82.15     -­‐  See  more  at:  hnp://linoxide.com/linux-­‐command/linux-­‐mpstat-­‐command/ #sthash.nLCLYBo1.dpuf  
  • 60. Ferramentas – iptraf Ferramenta  responsável  por  apresentar   uma  série  de  informações  referente  a   redes.  ***  precisa  ser  instalada  ***     Iptraf  é  muito  versáCl  e  fornecer  uma  série   de  esta•sCcas,  como  :     •  Network  traffic  staCsCcs  by  TCP   connecCon   •  IP  traffic  staCsCcs  by  network  interface   •  Network  traffic  staCsCcs  by  protocol   •  Network  traffic  staCsCcs  by  TCP/UDP   port  and  by  packet  size   •  Network  traffic  staCsCcs  by  Layer2   address    
  • 61. Ferramentas – ethtool ethtool eth2 Settings for eth2: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Link partner advertised link modes: Not reported Link partner advertised pause frame use: No Link partner advertised auto-negotiation: No Speed: 1000Mb/s Duplex: Full Link detected: yes ethtool ferramenta capaz de lhe apresentar em detalhes uma série de informações pertinentes a sua interface rede.
  • 62. Cálculo de Pacotes de Rede por segundo Um conceito importante e que deve estar na veia do pessoal de performance
  • 63. Ferramentas – lsof Lsof ferramenta versátil que possui como uma de suas funções a listagem de arquivos em aberto (utilização) lsof –p <pid> lsof -i tcp; lsof -i udp;
  • 64. Ferramentas – jnettop Ferramenta  de  análise  de  tráfego  de  rede   entre  servidores  e  hosts,  que  trás  mais   informações  que  o  inop  ,  além  de   possibilitar  o  export  dos  dados   capturados  para  arquivos  .csv     Há  necessidade  de   instalação     Ubuntu   Apt-­‐get  install  jneHop   Centos   Yum  install  jneHop     jnenop  -­‐-­‐display  text  -­‐t  5  -­‐-­‐format  '$srcname$,$srcport$,$dstname$,$dstport$,$totalbps$'  
  • 65. Bibliografia   Inclua  a  isso  muita   pesquisa,  dia-­‐a-­‐dia  e   troca  de   conhecimento.