A julgar pelos seus comentários e edições, seu gargalo pode ser o armazenamento. A primeira coisa, supondo que você tenha o cache de gravação ativado, todas as suas gravações até que o cache esteja cheio devem ser feitas na velocidade da linha. Você pode medir isso com bastante facilidade, descobrindo quanto de cache você tem e fazendo um benchmark de 100% de gravação com menos dados do que isso. Em segundo lugar, quando o cache começa a desmembrar os dados para o disco, o desempenho de gravação no RAID-10 (supondo que os controladores não estejam introduzindo gargalos) será metade do desempenho de leitura. Isso porque cada gravação é feita em dois discos, mas a leitura só é feita a partir de um. Um benefício do RAID-10 é que não há paridade para calcular, então é improvável que os processadores dos controladores simplesmente não consigam acompanhar.
Em seguida, se o seu benchmark estiver medindo uma mistura de leituras e gravações, o desempenho que você obterá do controlador de armazenamento dependerá do tipo de IO. Se for sequencial, você obterá um número maior de MB / s, mas um número menor de IO / s. Se for um bloco pequeno aleatório, você obterá números baixos de MB / s, mas quantos IO / s forem fornecidos pelos seus discos. Cada disco de 7200 RPM fornecerá um certo número de IO / s quando você estiver lendo imprevisivelmente, de modo que o número de unidades em seus tempos de invasão o número de IO / s por unidade será seu limite máximo de desempenho.
Por fim, se você tiver todo o armazenamento em um grande volume apresentado como um único LUN, sua fila de comandos poderá estar saturada. Os sistemas operacionais normais têm uma profundidade de fila de comandos configurável (o número de E / Ss pendentes que eles alinharão para o armazenamento) e cada volume / LUN tem sua própria fila. Outro problema em ter todo o armazenamento no mesmo LUN é que, geralmente, o IO é enviado para um único controlador para esse LUN. Mesmo em sistemas de armazenamento ativos / ativos (que eu não tenho certeza se o seu é), eles podem ter uma afinidade por um controlador em relação a outro. O objetivo seria criar um monte de volumes e dividi-los uniformemente entre os controladores.