From: Hangbin L. <liu...@gm...> - 2013-07-01 08:31:36
|
Hi Jan, The problem is the connection won't fail, but only need too much time. For example: On a guest: on cpu process, 2G memory # for i in `seq 4000`; do ./ns-tcpclient -b -f 4 -S 10.66.87.216 -p 9999; echo "The $i connection : `date`"; done The 1 connection : Mon Jul 1 04:03:05 EDT 2013 The 2 connection : Mon Jul 1 04:03:05 EDT 2013 The 3 connection : Mon Jul 1 04:03:05 EDT 2013 The 4 connection : Mon Jul 1 04:03:06 EDT 2013 <snip> The 19 connection : Mon Jul 1 04:04:46 EDT 2013 <snip> The 30 connection : Mon Jul 1 04:06:34 EDT 2013 The 31 connection : Mon Jul 1 04:07:52 EDT 2013 <snip> The 45 connection : Mon Jul 1 04:10:11 EDT 2013 <snip> The 50 connection : Mon Jul 1 04:12:05 EDT 2013 You can saw we took 9 minutes to set up 50 tcp connections. But on a powerful physical machine, The 1 connection : Mon Jul 1 04:21:08 EDT 2013 The 2 connection : Mon Jul 1 04:21:08 EDT 2013 <snip> The 499 connection : Mon Jul 1 04:24:35 EDT 2013 The 500 connection : Mon Jul 1 04:24:35 EDT 2013 It only use 3 minutest to set up 500 connections. So we can't just continue on success, but should check the time after some connections. Thanks and Best regards Hangbin Liu 2013/6/28 Jan Stancek <jst...@re...>: > > > ----- Original Message ----- >> From: "Hangbin Liu" <liu...@gm...> >> To: "Jan Stancek" <jst...@re...> >> Sent: Friday, 28 June, 2013 11:30:02 AM >> Subject: Re: [LTP] [PATCH] networking/stress/tcp: make sure we will kill the test case after timeout >> > > Hangbin, > > just fyi, your replies are not going to list. > >> Opps, My mistake. Didn't find there is a sleep 1... >> >> I will send another patch for this issue. How about check >> $connection_num every 100 times. like > > I'd go with new variable to count each attempt, not just successful ones. > > Or something like this (on top your patch): > Skip the sleep and continue on success, if we hit issue sleep and retry as watchdog allows. > > diff --git a/testcases/network/stress/tcp/multi-sameport/tcp4-multi-sameport01 b/testcases/network/stress/tcp/multi-sameport/tcp4-multi-sameport01 > index 206a0d1..649c60b 100644 > --- a/testcases/network/stress/tcp/multi-sameport/tcp4-multi-sameport01 > +++ b/testcases/network/stress/tcp/multi-sameport/tcp4-multi-sameport01 > @@ -351,9 +351,10 @@ while true ; do > fi > # Failed to start a client > tst_resm TINFO "$connection_num seems the maximum number of the client" > - break > + else > + connection_num=`expr $connection_num + 1` > + continue; > fi > - connection_num=`expr $connection_num + 1` > fi > > current_epoc=`date +%s` > > Regards, > Jan > >> >> --- a/testcases/network/stress/tcp/multi-sameport/tcp4-multi-sameport01 >> +++ b/testcases/network/stress/tcp/multi-sameport/tcp4-multi-sameport01 >> @@ -340,7 +340,7 @@ connection_num=0 >> start_epoc=`date +%s` >> while true ; do >> # Making connections >> - if [ $connection_num -lt $CONNECTION_TOTAL ]; then >> + while [ $connection_num -lt $CONNECTION_TOTAL ]; do >> # Run a client >> ret=`$LTP_RSH $RHOST >> ${LTPROOT}/testcases/bin/ns-tcpclient -b -f $IP_VER -S $lhost_addr -p >> $server_port' ; ec >> if [ $ret -ne 0 ]; then >> @@ -354,7 +354,12 @@ while true ; do >> break >> fi >> connection_num=`expr $connection_num + 1` >> - fi >> + >> + # check timeout every 100 times >> + if [ $(($connection_num % 100)) -eq 0 ];then >> + break >> + fi >> + done >> >> current_epoc=`date +%s` >> elapse_epoc=`expr $current_epoc - $start_epoc` >> >> 2013/6/28 Jan Stancek <jst...@re...>: >> > >> > >> > >> > >> > ----- Original Message ----- >> >> From: "Hangbin Liu" <liu...@gm...> >> >> To: "Jan Stancek" <jst...@re...> >> >> Sent: Friday, 28 June, 2013 8:36:05 AM >> >> Subject: Re: [LTP] [PATCH] networking/stress/tcp: make sure we will kill >> >> the test case after timeout >> >> >> >> No, we can set up $CONNECTION_TOTAL connections as soon as possible, and >> >> also >> >> transmit tcp data at the same time. >> > >> > Where does this happen? >> > >> > I'm looking at the while loop, and I see it creates 1 connection each >> > iteration, then it sleeps for 1 second. >> > >> > Am I missing something here? >> > >> > while true ; do >> > # Making connections >> > if [ $connection_num -lt $CONNECTION_TOTAL ]; then >> > # make new connection >> > ... >> > connection_num=`expr $connection_num + 1` >> > fi >> > >> > # check time >> > ... >> > sleep 1 >> > done >> > >> > Regards, >> > Jan >> |