Last active
January 25, 2019 17:22
-
-
Save taf2/683ca2f9cec226de44c8f992b1ca5cc2 to your computer and use it in GitHub Desktop.
using netstat to check for open connections while running requests
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ruby t.rb | |
ruby: 2.1.5, linux: Linux ip-10-55-11-11 4.14.67-66.56.amzn1.x86_64 #1 SMP Tue Sep 4 22:03:21 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | |
(Not all processes could be identified, non-owned process info | |
will not be shown, you would have to be root to see it all.) | |
connections open: 1 | |
(Not all processes could be identified, non-owned process info | |
will not be shown, you would have to be root to see it all.) | |
connections open: 2 | |
(Not all processes could be identified, non-owned process info | |
will not be shown, you would have to be root to see it all.) | |
connections open: 2 | |
(Not all processes could be identified, non-owned process info | |
will not be shown, you would have to be root to see it all.) | |
connections open: 2 | |
(Not all processes could be identified, non-owned process info | |
will not be shown, you would have to be root to see it all.) | |
connections open: 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ruby t.rb | |
ruby: 2.5.3, linux: Linux ip-10-55-11-11 4.14.67-66.56.amzn1.x86_64 #1 SMP Tue Sep 4 22:03:21 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | |
, curb: 0.9.7, curl: 7.53.1 | |
(Not all processes could be identified, non-owned process info | |
will not be shown, you would have to be root to see it all.) | |
connections open: 0 | |
(Not all processes could be identified, non-owned process info | |
will not be shown, you would have to be root to see it all.) | |
connections open: 12 | |
tcp 0 0 10.55.11.11:36764 216.58.217.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38074 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38532 216.58.217.163:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38180 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:36654 216.58.217.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38168 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38176 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:42950 172.217.15.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:59502 172.217.7.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38184 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:58770 172.217.15.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38172 151.101.249.178:80 ESTABLISHED 25162/ruby | |
(Not all processes could be identified, non-owned process info | |
will not be shown, you would have to be root to see it all.) | |
connections open: 20 | |
tcp 0 0 10.55.11.11:43066 172.217.15.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:36764 216.58.217.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38280 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38074 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38532 216.58.217.163:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:59614 172.217.7.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38180 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38284 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:36654 216.58.217.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38168 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38176 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:49224 216.58.217.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:42950 172.217.15.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:59502 172.217.7.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38636 216.58.217.163:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38184 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:58770 172.217.15.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38288 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38276 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38172 151.101.249.178:80 ESTABLISHED 25162/ruby | |
(Not all processes could be identified, non-owned process info | |
will not be shown, you would have to be root to see it all.) | |
connections open: 33 | |
tcp 0 0 10.55.11.11:49112 172.217.5.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:43066 172.217.15.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:36764 216.58.217.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38418 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:58994 172.217.15.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38280 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38074 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38532 216.58.217.163:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38292 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38426 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38430 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:59614 172.217.7.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38180 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38284 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38400 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:59764 172.217.7.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:36654 216.58.217.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:57914 216.58.218.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38168 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38176 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:49224 216.58.217.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:42950 172.217.15.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:43204 172.217.15.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:59502 172.217.7.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38636 216.58.217.163:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38184 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:58770 172.217.15.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38288 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38422 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:51086 172.217.8.3:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38276 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38172 151.101.249.178:80 ESTABLISHED 25162/ruby | |
udp 0 0 10.55.11.11:56317 10.55.0.2:53 ESTABLISHED 25162/ruby | |
(Not all processes could be identified, non-owned process info | |
will not be shown, you would have to be root to see it all.) | |
connections open: 40 | |
tcp 0 0 10.55.11.11:49112 172.217.5.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:43066 172.217.15.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:36764 216.58.217.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38418 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:58994 172.217.15.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38280 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:49218 172.217.5.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38074 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:49488 216.58.217.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38532 216.58.217.163:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38292 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38426 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38430 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:59614 172.217.7.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38536 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38180 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38284 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38400 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:59764 172.217.7.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:36654 216.58.217.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:57914 216.58.218.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38168 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38176 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:49224 216.58.217.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:42950 172.217.15.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:59870 172.217.7.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:57930 216.58.218.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38524 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:43204 172.217.15.67:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:59502 172.217.7.227:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38528 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38636 216.58.217.163:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38184 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:58770 172.217.15.99:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38288 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38422 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:51086 172.217.8.3:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38276 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38540 151.101.249.178:80 ESTABLISHED 25162/ruby | |
tcp 0 0 10.55.11.11:38172 151.101.249.178:80 ESTABLISHED 25162/ruby | |
^CTraceback (most recent call last): | |
2: from t.rb:50:in `<main>' | |
1: from t.rb:50:in `each' | |
t.rb:50:in `join': Interrupt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Run this in the curb source folder. | |
$TOPDIR = File.expand_path(File.join(File.dirname(__FILE__), '.')) | |
$EXTDIR = File.join($TOPDIR, 'ext') | |
$LIBDIR = File.join($TOPDIR, 'lib') | |
$:.unshift($LIBDIR) | |
$:.unshift($EXTDIR) | |
require 'curb' | |
require 'thread' | |
$running = true | |
puts "ruby: #{RUBY_VERSION}, linux: #{`uname -a`}, curb: #{Curl::CURB_VERSION}, curl: #{Curl::VERSION}" | |
pid = Process.pid | |
t1 = Thread.new do | |
1000.times do | |
responses = {} | |
requests = ["http://www.google.co.uk/", "http://www.ruby-lang.org/"] | |
m = Curl::Multi.new | |
# add a few easy handles | |
requests.each do |url| | |
responses[url] = "" | |
c = Curl::Easy.new(url) do|curl| | |
curl.follow_location = true | |
curl.on_body{|data| responses[url] << data; data.size } | |
curl.on_success {|easy| } | |
end | |
m.add(c) | |
end | |
m.perform do | |
end | |
end | |
puts "done" | |
$running = false | |
end | |
t2 = Thread.new do | |
while $running | |
lines = `netstat -anp | grep #{pid}` | |
connections_open = lines.split("\n").size | |
puts "connections open: #{connections_open}" | |
if connections_open > 2 | |
puts lines | |
end | |
sleep 1 | |
end | |
end | |
[t1,t2].each(&:join) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment