//+build linux package nnet import ( "github.com/valyala/tcplisten" "net" "syscall" ) var cfg = tcplisten.Config{ ReusePort: true, DeferAccept: true, FastOpen: true, Backlog: 0, } func Listen(addr string) (net.Listener, error) { err := setMaxConn() if err != nil { return nil, err } return cfg.NewListener("tcp4", addr) } func setMaxConn() error { var RLimit syscall.Rlimit err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &RLimit) if err != nil { return err } RLimit.Cur = 800000 RLimit.Max = 800000 err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &RLimit) if err != nil { return err } err = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &RLimit) if err != nil { return err } return nil }