O documento descreve um treinamento sobre performance e tunagem de ambientes Linux. Ele detalha a pesquisa realizada, os objetivos do treinamento, pré-requisitos, conteúdo e carga horária. O treinamento abordará tópicos como distribuições Linux para performance, gerenciamento de processos, sistemas de arquivos, ferramentas de monitoramento, benchmarking, tunagem para aplicações, virtualização e Docker.
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
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
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?
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.
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
?
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.