Re: no room in free client client list
Status: Alpha
Brought to you by:
coroberti
|
From: Val S. <va...@nv...> - 2010-07-19 03:26:46
|
Vincent,
So the message means that your server cannot keep up with this rate (800
req/sec). To be more precise, you specified 8192 clients with the
request rate of 800/sec. When the request rate is fixed, the
curl-loader generates requests regardless of whether the server responds
in time or not. So if the server does not keep up, it does not respond
in time to free a client for the new request. The curl-loader uses
another client to send a request at the given rate. Eventually it runs
out of clients and this is what you see: all the clients are tied up
waiting for the server to respond. The message you see warns you that
the request rate you want is not being sustained.
You have two options to fix the situation. The most obvious is to lower
the request rate: your server does not keep up. This is a load test
after all :-). The other approach is drop the REQ_RATE tag. The curl
loader then will wait for the server to respond before sending the next
request, the server will pace the exchange. Depending on what you want
to model, choose the scenario.
/Val
--- Original message ---
From: Vincent Blondel
Sent: 7/18/2010 1:50 PM
>
> On 18 Jul 2010, at 22:34, Val Shkolnikov wrote:
>
>> Vincent hi,
>> does your config file use the fixed request rate, ie. tag REQ_RATE =
>> <number>
>> ?
>> /Val
>>
>
> yes indeed, hereunder you can find the global section of the last file
> generated
>
> ########### GENERAL SECTION ##################
> BATCH_NAME=BlueCoat-ProxySG
> CLIENTS_NUM_START=10
> CLIENTS_RAMPUP_INC=10
> CLIENTS_NUM_MAX=8192
> REQ_RATE=800
> INTERFACE=eth0
> NETMASK=16
> IP_ADDR_MIN=10.99.0.1
> IP_ADDR_MAX=10.99.255.253
> USER_AGENT="Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us)
> AppleWebKit/531.22.7 (KHTML, like Gecko) Version/4.0.5 Safari/531.22.7"
> CYCLES_NUM=-1
> URLS_NUM=2359
>
> ########### URLs SECTION #######################
>
>
>>
>> ----- Original Message ----
>>> From: Vincent Blondel <vin...@ma...
>>> <mailto:vin...@ma...>>
>>> To: cur...@li...
>>> <mailto:cur...@li...>
>>> Sent: Sun, July 18, 2010 4:44:38 AM
>>> Subject: no room in free client client list
>>>
>>>
>>> Hello,
>>>
>>> I am working on a project to replace our current squid
>>> infrastructure by a
>>> brand new bluecoat platform.
>>>
>>> For this I developed a little script to automatically generate some
>>> curl-loader configuration file.
>>>
>>> this is running pretty well, generating some thousands of urls
>>> simulating
>>> thousands of users surfing on the net but I get a little error
>>> message that
>>> continuously comes back.
>>>
>>> put_free_client - error: no room in free client client list.
>>> mperform_hyper error: cannot free a client.
>>>
>>> I do not know what it is exactly and how I can solve it ?
>>>
>>> details of my env
>>> *******************
>>>
>>> Vmware Fusion 3.1.0 machine (Single Core/512Mb RAM) on Mac OSX
>>> 10.6.4 (Dual
>>> Core/2048Mb RAM)
>>>
>>> debian:/var/tmp# uname -a
>>> Linux debian 2.6.26-2-amd64 #1 SMP Sun Jun 20 20:16:30 UTC 2010
>>> x86_64
>>> GNU/Linux
>>>
>>> net.ipv4.tcp_tw_recycle=1
>>> net.ipv4.tcp_tw_reuse=1
>>> fs.file-max=102286
>>> net.core.rmem_max=8388608
>>> net.core.wmem_max=8388608
>>> net.core.rmem_default=65536
>>> net.core.wmem_default=65536
>>> net.ipv4.tcp_mem=8388608 8388608 8388608
>>> net.ipv4.tcp_rmem=4096 87380 8388608
>>> net.ipv4.tcp_wmem=4096 65536 8388608
>>>
>>> debian:/var/tmp# ulimit -a
>>> core file size (blocks, -c) 0
>>> data seg size (kbytes, -d) unlimited
>>> scheduling priority (-e) 0
>>> file size (blocks, -f) unlimited
>>> pending signals (-i) 4096
>>> max locked memory (kbytes, -l) 32
>>> max memory size (kbytes, -m) unlimited
>>> open files (-n) 19999
>>> pipe size (512 bytes, -p) 8
>>> POSIX message queues (bytes, -q) 819200
>>> real-time priority (-r) 0
>>> stack size (kbytes, -s) 8192
>>> cpu time (seconds, -t) unlimited
>>> max user processes (-u) 4096
>>> virtual memory (kbytes, -v) unlimited
>>> file locks (-x) unlimited
>>>
>>> my script
>>> **********
>>>
>>> wget \
>>> --cache=off \
>>> -U "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us)
>>> AppleWebKit/531.22.7 (KHTML, like Gecko) Version/4.0.5
>>> Safari/531.22.7" \
>>> --glob=off \
>>> --tries=3 \
>>> -x -p -H \
>>> -i urls 2>&1 | \
>>> awk -F'--' 'BEGIN{tmp=0}{if ($0 ~ /^--2010-.*-- http/ && $0 !~
>>> /robots/)
>>> {blank=gsub(/ /,""); if (tmp==2) tmp=0; tmp+=1 ; print length($0) "
>>> " tmp " "
>>> $3}}' | sort -rn -k 1 | sort -n -k 2 | \
>>> awk 'BEGIN {
>>> fetch=0
>>> gen=gen "########### GENERAL SECTION ##################\n"
>>> gen=gen "BATCH_NAME=BlueCoat-ProxySG\n"
>>> gen=gen "CLIENTS_NUM_START=10\n"
>>> gen=gen "CLIENTS_RAMPUP_INC=10\n"
>>> gen=gen "CLIENTS_NUM_MAX=8192\n"
>>> gen=gen "REQ_RATE=800\n"
>>> gen=gen "INTERFACE=eth0\n"
>>> gen=gen "NETMASK=16\n"
>>> gen=gen "IP_ADDR_MIN=10.99.0.2\n"
>>> gen=gen "IP_ADDR_MAX=10.99.255.253\n"
>>> gen=gen "USER_AGENT=\"Mozilla/5.0 (Macintosh; U; Intel Mac OS X
>>> 10_6_3;
>>> en-us) AppleWebKit/531.22.7 (KHTML, like Gecko) Version/4.0.5
>>> Safari/531.22.7\"\n"
>>> gen=gen "CYCLES_NUM=-1"
>>> print gen
>>> }{
>>> url+=1
>>> urls=urls "URL=" $3 "\n"
>>> if (fetch==100) fetch=0 ; fetch+=1
>>> urls=urls "URL_SHORT_NAME=\"" url "\"\n"
>>> urls=urls "FETCH_PROBABILITY=" fetch "\n"
>>> urls=urls "REQUEST_TYPE=GET\n"
>>> urls=urls "HEADER=\"Accept:
>>> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\"\n"
>>> urls=urls "HEADER=\"Accept-Language: en-us,en;q=0.5\"\n"
>>> urls=urls "HEADER=\"Accept-Encoding: gzip,deflate\"\n"
>>> urls=urls "HEADER=\"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\"\n"
>>> urls=urls "HEADER=\"Keep-Alive: 115\"\n"
>>> urls=urls "HEADER=\"Connection: keep-alive\"\n"
>>> urls=urls "TIMER_URL_COMPLETION=3000\n"
>>> urls=urls "TIMER_AFTER_URL_SLEEP=0-2000\n"
>>> urls=urls "RANDOM_SEED=10\n\n"
>>> } END {
>>> print "URLS_NUM=" url "\n\n########### URLs SECTION
>>> #######################\n\n" urls
>>> }' 2>&1 | tee ProxySG.conf
>>>
>>> ls -l |egrep -v 'curl-loader' |awk '$0 ~ /^d/ {print "rm -rf " $8}'
>>> |sh
>>> curl-loader -x 10.30.30.16:8080 -f ProxySG.conf
>>>
>>>
>>> many thks for your help.
>>>
>>> Vincent
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> This SF.net <http://SF.net> email is sponsored by Sprint
>>> What will you do first with EVO, the first 4G phone?
>>> Visit sprint.com/first <http://sprint.com/first> --
>>> http://p.sf.net/sfu/sprint-com-first
>>> _______________________________________________
>>> curl-loader-devel mailing list
>>> cur...@li...
>>> <mailto:cur...@li...>
>>> https://lists.sourceforge.net/lists/listinfo/curl-loader-devel
>>>
>>
>> ------------------------------------------------------------------------------
>> This SF.net <http://SF.net> email is sponsored by Sprint
>> What will you do first with EVO, the first 4G phone?
>> Visit sprint.com/first <http://sprint.com/first> --
>> http://p.sf.net/sfu/sprint-com-first
>> _______________________________________________
>> curl-loader-devel mailing list
>> cur...@li...
>> <mailto:cur...@li...>
>> https://lists.sourceforge.net/lists/listinfo/curl-loader-devel
>
|