From dace50628c5acc0aad94538eb6d3bd31e055d941 Mon Sep 17 00:00:00 2001
From: Sam Roberts <vieuxtech@gmail.com>
Date: Tue, 28 Jun 2011 17:48:21 -0700
Subject: [PATCH] Utility to find how many TCP connections can be made.

---
 test/find-connect-limit | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100755 test/find-connect-limit

diff --git a/test/find-connect-limit b/test/find-connect-limit
new file mode 100755
index 0000000..ad0c3f5
--- /dev/null
+++ b/test/find-connect-limit
@@ -0,0 +1,32 @@
+#!/usr/bin/env lua
+--[[
+Find out how many TCP connections we can make.
+
+Use ulimit to increase the max number of descriptors:
+
+ulimit -n 10000
+ulimit -n
+
+You'll probably need to be root to do this.
+]]
+
+require "socket"
+
+host = arg[1] or "google.com"
+port = arg[2] or 80
+
+connections = {}
+
+repeat
+	c = assert(socket.connect(hostip or host, 80))
+	table.insert(connections, c)
+
+        if not hostip then
+            hostip = c:getpeername()
+            print("resolved", host, "to", hostip)
+        end
+
+	print("connection #", #connections, c, "fd", c:getfd())
+
+until false
+