[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Last-Modified HTTP header in GET responses

From: Greg Stein <gstein_at_gmail.com>
Date: Tue, 5 Jan 2016 23:14:35 -0600

Personally, I'd be more interested in the effects on the network and its
caching ability. Do we really need to save CPU/IO on the server? Today's
servers seem more than capable, and are there really svn servers out in the
wild getting so crushed, that this is important? It seems that as long as
proxies/etc can properly cache the results, and (thus) avoid future touches
on the backend server, then we're good to go.

If the patch doesn't affect the caching (which it sounds like "no"), then
just go with it. Sure, it is neat to look at ayscalls, but... why? I don't
understand the need to examine/profile. Educate me?


On Mon, Jan 4, 2016 at 11:03 AM, Ivan Zhakov <ivan_at_visualsvn.com> wrote:

> On 4 January 2016 at 16:25, Philip Martin <philip.martin_at_wandisco.com>
> wrote:
> > Branko ─îibej <brane_at_apache.org> writes:
> >
> >> Your analysis looks sound, but I wonder if doing this would have any
> >> serious effect on checkout/update times; after all, the bulk of the work
> >> there is in report generation, only HTTPv2 is affected by GET response
> >> construction.
> >
> > When I checkout Subversion trunk from my local mirror I cannot measure a
> > client gain, but I can measure better server efficiency:
> >
> > - The CPU used by Apache goes down from 1.2s to 1.1s.
> >
> > - The number of system calls made by Apache goes down
> >
> > 68822 to 50664 for hot FSFS cache
> > 178885 to 161722 for cold FSFS cache
> >
> I'm getting similar results on Windows. svnbench null-export of 2000
> 15kb random files in 20 directories:
> Cold FSFS caches: CPU: 2028ms, IO Reads: 16350, Elapsed: 1374ms
> Hot FSFS caches: CPU: 1482ms, IO Reads: 9403, Elapsed: 1253ms
> Patched:
> Cold FSFS caches: CPU: 1794ms, IO Reads: 14440, Elapsed: 1230ms
> Hot FSFS caches: CPU: 1263ms, IO Reads: 7787, Elapsed: 1184ms
> Elapsed is total execution time of svnbench null-export. CPU is
> processor used by server to serve client operation, IO reads is number
> of IO read operations of server process.
> So it's about 10% improvement in case of hot disk caches and local
> disk. Improvement could be more significant in case of network
> storage, spinning disks or high-load.
> I've also tested with 128 MB FSFS caches and full-text caching enabled:
> Baseline:
> Cold: CPU: 2028ms, IO Reads: 16028, Elapsed: 1643ms
> Hot: CPU: 1138ms, IO Reads: 2083, Elapsed: 1164ms
> Patched:
> Cold: CPU: 1934ms, IO Reads: 14028, Elapsed: 1473ms
> Hot: CPU: 1060ms, IO Reads: 83, Elapsed: 1059ms
> --
> Ivan Zhakov
Received on 2016-01-06 06:14:54 CET

This is an archived mail posted to the Subversion Dev mailing list.