- From: Taylor Gautier <tgautier@scale8.com>
- Date: Sun, 4 Jun 2000 17:53:21 -0700
- To: "'www-lib@w3.org'" <www-lib@w3.org>
[Now I've really doned it, I accidentally sent the first message before it was finished, please disregard it, thank you] First, please accept my apologies if I somehow missed a discussion which answers my question. As a first time user of the www-lib, I think I've made a pretty valiant effort at keeping my questions at bay from the list. I have, however, been searching for a way to make simultaneous requests to the same server, with moderate success, but none that I am truly happy with. I looked through the past archives regarding this subject, and I found a few relevant topics/answers. Most of them had to do with Henrik flaming people for asking to disable pipelined requests, so first, Henrik, if you're still reading this list, please don't flame me until I present my case. :) Second was that somebody mentioned that it would require some code changes to several of the source files, I don't remember which ones (or who said it) but it may have been HTHost, HTNet, and or HTEvent, or something along those lines. As it turns out I *HAVE* been able to implement this feature, but in all senses of the word it is truly a hack. What I did was to add a statement that nulls out the "pres" variable in the HTHost_new function, which essentially eliminates the results of a search for an already existing host. I can now make simulataneous requests to the same server. But I'd like to know if there is a better way to handle this, surely as an HTTP/1.0 implementation, the library should be capable of doing this, no? (As an aside, another email had mentioned that HTHost_setMaxPipelinedRequests did not seem to have any effect, and indeed it doesn't. For that matter I noticed that the code rejects, for no apparent reason, a value of 1.) Thus my question is not so much as how to enable it, but how do I enable it in a more elegant manner? And finally, let me decsribe my reasoning for wanting this feature: 1) The primary reasoning for me wanting this feature is that pipelined requests assume that you are hitting a single web server. It DOES NOT take into account the very common practice of load-balancing a heavily trafficed site behind an L2 or L4 switch. Pipelining requests in this manner (over a single TCP/IP connection) eliminates any potential gain of using multiple servers. 2) The secondary reasoning is that pipelining of requests does not take into account the very realistic nature of making HTTP requests over the WAN. In many instances, bandwidth over the WAN through a single TCP/IP connection is restricted to some smaller amount which will not ever exceed the aggregate amount that is truly available. It is possible to gain better throughput through the use of multiple connections (in essence, tricking a router that thinks it knows better ;) to gain better aggregate bandwidth. I did notice a small blurb about this in the pipelined requests paper that is oft cited, but no particular attention seems to have beeen paid to it. Thanks for any help, -Taylor Gautier
Received on Sunday, 4 June 2000 20:53:33 UTC