Eu sou o autor do dstat e um engenheiro de sistemas. Eu notei um tempo de espera de 60% em média. Dada a sua saída, eu diria que seus discos estão bastante ocupados. Você pode tentar a nova opção de plugin --disk-util em versões recentes do dstat.
Isso mostrará a taxa de utilização do (s) seu (s) disco (s), e eu esperaria que ele estivesse próximo de 100% para o (s) disco (s) que você está usando. Assim, considerando seu padrão específico de E / S, seu disco está suficientemente ocupado lidando com solicitações de leitura ou gravação.
Por que isso está abaixo dos números de referência? Porque muitas vezes quando você benchmark disco throughput, você está estressando seu disco em um determinado padrão que é ideal para seus discos / caches (como, por exemplo, linear lê ou escreve com grandes blocos com um único segmento) enquanto na sua carga de trabalho atual os padrões específicos podem ser menos ideal (leituras ou gravações aleatórias com blocos pequenos ou variados com vários segmentos pedindo recursos).
Essa diferença no padrão pode fazer uma enorme diferença no rendimento. E obter um throughput melhor durante uma carga de trabalho real significa que você terá que fazer benchmarking com uma carga de trabalho que corresponda mais à sua carga de trabalho real, para ver qual é o máximo que você pode alcançar nessas condições. Ou você pode influenciar a carga de trabalho real alterando seu design (por exemplo, alinhar blocos em seu aplicativo com o subsistema de sistema de arquivos / disco) ou melhorar o armazenamento em cache e / ou leitura antecipada.
Não há uma maneira simples de corrigir isso sem analisar a aparência da sua carga de trabalho.