You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Bert Huijben <be...@qqmail.nl> on 2015/12/04 18:51:25 UTC

RE: svn commit: r1717970 - /httpd/test/mod_h2/trunk/test/test_window_update.sh


> -----Original Message-----
> From: icing@apache.org [mailto:icing@apache.org]
> Sent: vrijdag 4 december 2015 15:26
> To: cvs@httpd.apache.org
> Subject: svn commit: r1717970 -
> /httpd/test/mod_h2/trunk/test/test_window_update.sh
> 
> Author: icing
> Date: Fri Dec  4 14:25:53 2015
> New Revision: 1717970
> 
> URL: http://svn.apache.org/viewvc?rev=1717970&view=rev
> Log:
> adding to window_update tests to verify connection window exhaustion (or
> lack of it)
> 
> Modified:
>     httpd/test/mod_h2/trunk/test/test_window_update.sh
> 
> Modified: httpd/test/mod_h2/trunk/test/test_window_update.sh
> URL:
> http://svn.apache.org/viewvc/httpd/test/mod_h2/trunk/test/test_window
> _update.sh?rev=1717970&r1=1717969&r2=1717970&view=diff
> ==========================================================
> ====================
> --- httpd/test/mod_h2/trunk/test/test_window_update.sh (original)
> +++ httpd/test/mod_h2/trunk/test/test_window_update.sh Fri Dec  4
> 14:25:53 2015
> @@ -34,19 +34,18 @@ fi
>  # test if small uploads trigger window_udpate(s) and do not let connection
>  # windows shrink to 0.
>  #
> -echo -n "POSTing 10 x 10k to server, MUST not hang"
> +echo -n "POSTing 10 x 10k, m=1"
>  ${H2LOAD} -p h2c -c 1 -t 1 -m 1 -n 10 -d $GEN/data-10k ${URL_PREFIX} |
> -while read line; do echo -n "."; done
> -echo "ok."
> +while read line; do echo -n "."; done; echo "ok."
> 
> -echo -n "POSTing 10 x 100k to server, which are READ by app"
> -${H2LOAD} -p h2c -c 1 -t 1 -m 1 -n 100 -d $GEN/data-100k
> ${URL_PREFIX}/upload.py |
> -while read line; do echo -n "."; done
> -echo "ok."
> +echo -n "POSTing 1000 x 1k, m=100"
> +${H2LOAD} -p h2c -c 1 -t 1 -m 100 -n 1000 -d $GEN/data-1k ${URL_PREFIX} |
> +while read line; do echo -n "."; done; echo "ok."
> 
> -# FIXME: this does not work reliably for n >= 100
> -#
> -#echo -n "POSTing 10 x 100k to server, which are NOTREAD by app"
> -#${H2LOAD} -p h2c -c 1 -t 1 -m 1 -n 10 -d $GEN/data-100k ${URL_PREFIX} |
> -#while read line; do echo -n "."; done
> -#echo "ok."
> \ No newline at end of file
> +echo -n "POSTing 100 x 100k, m=5, READ"
> +${H2LOAD} -p h2c -c 1 -t 1 -m 5 -n 100 -d $GEN/data-100k
> ${URL_PREFIX}/upload.py |
> +while read line; do echo -n "."; done; echo "ok."
> +
> +echo -n "POSTing 100 x 100k, m=50, NOT READ explicitly"
> +${H2LOAD} -p h2c -c 1 -t 1 -m 50 -n 100 -d $GEN/data-100k ${URL_PREFIX} |
> +while read line; do echo -n "."; done; echo "ok."


The Subversion test I try is more like sending 2000 requests of 100 bytes over a single connection.

	Bert 



Re: RE: svn commit: r1717970 - /httpd/test/mod_h2/trunk/test/test_window_update.sh

Posted by franktom <fr...@163.com>.
unsubscribe

Re: svn commit: r1717970 - /httpd/test/mod_h2/trunk/test/test_window_update.sh

Posted by Stefan Eissing <st...@greenbytes.de>.
I can certainly try more scenarios. The ones there in the tests reflect the problems I have seen and verify the fixes I did.

If you have a h2load scenario that reproduces what you see, that could be very helpful. Alternatively, what would I have to do to run your test on my machine?

