All,
Teng Xu, a graduate student working with me, has been developing a WebDAV performance testing client. Some of the results he received were a bit puzzling -- small PROPFIND operations were taking far longer (appx. 40-45ms) than we had expected. So, we started looking into the components of this time on the server side. We initially suspected the problem might be XML parsing, but quickly found this not to be the case.
From what we can tell, the call sequence looks like this:
method_propfind --> ap_xml_parse_input --> ap_get_brigade --> core_input_filter --> apr_bucket_read --> socket_bucket_read --> apr_socket_recv --> apr_wait_for_io_or_timeout --> apr_poll --> poll
A packet trace (i.e. tcpdump) would help. It is network i/o related for sure. My first guess was the same as wrowe's - nagle.
Greg
