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.
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
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.
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.
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