Mike Taylor wrote:
>>Date: Wed, 15 Dec 2004 11:22:02 -0500
>>From: "LeVan,Ralph" <[log in to unmask]>
>>
>
> I'll be interested to see this.
>
>
>>In java, you have to make a new URL for every SRU transaction. That
>>turns out to be expensive. Running it over SRW lets the URL be
>>reused and was considerably more efficient.
>
>
> I think this is a red herring. So far as HTTP (1.1) is concerned, one
> is at liberty to reuse the same TCP/IP connection for a sequence of
> HTTP requests, so there is no fundamental performance hit involved in
> issuing multiple SRU requests against a single server. You seem to be
> saying that the particular Java library you're using for HTTP GET is
> badly written and doesn't take advantage of this ability; but that is
> a weak reason to criticise the _protocol_. People for whom SRU
> performance is an issue should just get (or write) a better
> implementation.
I find that SRU is slightly faster than SRW. Using keepalive makes a
bigger difference (though). Below is shown the results measured in
requests per second we get with YAZ' yaz-ztest server and Apache HTTPD's
benchmark program, ab - using 1000 requests (-n1000), 10 concurrent (-c10)
Mode SRW SRU
fork,no keepalive 794 890
threaded,no keepalive 1732 2176
fork,keepalive 3154 5050
threaded,keepalive 3007 4828
Decoding a SRU URL is faster than parsing an equivalent SRW XML document.
/ Adam
|