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 > |