Sua postagem não tem informações suficientes para explicar por que seu programa não está funcionando como você espera, mas acho que essa pergunta por si só vale uma resposta:
Em seu primeiro teste, você fez uma única solicitação (
-n 1
). Em seu segundo teste, você fez 100 solicitações em andamento simultaneamente (-c 100 -n 100
). Você menciona que seu programa se comunica com um banco de dados externo, seu programa precisa esperar que esse recurso responda. Você entende o desempenho do seu banco de dados quando você envia 1.000 solicitações simultaneamente? Você não fez menção a isso. Go certamente pode lidar com muitas centenas de solicitações simultâneas por segundo sem suar a camisa, mas depende do que você está fazendo e de como está fazendo. Se o seu programa não puder concluir as solicitações tão rápido quanto elas estão chegando, elas se acumularão, levando a uma alta latência.
Nenhum desses testes que você nos contou são úteis para entender como seu servidor funciona em circunstâncias "normais" - que você disse que seriam "milhares de solicitações por dia" (o que não é muito específico, mas vou entender que, "alguns por segundo"). Então seria muito mais interessante olhar para
-c 4 -n 1000
, ou algo que exercite o servidor por um longo período de tempo, com um número de solicitações simultâneas mais parecidas com o que você espera obter.