Se alguém está reclamando que um banco de dados (ou qualquer aplicativo) rodando em um servidor (com certo sistema de arquivos, ou configuração RAID) está correndo mais rápido do que o mesmo banco de dados ou aplicativo em execução em outro servidor, você pode querer certificar-se de que o desempenho no nível de disco é o mesmo no servidor. Você pode usar IOzone para esta situação.
Se você estiver executando o seu banco de dados (ou qualquer outra aplicação) em determinado ambiente SAN ou NAS, e gostaria de migrá-lo para diferentes ambientes SAN ou NAS, você deve executar filesystem benchmakring em ambos os sistemas e compará-lo. Você pode usar IOzone para esta situação.
Se você estiver executando o seu banco de dados (ou qualquer outra aplicação) em determinado ambiente SAN ou NAS, e gostaria de migrá-lo para diferentes ambientes SAN ou NAS, você deve executar filesystem benchmakring em ambos os sistemas e compará-lo. Você pode usar IOzone para esta situação.
Se você sabe como usar IOzone, você pode muito bem usá-lo para várias finalidades filesystem benchmarking.
Baixe e instale IOZone
IOzone é um utilitário de benchmarking do sistema de arquivos de código aberto.
Siga os passos abaixo para baixar e instalar IOzone em seu sistema.
wget http://www.iozone.org/src/current/iozone3_394.tar tar xvf iozone3_394.tar cd iozone3_394/src/current fazer fazer linux
O que medida utilitário IOzone?
IOzone executa os seguintes 13 tipos de teste. Se você está executando teste IOzone em um servidor de banco de dados, você pode se concentrar nos seis primeiro testes, como elas impactam diretamente o desempenho do banco de dados.
- Leia - Indica o desempenho de leitura de um arquivo que já existe no sistema de arquivos.
- Escrever - Indica o desempenho de escrever um novo arquivo para o sistema de arquivos.
- Re-leitura - Depois de ler um arquivo, isso indica o desempenho de leitura de um arquivo novamente.
- Re-escrever - Indica o desempenho de escrever para um arquivo existente.
- Aleatório Read - Indica o desempenho de leitura de um arquivo, lendo informações aleatórias a partir do arquivo. ou seja, este não é uma leitura seqüencial.
- Escrever aleatória - Indica o desempenho de gravação de um arquivo em vários locais aleatórios. ou seja, isso não é uma gravação seqüencial.
- Backward Ler
- Grave Re-Write
- Stride Ler
- Fread
- Fwrite
- Freread
- Frewrite
10 Exemplos do IOzone
1. Execute todos os testes IOzone usando valores padrão
-Uma opção significa modo automático. Isso cria arquivos de teste temporários de tamanhos 64k 512MB para testes de desempenho. Este modo também usa 4k de 16M de tamanhos recorde para ler e escrever (mais sobre isso depois) o teste.
-A opção também irá executar todos os 13 tipos de testes.
$. / IOzone-a
O primeiro setion da saída IOzone contém as informações de cabeçalho, que exibe informações sobre o utilitário IOzone, e todas as opções IOzone que são usados para gerar este relatório, como mostrado abaixo.
IOzone: Teste de Desempenho de File I / O Versão $ Revision: 3.394 $ Compilado para o modo de 32 bits. Constituição: linux Contribuintes: William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Reno, Mike Wisner, Ken Goss Run começou: Sáb 23 abril 2011 00:25:34 Modo Auto Linha de comando usado:. / IOzone-a A saída é em Kbytes / seg Resolução Tempo = 0.000001 segundos. Tamanho do cache do processador definido para 1024 Kbytes. Cache do processador tamanho da linha definida para 32 bytes. Tamanho do arquivo passo definido para 17 * tamanho do registro.
A segunda seção da saída contém os valores de saída (em por segundo) de vários testes.
- 1 coluna KB: Indica o tamanho do arquivo que foi usado para o teste.
- 2 reclen coluna: Indica o comprimento do registro que foi usado para o teste.
- 3 ª coluna até a última coluna: Indica os vários testes que são realizados e seus valores de saída em cada segundo.
aleatória registro tranco bkwd aleatória KB reclen escrever reescrever ler reler ler escrever ler reescrita ler fwrite frewrite fread freread 64 4 495678 152376 1824993 2065601 2204215 875739 582008 971435 667351 383106 363588 566583 889465 64 8 507650 528611 1051124 1563289 2071399 1084570 1332702 1143842 2138827 1066172 1141145 1303442 2004783 64 16 587283 1526887 2560897 2778775 2366545 1122734 1254016 593214 1776132 463919 1783085 3214531 3057782 64 32 552203 402223 1121909 1388380 1162129 415722 666360 1163351 1637488 1876728 1685359 673798 2466145 64 64 551580 1122912 2895401 4911206 2782966 1734491 1825933 1206983 2901728 1207235 1781889 2133506 2780559 128 4 587259 1525366 1801559 3366950 1600898 1391307 1348096 547193 666360 458907 1486461 1831301 1998737 128 8 292218 1175381 1966197 3451829 2165599 1601619 1232122 1291619 3273329 1827104 1162858 1663987 1937151 128 16 6500 08 510099 4120180 4003449 2508627 1727493 1560181 1307583 2203579 1229980 603804 1911004 2669183 128 32 7032 00 1802599 2842966 2974289 2777020 1331977 3279734 1347551 1152291 684197 722704 907518 2466350 128 64 8482 80 1294308 2288112 1377038 1345725 659686 1997031 1439349 2903100 1267322 1968355 2560063 1506623 128 128 9021 20 551579 1305206 4727881 3046261 1405509 1802090 1085124 3649539 2066688 1423514 2609286 3039423 ...
2. Salve a saída para uma planilha usando IOzone-b
Para salvar a saída IOzone para uma planilha, use o b-opção como mostrado abaixo. -B está para binário, e ele instrui IOzone para escrever a saída do teste em formato binário para uma planilha.
$. / IOzone-a-b output.xls
Nota: Os b-opção pode ser utilizada com qualquer um dos exemplos mencionados abaixo.
A partir dos dados que é salvo na planilha, você pode usar os criar alguns gráficos bonitos usando a funcionalidade de gráfico da ferramenta de planilha. O seguinte é um gráfico de amostra que foi criado a partir da saída IOzone.


