Я пытаюсь провести стресс-тест моего сервера golang net / http с k6 . Когда я использую 2048 виртуальных пользователей для подключения к своему серверу aws ubuntu aws, k6 выдает «сброс соединения по пиру». Расследуя в Интернете, я обнаружил, что, вероятно, проблема заключается в очереди.
Читая некоторые вопросы о стековом потоке, я попытался изменить переменную SOMAXCONN из файла sysctl.conf. После изменения его с 128 на 1024, когда я запускаю свою основную программу go:
package main
import (
"fmt"
"log"
"net/http"
"strings"
"golang.org/x/sys/unix"
)
func main() {
http.HandleFunc("/some_path", handler)
fmt.Println("SOMAXCONN:", unix.SOMAXCONN)
log.Fatal(http.ListenAndServe(":8888", nil))
}
У меня есть следующий вывод терминала:
SOMAXCONN: 128
Когда на самом деле должно быть напечатано:
SOMAXCONN: 1024
Буду признателен, если кто-нибудь сможет объяснить мне, почему GOLANG обнаруживает 128, а не 1024.