Ditt inlägg har inte tillräckligt med information för att ta upp varför ditt program inte fungerar som du förväntar dig, men jag tror att denna fråga i sig är värd ett svar:
I ditt första test gjorde du en enda begäran (-n 1
). I ditt andra test gjorde du 100 förfrågningar under flygning samtidigt (-c 100 -n 100
).
Du nämner att ditt program kommunicerar med en extern databas, ditt program måste vänta på att den resursen ska svara. Förstår du hur din databas fungerar när du skickar den 1 000 förfrågningar samtidigt? Du nämnde inget om detta. Go kan säkert hantera många hundratals samtidiga förfrågningar i sekunden utan att svettas, men det beror på vad du gör och hur du gör det. Om ditt program inte kan slutföra förfrågningar lika snabbt som de kommer in, kommer de att staplas upp, vilket leder till en hög latens.
Inget av de testerna du berättade om är användbara för att förstå hur din server fungerar under "normala" omständigheter - vilket du sa skulle vara "tusentals förfrågningar per dag" (vilket inte är särskilt specifikt, men jag menar, "några en sekund"). Då skulle det vara mycket mer intressant att titta på -c 4 -n 1000
, eller något som tränar servern under en längre tid, med ett antal samtidiga förfrågningar som är mer likt vad du förväntar dig att få.