Вашата публикация няма достатъчно информация, за да отговори на това защо програмата ви не работи така, както очаквате, но мисля, че само този въпрос си заслужава отговора:
В първия си тест направихте една единствена заявка (-n 1
). Във втория си тест направихте 100 заявки по време на полет едновременно (-c 100 -n 100
).
Споменавате, че вашата програма комуникира с външна база данни, вашата програма трябва да изчака този ресурс да отговори. Разбирате ли как се представя вашата база данни, когато й изпратите 1000 заявки едновременно? Не споменахте това. Go със сигурност може да се справи със стотици едновременни заявки в секунда, без да се потите, но зависи какво правите и как го правите. Ако програмата ви не може да изпълнява заявките толкова бързо, колкото постъпват, те ще се натрупват, което води до голяма латентност.
Нито един от тези тестове, за които ни казахте, не е полезен, за да разберем как се представя сървърът ви при „нормални“ обстоятелства – които според вас биха били „хиляди заявки на ден“ (което не е много конкретно, но ще имам предвид, "няколко в секунда"). Тогава би било много по-интересно да разгледаме -c 4 -n 1000
, или нещо, което упражнява сървъра за по-дълъг период от време, с редица едновременни заявки, което е по-скоро това, което очаквате да получите.