WebRequest Performance Overhead

S

sternr

Hey,
I use HttpWebRequest to poll data from a local web page using the GET
mechanism, but no matter how fast or small my request is, the time it
takes to create and get the response is always at least 200-ms even
from my local (localhost) development server!!!

Here's a code sample:

string fullUrl = "http://localhost/getData?id=2";
HttpWebRequest request = HttpWebRequest.Create(fullUrl) as
HttpWebRequest;
request.Method = "GET";
WebResponse res = request.GetResponse();
StreamReader reader = new StreamReader(res.GetResponseStream());
string result = reader.ReadToEnd();
reader.Close();
reader.Dispose();
res.Close();
return result;

I'm using .Net 3.5, and the webserver is based on Python CGI libraries
(GAE), and according to its console the processing time for each
request takes a maximum of 30 ms.

Are there any performance tweaks necessary for the HttpWebRequest?
Why is the overhead that big?

Any help?

Thanks ahead

--sternr
 
J

Jason Keats

sternr said:
Hey,
I use HttpWebRequest to poll data from a local web page using the GET
mechanism, but no matter how fast or small my request is, the time it
takes to create and get the response is always at least 200-ms even
from my local (localhost) development server!!!

Here's a code sample:

string fullUrl = "http://localhost/getData?id=2";
HttpWebRequest request = HttpWebRequest.Create(fullUrl) as
HttpWebRequest;
request.Method = "GET";
WebResponse res = request.GetResponse();
StreamReader reader = new StreamReader(res.GetResponseStream());
string result = reader.ReadToEnd();
reader.Close();
reader.Dispose();
res.Close();
return result;

I'm using .Net 3.5, and the webserver is based on Python CGI libraries
(GAE), and according to its console the processing time for each
request takes a maximum of 30 ms.

Are there any performance tweaks necessary for the HttpWebRequest?
Why is the overhead that big?

Any help?

Thanks ahead

--sternr

Assuming the above is running on Windows, that you're using IIS, and
that JIT compilation (and Python script interpretation) have been
eliminated as part of the problem, then I would guess that the use of
CGI is the main reason for the overhead. Using FastCGI, instead, should
help.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top