|
From: Kenneth W. <hap...@gm...> - 2010-05-27 18:31:54
|
I switched from 90 unicorn processes to 60 yesterday and this error went away, but the latency between a config change and that change getting out to all hosts went up to a max of around 5 hours. Each host hits etch server every 10 minutes, at that 10 minute mark 5m load goes up to around 10 -- this is on a dual xeon quad core. Do you have any recoemndations on how many processes or some additional details on how one might go about setting this up for a robust production environment? Currently I have Apache proxy as the entry point to just one server running etch server with three unicorn processes, once with 8 workers serving as my "gui", the other two with 30 workers each serving connections from the client machines. I switched from sqlite to mysql, which does not seem to be the bottle neck anymore, and have the etch config files stored on a four disk sas 15k raid 10. Do I need another server, or two? I only have ~200 client machines connecting to it. Thanks!! On Thu, May 27, 2010 at 9:05 AM, Jason Heiss <jh...@ap...> wrote: > I haven't seen this before, but it looks like you're probably hitting > Ruby's HTTP client default "read_timeout" of 60 seconds. I.e. reading the > response from the etch server took more than 60 seconds so the client gave > up. How's the load on your etch server(s)? How many unicorn (or whatever > Ruby app server you use) processes are you running? What XML parser are you > using on the server, REXML or LibXML? > > You could bump up read_timeout to a larger value, but that may just mask > the problem. If you want to try adjusting read_timeout, around line 141 in > etchclient.rb there's a line that looks like: > > http = Net::HTTP.new(@filesuri.host, @filesuri.port) > > Right below that you can add: > > http.read_timeout = 120 > > Jason > > On May 26, 2010, at 3:15 PM, Kenneth Williams wrote: > > I recently started seeing servers timing out when connecting to etch. The > error I am seeing in the logs on the client is new to me: > > /usr/lib/ruby/site_ruby/1.8/facter/ec2.rb:8: warning: method redefined; > discarding old can_connect? > /usr/lib/ruby/site_ruby/1.8/facter/ec2.rb:16: warning: method redefined; > discarding old metadata > execution expired > /usr/lib/ruby/1.8/net/protocol.rb:133:in `sysread': Connection reset by > peer (Errno::ECONNRESET) > from /usr/lib/ruby/1.8/net/protocol.rb:133:in `rbuf_fill' > from /usr/lib/ruby/1.8/timeout.rb:62:in `timeout' > from /usr/lib/ruby/1.8/timeout.rb:93:in `timeout' > from /usr/lib/ruby/1.8/net/protocol.rb:132:in `rbuf_fill' > from /usr/lib/ruby/1.8/net/protocol.rb:116:in `readuntil' > from /usr/lib/ruby/1.8/net/protocol.rb:126:in `readline' > from /usr/lib/ruby/1.8/net/http.rb:2020:in `read_status_line' > from /usr/lib/ruby/1.8/net/http.rb:2009:in `read_new' > from /usr/lib/ruby/1.8/net/http.rb:1050:in `request' > from > /usr/lib/ruby/gems/1.8/gems/etch-3.15.2/lib/etchclient.rb:438:in > `process_until_done' > from /usr/lib/ruby/gems/1.8/gems/etch-3.15.2/bin/etch:99 > from /usr/bin/etch:19:in `load' > from /usr/bin/etch:19* > > * > Has anyone seen this error before, or know what may be causing it, or some > things I can look for? Thanks! > > ** > -- > Kenneth Williams > > ------------------------------------------------------------------------------ > > _______________________________________________ > etch-users mailing list > etc...@li... > https://lists.sourceforge.net/lists/listinfo/etch-users > > > -- Kenneth Williams |