perfmon reportando IOPs mais altas do que possíveis?

1

Criamos um relatório de monitoramento para IOPs nos contadores de desempenho usando Leituras de disco / s e Gravações de disco / s em quatro servidores (caixas físicas, sem virtualização) com 4x 15 unidades SAS de 146 GB em RAID10 por servidor, configuradas para verificar e gravar dados a cada 1 segundo e registradas por 24 horas antes de interromper os relatórios.

Estes são os resultados que obtivemos:

Server1 Maximum disk reads/sec: 4249.437 Maximum disk writes/sec: 4178.946

Server2 Maximum disk reads/sec: 2550.140 Maximum disk writes/sec: 5177.821

Server3 Maximum disk reads/sec: 1903.300 Maximum disk writes/sec: 5299.036

Server4 Maximum disk reads/sec: 8453.572 Maximum disk writes/sec: 11584.653

A média de leituras e gravações do disco por segundo foi geralmente baixa. Ou seja, para um servidor em particular, era como média de 33 gravações / seg, mas ao monitorar em tempo real, muitas vezes chegava a várias centenas e, às vezes, a milhares.

Alguém poderia me explicar por que esses números são significativamente mais altos que os cálculos teóricos, supondo que cada unidade possa fazer 180 IOPs?

Detalhes adicionais (cartão RAID): HP Smart Array P410i, tamanho total do cache de 1 GB, cache de gravação está desabilitado, a taxa de cache do acelerador de matriz é de 25% de leitura e 75% de gravação

    
por BlueToast 05.09.2012 / 20:46

3 respostas

7

Cada unidade pode fazer 180 IOPs aleatórios . Sua carga de trabalho é totalmente aleatória? Aposto que o que você está vendo são leituras / escritas sequenciais.

    
por 05.09.2012 / 21:42
4

Eu diria que é cache. Você disse que o cache de gravação está desabilitado, mas eu vejo o "cache do acelerador de matriz", não estou familiarizado com isso - mas o cache de memória explicaria explosões de alta taxa de transferência.

    
por 05.09.2012 / 21:11
2

Se você fizer benchmarking usando padrões de atividade realísticos e o desempenho do aplicativo for aceitável e dentro das especificações do hardware, você estará em boa forma. No entanto, entender seus padrões de leitura / gravação e os recursos do seu sistema de armazenamento também é importante.

Você está usando um controlador HP Smart Array, portanto, há um número dos fatores envolvidos em seu desempenho .

1). Você tem o cache de gravação, que é apenas o cache de disco físico em cada unidade. Talvez 8-32 megabytes. Isso provavelmente está desativado em sua configuração.

2). Você também tem o cache de gravação com bateria (BBWC) ou o cache de gravação com backup flash (FBWC) no controlador real. Isso é 512MB ou 1GB, protegido por um mecanismo de cache não-volátil . Isso parece estar ativado.

3). A proporção de cache que você descreveu em sua pergunta é a porcentagem do que foi dedicado a leituras e gravações. É denotado pela terminologia "Array Accelerator".

Com o acelerador de matriz ativado, você terá gravações de baixa latência comprometidas com o cache antes de ir para o disco. Basicamente, seu aplicativo pode dizer: "sim, eu escrevi isso" porque o sistema de armazenamento diz "está escrito" e pode coalescer gravações e enviá-las para o disco rotativo em lotes sequenciais.

Você tem um buffer de gravação de 384 MB ou 768 MB, com base nas configurações atuais, de modo que seja responsável pelos números altos de IOPS durante o teste. Você também tem uma pequena quantidade de cache de leitura disponível. Se o seu conjunto de dados de trabalho for pequeno o suficiente, você poderia estar trabalhando inteiramente no cache, o que é muito mais rápido que o disco.

Aqui está a saída de uma configuração do Smart Array P410 em um ProLiant DL380 G7. Como você pode ver, há muita coisa envolvida na configuração básica e há algumas otimizações. Eu acho que você pode ter desativado apenas um item pequeno, deixando o resto no lugar.

Smart Array P410i in Slot 0 (Embedded)
   Bus Interface: PCI
   Slot: 0
   Serial Number: 500143801664FE50
   Cache Serial Number: PBCDF0CRHZV1JS
   RAID 6 (ADG) Status: Disabled
   Controller Status: OK
   Hardware Revision: C
   Firmware Version: 5.14
   Rebuild Priority: Medium
   Expand Priority: Medium
   Surface Scan Delay: 15 secs
   Surface Scan Mode: Idle
   Queue Depth: Automatic
   Monitor and Performance Delay: 60  min
   Elevator Sort: Enabled
   Degraded Performance Optimization: Disabled
   Inconsistency Repair Policy: Disabled
   Wait for Cache Room: Disabled
   Surface Analysis Inconsistency Notification: Disabled
   Post Prompt Timeout: 0 secs
   Cache Board Present: True
   Cache Status: OK
   Cache Ratio: 25% Read / 75% Write
   Drive Write Cache: Enabled
   Total Cache Size: 1024 MB
   Total Cache Memory Available: 912 MB
   No-Battery Write Cache: Enabled
   Cache Backup Power Source: Capacitors
   Battery/Capacitor Count: 1
   Battery/Capacitor Status: OK
   SATA NCQ Supported: True
    
por 05.09.2012 / 21:48