[httperf] Bug Fix Patches to Date

Ted Bullock tbullock at canada.com
Sun Nov 26 15:20:12 PST 2006

Hi Mark,

> * I share your concern WRT the fd_setsize patch; it's very useful on
> Linux, but causes problems on other platforms. It would be *very* nice
> if it could be included, but it does need to be rewritten. Another
> option might be to make fd_setsize a ./configure parameter (Squid does
> this...)

Agreed.  We will try to look into this.

> * To allow persistent connections with HTTP/1.0 servers (e.g., Squid),
> Connection: keep-alive needs to be added to requests; e.g.,
> core.c:70  static char http10req[] = " HTTP/1.0\r\nUser-Agent:
> httperf/"VERSION"\r\nConnection: keep-alive\r\nHost: ";

Is this something that should be added to all the HTTP/1.0 and 1.1
requests or just this specific case?  I am unfamiliar with the protocols.

I can see the following lines of code which are very similar:

static char http10req[] =
  " HTTP/1.0\r\nUser-Agent: httperf/"VERSION"\r\nHost: ";
static char http11req[] =
  " HTTP/1.1\r\nUser-Agent: httperf/"VERSION"\r\nHost: ";

static char http10req_nohost[] =
  " HTTP/1.0\r\nUser-Agent: httperf/"VERSION"\r\n";
static char http11req_nohost[] =
  " HTTP/1.1\r\nUser-Agent: httperf/"VERSION"\r\n";

Is this a change that would be useful in all of the above or just the
one you specified?  Also, is this something that would be useful if it
were dynamically applied?

> * Not sure if you caught it in (4), but core.c:973 needs to be
>       call->req.iov[IE_HOST].iov_base = (caddr_t) conn->fqdname;
>       call->req.iov[IE_HOST].iov_len = conn->fqdname_len;

Yes, we caught this one.

-Ted Bullock

More information about the httperf mailing list