> Am 04.12.2015 um 18:55 schrieb Bert Huijben <be...@qqmail.nl>:
> 
> 
> 
>> -----Original Message-----
>> From: Bert Huijben [mailto:bert@qqmail.nl]
>> Sent: vrijdag 4 december 2015 18:51
>> To: dev@httpd.apache.org
>> Subject: RE: svn commit: r1717970 -
>> /httpd/test/mod_h2/trunk/test/test_window_update.sh
>> 
>> 
>> 
>>> -----Original Message-----
>>> From: icing@apache.org [mailto:icing@apache.org]
>>> Sent: vrijdag 4 december 2015 15:26
>>> To: cvs@httpd.apache.org
>>> Subject: svn commit: r1717970 -
>>> /httpd/test/mod_h2/trunk/test/test_window_update.sh
>>> 
>>> Author: icing
>>> Date: Fri Dec  4 14:25:53 2015
>>> New Revision: 1717970
>>> 
>>> URL: http://svn.apache.org/viewvc?rev=1717970&view=rev
>>> Log:
>>> adding to window_update tests to verify connection window exhaustion
>> (or
>>> lack of it)
>>> 
>>> Modified:
>>>    httpd/test/mod_h2/trunk/test/test_window_update.sh
>>> 
>>> Modified: httpd/test/mod_h2/trunk/test/test_window_update.sh
>>> URL:
>> http://svn.apache.org/viewvc/httpd/test/mod_h2/trunk/test/test_window
>>> _update.sh?rev=1717970&r1=1717969&r2=1717970&view=diff
>> ==========================================================
>>> ====================
>>> --- httpd/test/mod_h2/trunk/test/test_window_update.sh (original)
>>> +++ httpd/test/mod_h2/trunk/test/test_window_update.sh Fri Dec  4
>>> 14:25:53 2015
>>> @@ -34,19 +34,18 @@ fi
>>> # test if small uploads trigger window_udpate(s) and do not let connection
>>> # windows shrink to 0.
>>> #
>>> -echo -n "POSTing 10 x 10k to server, MUST not hang"
>>> +echo -n "POSTing 10 x 10k, m=1"
>>> ${H2LOAD} -p h2c -c 1 -t 1 -m 1 -n 10 -d $GEN/data-10k ${URL_PREFIX} |
>>> -while read line; do echo -n "."; done
>>> -echo "ok."
>>> +while read line; do echo -n "."; done; echo "ok."
>>> 
>>> -echo -n "POSTing 10 x 100k to server, which are READ by app"
>>> -${H2LOAD} -p h2c -c 1 -t 1 -m 1 -n 100 -d $GEN/data-100k
>>> ${URL_PREFIX}/upload.py |
>>> -while read line; do echo -n "."; done
>>> -echo "ok."
>>> +echo -n "POSTing 1000 x 1k, m=100"
>>> +${H2LOAD} -p h2c -c 1 -t 1 -m 100 -n 1000 -d $GEN/data-1k ${URL_PREFIX}
>> |
>>> +while read line; do echo -n "."; done; echo "ok."
>>> 
>>> -# FIXME: this does not work reliably for n >= 100
>>> -#
>>> -#echo -n "POSTing 10 x 100k to server, which are NOTREAD by app"
>>> -#${H2LOAD} -p h2c -c 1 -t 1 -m 1 -n 10 -d $GEN/data-100k ${URL_PREFIX} |
>>> -#while read line; do echo -n "."; done
>>> -#echo "ok."
>>> \ No newline at end of file
>>> +echo -n "POSTing 100 x 100k, m=5, READ"
>>> +${H2LOAD} -p h2c -c 1 -t 1 -m 5 -n 100 -d $GEN/data-100k
>>> ${URL_PREFIX}/upload.py |
>>> +while read line; do echo -n "."; done; echo "ok."
>>> +
>>> +echo -n "POSTing 100 x 100k, m=50, NOT READ explicitly"
>>> +${H2LOAD} -p h2c -c 1 -t 1 -m 50 -n 100 -d $GEN/data-100k ${URL_PREFIX}
>> |
>>> +while read line; do echo -n "."; done; echo "ok."
>> 
>> 
>> The Subversion test I try is more like sending 2000 requests of 100 bytes over
>> a single connection.
> 
> And most likely (in this test) Subversion still waits for every request to be handled before sending out the next request.
> 
> Perhaps it sends two requests at once, but it is unlikely to have more requests in flight during this test than this.
> 
> (In update/checkout scenarios it can have many more... but not in the failing test)
> 
>    Bert
> 

