On 4 January 2016 at 16:25, Philip Martin <philip.mar...@wandisco.com> wrote:
> Branko Čibej <br...@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

Reply via email to