From: Roger Pack Date: 2010-07-01T00:32:26+09:00 Subject: Re: Networking: select() blocks for seconds (> timeout) > - for 1 hour all went fine again; then the cycle repeats > > This pattern can only indicate (in my view) the garbage collector, which > Ruby seems to run for 10 seconds several times in the same minute or so. You can test your hypothesis by running it against jruby with a "constant time" GC. If you're using 1.9 you could also test your hypothesis by using the GC::Profiler http://en.wikibooks.org/wiki/Ruby_Programming/Reference/Objects/IO/GC/Profiler Also the "exact" 5 second delays makes me wonder if it isn't a DNS lookup. Try your code with BasicSocket.do_not_reverse_lookup=true -r -- Posted via http://www.ruby-forum.com/.