RE: svn commit: r1717970 - /httpd/test/mod_h2/trunk/test/test_window_update.sh

Posted by Bert Huijben <be...@qqmail.nl>.

> -----Original Message-----
> From: Bert Huijben [mailto:bert@qqmail.nl]
> Sent: vrijdag 4 december 2015 18:51
> To: dev@httpd.apache.org
> Subject: RE: svn commit: r1717970 -
> /httpd/test/mod_h2/trunk/test/test_window_update.sh
> 
> 
> 
> > -----Original Message-----
> > From: icing@apache.org [mailto:icing@apache.org]
> > Sent: vrijdag 4 december 2015 15:26
> > To: cvs@httpd.apache.org
> > Subject: svn commit: r1717970 -
> > /httpd/test/mod_h2/trunk/test/test_window_update.sh
> >
> > Author: icing
> > Date: Fri Dec  4 14:25:53 2015
> > New Revision: 1717970
> >
> > URL: http://svn.apache.org/viewvc?rev=1717970&view=rev
> > Log:
> > adding to window_update tests to verify connection window exhaustion
> (or
> > lack of it)
> >
> > Modified:
> >     httpd/test/mod_h2/trunk/test/test_window_update.sh
> >
> > Modified: httpd/test/mod_h2/trunk/test/test_window_update.sh
> > URL:
> >
> http://svn.apache.org/viewvc/httpd/test/mod_h2/trunk/test/test_window
> > _update.sh?rev=1717970&r1=1717969&r2=1717970&view=diff
> >
> ==========================================================
> > ====================
> > --- httpd/test/mod_h2/trunk/test/test_window_update.sh (original)
> > +++ httpd/test/mod_h2/trunk/test/test_window_update.sh Fri Dec  4
> > 14:25:53 2015
> > @@ -34,19 +34,18 @@ fi
> >  # test if small uploads trigger window_udpate(s) and do not let connection
> >  # windows shrink to 0.
> >  #
> > -echo -n "POSTing 10 x 10k to server, MUST not hang"
> > +echo -n "POSTing 10 x 10k, m=1"
> >  ${H2LOAD} -p h2c -c 1 -t 1 -m 1 -n 10 -d $GEN/data-10k ${URL_PREFIX} |
> > -while read line; do echo -n "."; done
> > -echo "ok."
> > +while read line; do echo -n "."; done; echo "ok."
> >
> > -echo -n "POSTing 10 x 100k to server, which are READ by app"
> > -${H2LOAD} -p h2c -c 1 -t 1 -m 1 -n 100 -d $GEN/data-100k
> > ${URL_PREFIX}/upload.py |
> > -while read line; do echo -n "."; done
> > -echo "ok."
> > +echo -n "POSTing 1000 x 1k, m=100"
> > +${H2LOAD} -p h2c -c 1 -t 1 -m 100 -n 1000 -d $GEN/data-1k ${URL_PREFIX}
> |
> > +while read line; do echo -n "."; done; echo "ok."
> >
> > -# FIXME: this does not work reliably for n >= 100
> > -#
> > -#echo -n "POSTing 10 x 100k to server, which are NOTREAD by app"
> > -#${H2LOAD} -p h2c -c 1 -t 1 -m 1 -n 10 -d $GEN/data-100k ${URL_PREFIX} |
> > -#while read line; do echo -n "."; done
> > -#echo "ok."
> > \ No newline at end of file
> > +echo -n "POSTing 100 x 100k, m=5, READ"
> > +${H2LOAD} -p h2c -c 1 -t 1 -m 5 -n 100 -d $GEN/data-100k
> > ${URL_PREFIX}/upload.py |
> > +while read line; do echo -n "."; done; echo "ok."
> > +
> > +echo -n "POSTing 100 x 100k, m=50, NOT READ explicitly"
> > +${H2LOAD} -p h2c -c 1 -t 1 -m 50 -n 100 -d $GEN/data-100k ${URL_PREFIX}
> |
> > +while read line; do echo -n "."; done; echo "ok."
> 
> 
> The Subversion test I try is more like sending 2000 requests of 100 bytes over
> a single connection.

And most likely (in this test) Subversion still waits for every request to be handled before sending out the next request.

Perhaps it sends two requests at once, but it is unlikely to have more requests in flight during this test than this.

(In update/checkout scenarios it can have many more... but not in the failing test)

	Bert