[Mongrel] proxy errors with apache2.2.3 + mongrels

Robert Mela rob at robmela.com
Wed Oct 17 12:27:00 EDT 2007


Another avenue to consider is everything in order on the systems 
involved?   If Rails is chewing up lots of RAM you could be swapping... 
here's some diagnostics I usually run ( caveat: I'm not a sysadmin, nor 
do I play one on TV ):

sar -rB 1 0
sar 1 0
sar -n EDEV 1 0 (network IO incl. errors)
sar -d 1 0 ( look for excessive block device IO )?

What sorts of things do other folks on this list look at?

Jacobo Garcia wrote:
> mongrel_cluster.yml:
>
> ---
> port: "21000"
> docroot: /var/www/mysite/current/public/
> cwd: /var/www/mysite/current
> pid_file: /var/www/mysite/tmp/pids/mongrel.pid
> log_file: /var/www/mysite/current/log/mongrel.log
> environment: production
> servers: 14
> user: deploys
> group: www-data
>
>
> proxy balancer:
> ServerName my.ip.add.ress
> NameVirtualHost *:80
> <Proxy balancer://mongrel_cluster>
> BalancerMember http://bomber:21000 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21001 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21002 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21003 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21004 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21005 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21006 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21007 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21008 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21009 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21010 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21011 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21012 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21013 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21014 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21015 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21016 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21017 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21018 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21019 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21020 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21021 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21022 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21023 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21024 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21025 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21026 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21027 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21028 keepalive=on max=1 retry=30
> BalancerMember http://bomber:21029 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21000 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21001 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21002 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21003 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21004 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21005 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21006 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21007 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21008 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21009 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21010 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21011 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21012 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21013 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21014 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21015 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21016 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21017 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21018 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21019 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21020 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21021 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21022 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21023 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21024 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21025 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21026 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21027 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21028 keepalive=on max=1 retry=30
> BalancerMember http://kgb:21029 keepalive=on max=1 retry=30
> </Proxy>
>
> I've been added the log parameters you've suggested to apache, i'll put 
> em in a future messages.
>
> thanks
>
> Robert Mela wrote:
>   
>> "Error reading status line" means Mongrel closed the socket without
>> sending any content back.
>>
>> IT WOULD BE REALLY HELPFUL IF MONGREL WOULD SEND BACK "503 Server Busy"
>> WHEN IT'S BUSY.   That way we would know immediately whether the
>> num_processors limit had been reached or not.   HUGE TIMESAVER FOR
>> MONGREL USERS!
>>
>> ====
>>
>> Next...
>>
>> Seeing your load balancer config, and mongrel_cluster.yml would help
>> narrow things down & simplify the discussion.
>>
>> Also, add this to your log file config:
>>
>> %D ( request duration -)
>> %{BALANCER_WORKER_NAME}e
>>
>>
>> Request duration, in combination with start time and
>> balancer_worker_name, is useful in finding cases where requests to a
>> back end app server overlap.  These numbers will also allow you to
>> construct a histogram of concurrent requests each second.
>>
>> thanks.
>>     
>
>   

-------------- next part --------------
A non-text attachment was scrubbed...
Name: rob.vcf
Type: text/x-vcard
Size: 116 bytes
Desc: not available
Url : http://rubyforge.org/pipermail/mongrel-users/attachments/20071017/f4c37bf9/attachment.vcf 


More information about the Mongrel-users mailing list