From 7bf545f5e52aebac43e54a2523c949e07ba074c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Senart?= Date: Wed, 14 Aug 2013 22:27:51 +0200 Subject: [PATCH] Increase in-process max open files limit --- main.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/main.go b/main.go index 79ea232..1a65990 100644 --- a/main.go +++ b/main.go @@ -8,6 +8,7 @@ import ( "net/http" "os" "runtime" + "syscall" "time" ) @@ -32,6 +33,10 @@ func main() { return } + if err := increaseResourceLimits(); err != nil { + log.Fatalf("Couldn't increase resource limits: %s", err) + } + // Validate rate argument if *rate == 0 { log.Fatal("rate can't be zero") @@ -102,3 +107,11 @@ func attack(targets Targets, ordering string, rate uint, duration time.Duration, rep.Add(<-responses) } } + +func increaseResourceLimits() error { + limit := &syscall.Rlimit{Cur: syscall.RLIM_INFINITY} + if err := syscall.Setrlimit(syscall.RLIMIT_NOFILE, limit); err != nil { + return err + } + return nil +}