From: Jan S. <jst...@re...> - 2013-07-01 10:56:56
|
----- Original Message ----- > From: "Hangbin Liu" <liu...@gm...> > To: "Jan Stancek" <jst...@re...> > Cc: "ltp-list" <ltp...@li...> > Sent: Monday, 1 July, 2013 10:31:28 AM > Subject: Re: [LTP] [PATCH] networking/stress/tcp: make sure we will kill the test case after timeout > > Hi Jan, > The problem is the connection won't fail, but only need too much > time. For example: I see, checking after each X connection seems reasonable. I'm not very familiar with this test, so it's up to you to come up with some number. Regards, Jan > 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 > >> > |