Estou tentando estimar os requisitos de IOPS do meu aplicativo em execução no CentOS 6.2 de 32 bits. Comecei a fazer algumas medições em uma máquina com discos SATA e estou bastante confuso sobre a diferença entre IOPS e tps medidos por sar.
De acordo com a wikipedia, o disco SATA deve executar 75-100 IOPS. O utilitário ioping parece confirmar isso para o teste de acesso aleatório:
# ./ioping -R /dev/sda
--- /dev/sda (device 931.0 Gb) ioping statistics ---
279 requests completed in 3.0 s, 92 iops, 371.3 kb/s
min/avg/max/mdev = 2.7 ms / 10.8 ms / 130.8 ms / 7.9 ms
Mas os valores de tps produzidos pelo sar são muito mais altos (/ dev / sda):
# iostat 1
avg-cpu: %user %nice %system %iowait %steal %idle
0.17 0.00 2.02 14.86 0.00 82.96
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 559.00 0.00 142600.00 0 142600
dm-0 18433.00 0.00 147464.00 0 147464
dm-1 0.00 0.00 0.00 0 0
dm-2 0.00 0.00 0.00 0 0
Realmente não se importa se essa carga é seqüencial (dd com vários tamanhos de bloco) ou acesso aleatório (ioping), o valor ainda é o mesmo. Eu pensei que tps é realmente IOPS e eu esperaria que ele caísse com pedaços maiores transferidos.
Então, o que exatamente significa o valor tps? E como isso se relaciona com IOPS?
fonte
Respostas:
As transações são comandos IO únicos (bloco de busca / bloco de gravação) que são gravados no disco RAW (no seu exemplo dm-0). O linux-kernel tenta ordenar esses comandos em uma sequência melhor ou tenta compactá-los em comandos mais eficientes (como: obter dois blocos ao mesmo tempo em vez de obter um bloco e obter outro bloco logo após este). Essas são as transações enviadas para o controlador de disco (tps para sda).
Os bons controladores têm uma lógica própria que reduz ainda mais o número real de transações.
Uma transação pode ser o comando SCSI "escreva 2 GB no crontoller 1 alvo 2 lun 3 a partir do setor 22). Como você pode ver, isso não pode ser correlacionado diretamente com os números de taxa de transferência.
O que você procura é a taxa de gravação sustentada. Você tem alguns fatores limitantes aqui:
Meu palpite para o seu sistema é: obter um bom controlador de invasão de hardware capaz de executar o ataque 10 ou 5 e obter pelo menos 6 discos rápidos (15k).
Para uso profissional, use SAS em vez de SATA.
fonte
Lembre-se também de que o
TPS
valor representa leituras e gravações. Você pode usar a-x
opção para exibição estendida, onde leituras e gravações são separadas (r / s = IOPS de leitura, w / s = IOPS de gravação):fonte