Now i gotto blush since it was my problem. Don't know if this relates to 
my main problem (only one child left and not producing any new ones), 
but problem was i had multiple processor #5006 #5006 defined (for every 
vhost that is). 7 for user 5006. that's why i had 7 "missing" processors.
crap. this wasn't nice.
We have php frontend to manage confs and we messed up over there.


Janno Sannik wrote:
> Hmm....
>
> Like said after 1st request server shows 7 busy processors (actually 
> none busy, and one idle)
> [Tue Jan 30 17:12:07 2007] [warn] (peruser: pid=11765 uid=5006 
> child=120) child_main(): total_processors = 8, max_processors = 100
> [Tue Jan 30 17:12:07 2007] [warn] (peruser: pid=11765 uid=5006 
> child=120) child_main(): idle_processors = 1, min_free_processors = 3
>
> i sent 20 concurrent reqs on user 5006 and it showed (starting from 1st 
> request)
> [Tue Jan 30 17:12:07 2007] [warn] (peruser: pid=11765 uid=5006 
> child=120) child_main(): total_processors = 9, max_processors = 100
> [Tue Jan 30 17:12:07 2007] [warn] (peruser: pid=11765 uid=5006 
> child=120) child_main(): idle_processors = 1, min_free_processors = 3
> [Tue Jan 30 17:12:07 2007] [warn] (peruser: pid=11765 uid=5006 
> child=120) child_main(): total_processors = 10, max_processors = 100
> [Tue Jan 30 17:12:07 2007] [warn] (peruser: pid=11765 uid=5006 
> child=120) child_main(): idle_processors = 1, min_free_processors = 3
> ....... plus one to total_processors with every request. ......
> [Tue Jan 30 17:12:07 2007] [warn] (peruser: pid=11765 uid=5006 
> child=120) child_main(): total_processors = 27, max_processors = 100
> [Tue Jan 30 17:12:07 2007] [warn] (peruser: pid=11765 uid=5006 
> child=120) child_main(): idle_processors = 1, min_free_processors = 3
>
> i let it calm for a sec and
> now i sent one request to user 5006:
> [Tue Jan 30 17:12:23 2007] [warn] (peruser: pid=11791 uid=5006 
> child=227) child_main(): total_processors = 28, max_processors = 100
> [Tue Jan 30 17:12:23 2007] [warn] (peruser: pid=11791 uid=5006 
> child=227) child_main(): idle_processors = 21, min_free_processors = 3
> And still missing 7 processors...like before (actually none busy, 21 idle)
>
>
> Janno Sannik wrote:
>   
>> Jup you were right!
>>
>> user #5006
>> It says:
>> [EMAIL PROTECTED] httpd.p2]# tail -f error_log | grep "total_processors = 
>> \|idle_processors =" | grep uid=5006
>> [Tue Jan 30 16:13:55 2007] [warn] (peruser: pid=32618 uid=5006 
>> child=120) child_main(): total_processors = 8, max_processors = 100
>> [Tue Jan 30 16:13:55 2007] [warn] (peruser: pid=32618 uid=5006 
>> child=120) child_main(): idle_processors = 1, min_free_processors = 3
>> [Tue Jan 30 16:13:55 2007] [warn] (peruser: pid=32618 uid=5006 
>> child=120) child_main(): total_processors = 8, max_processors = 100
>> [Tue Jan 30 16:13:55 2007] [warn] (peruser: pid=32618 uid=5006 
>> child=120) child_main(): idle_processors = 1, min_free_processors = 3
>> [Tue Jan 30 16:13:55 2007] [warn] (peruser: pid=32618 uid=5006 
>> child=120) child_main(): total_processors = 8, max_processors = 100
>> [Tue Jan 30 16:13:55 2007] [warn] (peruser: pid=32618 uid=5006 
>> child=120) child_main(): idle_processors = 1, min_free_processors = 3
>> [Tue Jan 30 16:13:55 2007] [warn] (peruser: pid=32618 uid=5006 
>> child=120) child_main(): total_processors = 8, max_processors = 100
>> [Tue Jan 30 16:13:55 2007] [warn] (peruser: pid=32618 uid=5006 
>> child=120) child_main(): idle_processors = 1, min_free_processors = 3
>>
>> my top (filter only user #5006):
>>
>> top - 16:15:01 up 72 days, 20:24,  4 users,  load average: 4.46, 4.21, 
>> 3.69
>> Tasks: 522 total,   2 running, 520 sleeping,   0 stopped,   0 zombie
>> Cpu(s): 18.0% us, 24.8% sy, 14.6% ni, 23.8% id, 18.0% wa,  0.5% hi,  
>> 0.5% si
>> Mem:   2005680k total,  1949548k used,    56132k free,    46952k buffers
>> Swap:  3060348k total,   372816k used,  2687532k free,   861344k cached
>>
>>  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>> 32618 5006      34  19 36252  15m 4772 S  0.0  0.8   0:02.02 httpd.p2
>>
>> How apache keeps track of them and how it get's out of sync?
>>
>>
>> Now....thing are really weird. I've restarted apache and apache comes 
>> up and total_processors is allready  = 10 and idle = 3. If i made 
>> first requests to apache.
>>
>> [Tue Jan 30 16:30:53 2007] [warn] (peruser: pid=17487 uid=5006 
>> child=186) child_main(): total_processors = 10, max_processors = 100
>> [Tue Jan 30 16:30:53 2007] [warn] (peruser: pid=17487 uid=5006 
>> child=186) child_main(): idle_processors = 3, min_free_processors = 3
>>
>> top shows only 4 procs up'n running.
>>
>> [EMAIL PROTECTED] ~]# top
>> top - 16:31:17 up 72 days, 20:40,  5 users,  load average: 2.16, 2.74, 
>> 3.32
>> Tasks: 579 total,   2 running, 577 sleeping,   0 stopped,   0 zombie
>> Cpu(s):  3.9% us,  2.0% sy,  6.3% ni, 79.0% id,  7.8% wa,  0.5% hi,  
>> 0.5% si
>> Mem:   2005680k total,  1953908k used,    51772k free,    70876k buffers
>> Swap:  3060348k total,   372744k used,  2687604k free,   908656k cached
>>
>>  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>> 17026 5006      34  19 32136  10m 1448 S  0.0  0.5   0:00.00 
>> /usr/sbin/httpd.p2 -f /etc/httpd.p2/conf/httpd.conf
>> 17034 5006      34  19 32136 9.8m  920 S  0.0  0.5   0:00.00 
>> /usr/sbin/httpd.p2 -f /etc/httpd.p2/conf/httpd.conf
>> 17487 5006      34  19 32136  10m 1456 S  0.0  0.5   0:00.00 
>> /usr/sbin/httpd.p2 -f /etc/httpd.p2/conf/httpd.conf
>> 18178 5006      34  19 32136 9.8m  920 S  0.0  0.5   0:00.00 
>> /usr/sbin/httpd.p2 -f /etc/httpd.p2/conf/httpd.conf
>>
>>
>>
>> Now remember a while ago ( SUBJECT: [peruser] Segmentation fault DATE: 
>> 06.08.2006)  I had connections segfaulting. I got a patch from you 
>> that should close the broken connection without making apache to 
>> segfault. After the patch I got "Bad file descriptor: 
>> apr_socket_opt_set: (TCP_NODELAY)" error on apache log so  I modified 
>> it to return instead of continue.
>>
>> Is this OKay doing? I've added the patch.
>>
>>
>>
>> Stefan Seufert wrote:
>>     
>>> Hi,
>>>
>>> can you try to find messages of the following format in your logs?
>>>
>>> CHECKING IF WE SHOULD CLONE A CHILD...
>>> total_processors = %d, max_processors = %d
>>> idle_processors = %d, min_free_processors = %d
>>>
>>> Startup of new children is based on these values. Wither these values
>>> get incorrect over time (e.g. the server still thinks that he has free
>>> idle processors when he in fact doesn't) or this section is never called
>>> (in which case these messages won't appear at all).
>>>
>>> (This problem is another argument for having a handler to display the
>>> contents of the child_info_table. I'll try to find some free time in
>>> order to code one).
>>>
>>> Stefan
>>>
>>>   
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Peruser mailing list
>>> [email protected]
>>> http://www.telana.com/mailman/listinfo/peruser
>>>   
>>>       
>> ------------------------------------------------------------------------
>>
>> --- httpd-2.2.2/server/mpm/experimental/peruser/peruser.c    2006-11-27 
>> 10:09:51.000000000 +0200
>> +++ httpd-2.2.2-new/server/mpm/experimental/peruser/peruser.c        
>> 2006-11-27 10:24:49.000000000 +0200
>> @@ -931,6 +931,13 @@
>>      current_conn = ap_run_create_connection(p, ap_server_conf, sock, 
>> conn_id,
>>                                              sbh, bucket_alloc);
>>      _DBG("Looking up the right vhost");
>> +    if (current_conn) ap_update_vhost_given_ip(current_conn);
>> +    else {
>> +        _DBG("Crap. We lost a connection. Returning....");
>> +        ap_log_error(APLOG_MARK, APLOG_ERR, 0,NULL, "Creating a connection 
>> failed. Returning...");
>> +    return;
>> +    }
>> +                        
>>      ap_update_vhost_given_ip(current_conn);
>>      _DBG("Base server is %s, name based vhosts %s", 
>> current_conn->base_server->server_hostname,
>>                  current_conn->vhost_lookup_data ? "on" : "off");
>>   
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Peruser mailing list
>> [email protected]
>> http://www.telana.com/mailman/listinfo/peruser
>>   
>>     
>
> _______________________________________________
> Peruser mailing list
> [email protected]
> http://www.telana.com/mailman/listinfo/peruser
>
>   

_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser

Reply via email to