HDDs relativamente recentes podem fazer 150MB / s (1.2Gbps) em leituras seqüenciais (e gravações), mas se você tiver várias leituras / gravações paralelas (mesmo que cada leitura ainda seja sequencial), a velocidade de transferência cairá facilmente 10 ×.
Portanto, 20MB / s (160Mbps) parece uma limitação do seu HDD .
Talvez o outro servidor tenha um SSD, ou tenha mais memória, e tenha esses arquivos em cache, mas este tem algo errado no lado do cache (provavelmente pouca memória, mas talvez configurações de kernel mal otimizadas).
De qualquer forma, isso provavelmente soaria como algo fora do controle do nginx.
Você pode tentar aumentar seus buffers de memória nginx em várias dobras, na tentativa de tornar as leituras um pouco mais sequenciais, mas se você tiver apenas um disco rígido baseado em platter (por exemplo, no máximo 150MB / s em uma única leitura sequencial , queda de várias dobras em múltiplas leituras), e nenhum cache é utilizado devido a pouca memória, então você não será capaz de empurrar para qualquer lugar perto de 1Gbps (128MB / s).
Se você realmente precisa de uma taxa de transferência de 1 Gbps: se os arquivos mais comuns puderem ser armazenados em cache na memória, obtenha mais memória; mais, pegue um SSD rápido.