cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: HTTP PUT performance issues

From: <RBramante_at_on.com>
Date: Thu, 5 Dec 2002 14:43:15 -0500

Yes, in my case I don't see how the webserver is the limiting factor since
two other tools can put the same file so much faster. But then again, if
select() on windows is the issue, the two profiles I took of curl running
an ftp and http upload both had the same number of select calls (with 1 or
2).

I dunno....I will get the newest code from cvs and rerun my tests and post
the results. I'm having problems accessing cvs right now for some
reason...

                                                                                                                                      
                      Daniel Stenberg
                      <daniel_at_haxx.se> To: libcurl Mailing list <curl-library_at_lists.sourceforge.net>
                      Sent by: cc:
                      curl-library-admin_at_lists.sour Subject: Re: HTTP PUT performance issues
                      ceforge.net
                                                                                                                                      
                                                                                                                                      
                      12/05/2002 02:02 PM
                      Please respond to
                      curl-library
                                                                                                                                      
                                                                                                                                      

On Thu, 5 Dec 2002 RBramante_at_on.com wrote:

> OK sounds good. I hope you find something because I am really confused
by
> this as well if the ftp and http xfer code is the same.

Did the tests and I've learned some new things. I'll show you:

Test machine is a 733MHz Pentium III running Linux kernel 2.4.18.

All tests were done on a file I have that is 843309644 bytes big.

'httpput' sent it all in 135 seconds to my Apache2 on localhost (the
receiver
is a perl script that sends the received data to /dev/null). It makes
6246738
bytes per second. That makes it 5.95MB/sec.

Clearly my Apache receives HTTP PUT *much* slower than my wu-ftpd receives
ftp upload.

I modified my curl to always loop until EWOULDBLOCK before going back to
select(), and then uploading (HTTP PUT) the exact same.

It took 134 seconds. Pretty much the same speed, I'd say.

I then went back and fired away an older curl I have installed (7.9.9-pre1)
and it ran the same test at 136 seconds.

The amount of select()s clearly has no particular impact on this test here.
It might be because the server is the one slowing down the operation or,
perhaps more likely, it is because windows has a higher penalty for using
select().

Test number two:

I run 'nc -l -p 8888 >/dev/null' to just accept a PUT and read it at
highest
possible speed. The timings showed:

Modified curl: 44 seconds
httpput: 43 seconds
Old curl: 44 seconds

Summary:

There is no speed issues with HTTP PUT with curl on Linux. At least not
that
I can provoke to appear.

Do you think you could get the latest sources off CVS and try them on
win32?
My changes might make a different impact on Windows than on Linux.

--
 Daniel Stenberg -- curl, cURL, Curl, CURL. Groks URLs.
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
Received on 2002-12-05