Evgeny Kotkov wrote:
> Maybe we could start with adding a subsection about that describes using
> LZ4 for http:// and svn:// to the users. If needed, we could then include
> the technical details about the negotiation into the "Client-Server Protocol
> Changes" and cross-link these two sections.
Agreed. (And I think we should include protocol details -- at least a
summary and references to where to find the details.)
> For the http:// part, we could probably do something along the lines of
> the attached patch. Here is also the same content as plain text for
> convenience:
>
> [[[
> LZ4 compression over the wire in http:// and svn:// connections
>
> Deltas transferred between Subversion 1.10 clients and servers may be
> compressed with LZ4. The actual choice of the compression algorithm depends
> on the used protocol, environment and its configuration — see below.
>
> For http:// protocol, use of LZ4 compression depends on the values of
> the server-side SVNCompressionLevel directive, client-side http-compression
> configuration option and on the network capabilities. LZ4 compression
> generally offers much faster compression and decompression speeds, but
> slightly worse compression ratio than zlib. By default, it is only
> preferred over low latency networks where the overhead associated with
> transferring the additional amount of data is assumed to be negligible.
>
> - On the server-side, SVNCompressionLevel 0 can be used to disable
> compression altogether. The special value of SVNCompressionLevel 1 forces
> the use of LZ4 compression for clients that support it. All other values
> result in negotiating the use of zlib compression with the respective
> compression level, unless the compression is disabled on the client.
There's a small disagreement with the table there: all other values
result in negotiating either zlib or LZ4.
> - On the client-side, setting http-compression to either yes or no will
> disable or enable compression that is then negotiated based on the server's
> configuration. The default value of auto will result in preferring LZ4
> compression over low latency networks and zlib compression otherwise.
Can we link to the reference documentation for the client and server
options, so the reader (me) can cross-check the definition and look for
related settings?
> Below is the table explaining the used compression algorithm in each
> combination of the client- and server-side configuration options:
That's helpful and clear.
Thanks. +1 to commit after resolving the "all other values" point above.
- Julian
Received on 2018-03-01 21:40:34 CET