Figura : Gráfico IOZone
3. Execute somente um tipo específico de teste usando IOzone-i
Se você estiver interessado em executar apenas um tipo específico de teste, use a opção-i.
Sintaxe:
IOzone-i [tipo de teste]
O tipo de teste é um valor numérico. A seguir estão os vários tipos de testes disponíveis e seu valor numérico.
- 0 = escrita / reescrita
- 1 = leitura / re-ler
- 2 = random-read/write
- 3 = leitura para trás
- 4 = Re-write-registro
- 5 = passo de leitura
- 6 = fwrite / re-fwrite
- 7 = fread / Re-fread,
- 8 = mistura aleatória
- 9 = pwrite / Re-pwrite
- 10 = pread / Re-pread
- 11 = pwritev / Re-pwritev
- 12 = preadv / Re-preadv
O exemplo a seguir será executado somente os testes de escrita (ou seja, tanto escrever e reescrever). Como você pode ver a partir da saída as outras colunas estão vazias.
$. / IOzone-a-i 0 aleatória registro tranco bkwd aleatória KB reclen escrever reescrever ler reler ler escrever ler reescrita ler fwrite frewrite fread freread 64 4 353666 680969 64 8 477269 744768 64 16 429574 326442 64 32 557029 942148 64 64 680844 633214 128 4 187138 524591
Combine vários tipos de teste IOzone
Você também pode combinar vários tipos de teste, especificando-múltipla i na linha de comando.
Por exemplo, o exemplo a seguir irá testar tanto ler e escrever tipos de teste.
$. / IOzone-a-i-i 0 1 aleatória registro tranco bkwd aleatória KB reclen escrever reescrever ler reler ler escrever ler reescrita ler fwrite frewrite fread freread 64 4 372112 407456 1520085 889086 64 8 385574 743960 3364024 2553333 64 16 496011 397459 3748273 1330586 64 32 499600 876631 2459558 4270078
4. Especifique o tamanho do arquivo usando IOzone-s
Por padrão, IOzone criará automaticamente os arquivos temporários do tamanho de 64k para 512M, para realizar vários testes.
A primeira coluna na saída IOzone (com o cabeçalho da coluna KB) indica o tamanho do arquivo. Como você viu a partir da saída anterior, ele começa com o arquivo de 64KB, e vai continuar a aumentar até 512M (dobrando o tamanho do arquivo de cada vez).
Em vez de executar o teste para todos os tamanhos de arquivos, você pode específica o tamanho do arquivo com a opção-s.
O exemplo a seguir irá realizar teste de gravação apenas para o tamanho do arquivo de 1 MB (ou seja, 1024 KB).
$. / IOzone-a-i 0-s 1024 aleatória registro tranco bkwd aleatória KB reclen escrever reescrever ler reler ler escrever ler reescrita ler fwrite frewrite fread freread 1024 4 469710 785882 1024 8 593621 1055581 1024 16 745286 1110539 1024 32 610585 1030184 1024 64 929225 1590130 1024 128 1009859 1672930 1024 256 1042711 2039603 1024 512 941942 1931895 1024 1024 1039504 706167
5. Especifique o tamanho de registro para testar usando IOzone-r
Quando você executa um teste, para um tamanho de arquivo específico, ele testa com diferentes tamanhos de registro variam de 4k para 16M.
Se você gostaria de fazer o teste de desempenho de I / O de um subsistema de I / O que hospeda banco de dados Oracle, você pode querer definir o tamanho recorde no IOzone para o mesmo valor do tamanho do bloco DB. O banco de dados lê e escreve com base no tamanho do bloco DB.
reclen significa Comprimento de registro. No exemplo anterior, a segunda coluna (coluna com o cabeçalho "reclen") indica o comprimento do registo de que deve ser usado para testar IOzone. No exemplo outout anterior, para o tamanho do arquivo de 1024KB, o teste IOzone usou vários tamanhos de registro variam de 4k de 16M para realizar o teste de escrita.
Em vez de usar todos esses tamanhos de comprimento de registro padrão, você também pode especificar o tamanho do disco que você gostaria de testar.
O exemplo abaixo será executado teste de gravação apenas para comprimento de registro de 32k. Na saída, a 2 ª coluna, agora apenas exibir 32.
$. / IOzone-a-i-r 0 32 aleatória registro tranco bkwd aleatória KB reclen escrever reescrever ler reler ler escrever ler reescrita ler fwrite frewrite fread freread 64 32 566551 820553 128 32 5740 98 1000000 256 32 8260 44 948043 512 32 8012 82 1560624 1024 32 859116 528901 2048 32 881206 1423096
6. Combine o tamanho do arquivo com tamanho de registro
Você também pode usar a opção-s tanto e-r para um tamanho de arquivo temporário exata específico e tamanho exato do registro que precisa ser testado.
Por exemplo, o seguinte será executado o teste de gravação usando um arquivo de 2M com um comprimento de registro de 1M
$. / IOZone-a-i 0-s-r 2048 1024 aleatória registro tranco bkwd aleatória KB reclen escrever reescrever ler reler ler escrever ler reescrita ler fwrite frewrite fread freread 2048 1024 1065570 1871841
7. Teste de throughput usando IOzone-t
Para executar a opção IOzone no modo de transferência, use-t. Você também deve especificar o número de threads que precisa estar ativo durante este teste.
O exemplo a seguir irá executar o teste IOzone transferência para gravações usando duas threads. Por favor, note que você não pode combinar-a com a opção-t opção.
$. / IOzone-i-t 0 2 As crianças vêem o rendimento por 2 escritores iniciais 1 = 433.194,53 KB / seg Pai vê transferência para 2 escritores iniciais = 7372,12 KB / seg Min rendimento por processo = 0.00 KB / sec Max rendimento por processo = 433.194,53 KB / sec Rendimento médio por processo = 216.597,27 KB / sec Quem Xfer = 0,00 KB As crianças vêem o rendimento por 2 rewriters = 459.924,70 KB / seg Pai vê transferência para 2 rewriters = 13.049,40 KB / seg Min rendimento por processo = 225.610,86 KB / sec Max rendimento por processo = 234.313,84 KB / sec Rendimento médio por processo = 229.962,35 KB / sec Min xfer = 488.00 KB
Para executar a transferência de todos os tipos de ensaio, remover a "-i 0" no exemplo acima, como se mostra abaixo.
$. / IOzone-t 2
8. incluem a utilização da CPU usando IOzone - + u
Durante a realização dos testes IOzone, você também pode instruir IOzone para coletar a utilização da CPU usando - + opção u.
A - + na frente da opção pode parecer pouco estranho. Mas, você tem que dar o todo - + u (e não apenas-u, ou + u) para que isso funcione corretamente.
O exemplo a seguir irá executar todos os testes, e incluir o relatório de utilização da CPU como parte da saída de planilha excel que gera.
$ / IOzone-a -. + U-b output.xls
Nota: Isto irá mostrar a utilização da CPU em separado para cada teste que executa.
9. Aumentar o tamanho do arquivo usando IOzone-g
Isto é importante. Se o seu sistema tem mais de 512 MB de RAM, você deve aumentar o tamanho do arquivo temporário que IOzone usa para testes. Se você não fizer isso, você pode não obter resultados precisos, como o cache de buffer do sistema irá desempenhar um papel nele.
Para o desempenho do disco precisas, recomenda-se a ter o tamanho de arquivo temporário 3 vezes o tamanho do seu cache de buffer do sistema.
O exemplo a seguir irá executar o IOzone aumentando o tamanho máximo de arquivo de 2 GB, e execute o teste IOzone automático para testes de gravação.
$. / IOzone-a-g-i 0 2G aleatória registro tranco bkwd aleatória KB reclen escrever reescrever ler reler ler escrever ler reescrita ler fwrite frewrite fread freread 64 4 556674 1230677 64 8 278340 441320 64 16 608990 1454053 64 32 504125 1085411 64 64 571418 1279331 128 4 526602 961764 128 8 714730 518219 ...
10. Montar vários pontos de teste em conjunto, utilizando IOzone-F
Através da combinação de várias opções IOzone, você pode realizar testes de disco I / O em vários pontos de montagem como mostrado abaixo.
Se você tem 2 pontos de montagem, você pode começar dois segmentos diferentes IOzone para criar arquivos temporários em ambos estes pontos de montagem para o teste, como mostrado abaixo.
$. / IOzone-it 2-u 2-r-s 16k 512M-F / u01/tmp1 / u02/tmp2
- -L indica o número mínimo de processos IOZone que deve ser iniciado
- -U indica o número máximo de processos IOZone que deve ser iniciado
- -F deve conter vários valores. ou seja, se nós especificamos 2 em ambos-l e-u, devemos ter dois nomes aqui. Por favor, note que apenas os pontos de montagem precisam existe.O arquivo especificado na opção-F não precisa existir, como IOzone criará este arquivo temporário durante o teste. No exemplo acima, os pontos de montagem são / u01 e / u02.O tmp1 arquivo e tmp2 será criado automaticamente pelo IOzone para fins de testes.
Nenhum comentário:
Postar um comentário