Compressing data passed over the wire.


In most of cases compressing data passed over the wire is useless – one spends more time to compress a packet of data than to pass it over the typical LAN. But for WAN access data compression may be rather efficient way to enhance performance, specially when it can provide instead package size decrees packages' number decrees – that's the case for Firebird when it transfers a lot of data like big result set. zlib library (http://www.zlib.net/) is used by Firebird to compress data passed over the wire.

By default wire compression is off, to turn it on you should set “WireCompression=true” in Firebird configuration on client. Compression setting is done by client to let only some clients that really need it use compression. Server gets compression setting from client when connection is established. Certainly only Firebird 3 (or higher) wire protocol supports compression. When compression is turned on Z flag is shown in client/server version info – for example: LI-T3.0.0.31451 Firebird 3.0 Beta 1/tcp (fbs)/P13:Z.