Il tuo post non ha informazioni sufficienti per affrontare il motivo per cui il tuo programma non funziona come ti aspetti, ma penso che questa domanda da sola valga una risposta:
Nel tuo primo test, hai fatto una singola richiesta (-n 1
). Nel tuo secondo test, hai eseguito 100 richieste in volo contemporaneamente (-c 100 -n 100
).
Dici che il tuo programma comunica con un database esterno, il tuo programma deve attendere che quella risorsa risponda. Capisci come si comporta il tuo database quando gli invii 1.000 richieste contemporaneamente? Non ne hai fatto menzione. Go può sicuramente gestire molte centinaia di richieste simultanee al secondo senza sudare, ma dipende da cosa stai facendo e da come lo stai facendo. Se il tuo programma non riesce a completare le richieste alla stessa velocità con cui arrivano, si accumuleranno, portando a un'elevata latenza.
Nessuno di quei test di cui ci hai parlato è utile per capire come si comporta il tuo server in circostanze "normali" - che hai detto sarebbero "migliaia di richieste al giorno" (che non è molto specifico, ma intendo dire, "pochi al secondo"). Allora sarebbe molto più interessante guardare -c 4 -n 1000
o qualcosa che esercita il server per un periodo di tempo più lungo, con un numero di richieste simultanee che è più simile a quello che ti aspetti di ricevere.