[Twisted-web] Performance of twisted web with HTTP/1.1 vs. HTTP/1.0

Jason E. Sibre jsibre at sibre.org
Mon Apr 5 11:26:48 MDT 2004


ACT is part of the Microsoft Visual Studio .NET.  It stands for Application
Center Test.  The reason I tried it is that it allows the person setting up
the test to control which headers are sent to the server.  In fact, the test
is actually controlled programmatically via VBScript (it hooks into Internet
Explorer to 'record' the test, if you don't want to create it from scratch,
which would be very tedious).

If there's an open source tester that you'd rather I use for this
discussion, please let me know about it, and I'll chase it down.

In the meantime, I'm attaching the test script that is being used
(test.vbs).  It's written in VBScript, but it can't be run standalone, as
the "Test" object won't exist unless it's being run from the ACT.  It is
easy to read however, so you can see what's going on.

I've modified a portion of the script that ties Quixote to Twisted, so that
I can 'peek' at the HTTP headers going into/coming out of Quixote.  Here are
the headers when things are running fast:

INBOUND header GATEWAY_INTERFACE: CGI/1.1
INBOUND header HTTPS: off
INBOUND header HTTP_ACCEPT: */*
INBOUND header HTTP_ACCEPT_LANGUAGE: en-us
INBOUND header HTTP_HOST: prototype.sibre.org:8081
INBOUND header HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 6.0; Windows
NT 5.0; .NET CLR 1.1.4322)
INBOUND header PATH_INFO: /static/htmlarea/images/ed_image.gif
INBOUND header QUERY_STRING:
INBOUND header REMOTE_ADDR: 192.168.1.253
INBOUND header REMOTE_HOST: 192.168.1.253
INBOUND header REMOTE_PORT: 1308
INBOUND header REQUEST_METHOD: GET
INBOUND header REQUEST_URI: /static/htmlarea/images/ed_image.gif
INBOUND header SCRIPT_FILENAME:
INBOUND header SCRIPT_NAME:
INBOUND header SERVER_NAME: prototype.sibre.org
INBOUND header SERVER_PORT: 8081
INBOUND header SERVER_PROTOCOL: HTTP/1.0
INBOUND header SERVER_SOFTWARE: TwistedWeb/1.2.0


And here they are when things are running slow:

INBOUND header GATEWAY_INTERFACE: CGI/1.1
INBOUND header HTTPS: off
INBOUND header HTTP_ACCEPT: */*
INBOUND header HTTP_ACCEPT_LANGUAGE: en-us
INBOUND header HTTP_HOST: prototype.sibre.org:8081
INBOUND header HTTP_USER_AGENT: Mozilla/4.0 (compatible; MSIE 6.0; Windows
NT 5.0; .NET CLR 1.1.4322)
INBOUND header PATH_INFO: /static/htmlarea/images/ed_image.gif
INBOUND header QUERY_STRING:
INBOUND header REMOTE_ADDR: 192.168.1.253
INBOUND header REMOTE_HOST: 192.168.1.253
INBOUND header REMOTE_PORT: 1445
INBOUND header REQUEST_METHOD: GET
INBOUND header REQUEST_URI: /static/htmlarea/images/ed_image.gif
INBOUND header SCRIPT_FILENAME:
INBOUND header SCRIPT_NAME:
INBOUND header SERVER_NAME: prototype.sibre.org
INBOUND header SERVER_PORT: 8081
INBOUND header SERVER_PROTOCOL: HTTP/1.1
INBOUND header SERVER_SOFTWARE: TwistedWeb/1.2.0

I only note two differences, the HTTP/1.0 vs. HTTP/1.1 and the REMOTE_PORT
1308 vs. 1445, so, one significant difference.

Not much help, I guess, but does it give you any clues?

(I've joined the Twisted-web list for the duration of this conversation, at
least)

Thanks,

Jason Sibre








> -----Original Message-----
> From: Andrew Bennetts [mailto:andrew-twisted at puzzling.org]
> Sent: Monday, April 05, 2004 9:42 AM
> To: twisted-web at twistedmatrix.com
> Cc: jsibre at chironsys.com
> Subject: Re: [Twisted-web] Performance of twisted web with HTTP/1.1 vs.
> HTTP/1.0
>
>
> On Wed, Mar 17, 2004 at 11:02:54AM -0600, Jason Sibre wrote:
> [...]
> >
> > ab uses HTTP/1.0 to test an app, and of course most browsers
> use HTTP/1.1.
> > I set up another, more sophisticated, test suite (ACT), where I could
> > control the protocol, and ran the tests through it, and I
> confirmed that the
> > protocol level was definitely the culprit.
>
> Where can I find this "ACT" test suite?  My attempts to google for it have
> failed.
>
> I've run some quick & dodgy local tests with persistent connections and
> chunked encoding that found that no differences even close to 20x slower
> that you're seeing.  I can't think of any other significant
> differences that
> HTTP/1.1 might trigger, though.
>
> Failing all else, a copy of the exact text of the request your test suite
> sends would be handy.
>
> > I'm not a member of this list, so if you have a reply, please cc me
> > directly.
>
> Done.
>
> -Andrew.
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.vbs
Type: application/octet-stream
Size: 1390 bytes
Desc: not available
Url : http://pyramid.twistedmatrix.com/pipermail/twisted-web/attachments/20040405/1eb9860f/test-0001.obj


More information about the Twisted-web mailing list