FirebirdSQL / firebird

Firebird server, client and tools
https://firebirdsql.org
1.26k stars 217 forks source link

Wire protocol improvement: prefetch blob info and some data when open blob #8307

Closed hvlad closed 2 weeks ago

hvlad commented 2 weeks ago

This is the first part of wire protocol improvements with regards to reading blobs.

In this part I offer to group op_open_blob2, op_info_blob and op_get_segment logical packets into single physical packet. It allows to prefetch and cache blob info and some blob data (up to 16KB currently) in single network roundtrip. If application ask for blob info after open - return cached blob info without remote access.

This patch requires no protocol changes, no server code changes and should be fully compatible with older Firebird servers.

sim1984 commented 2 weeks ago

5.0.0? May be 5.0.2?

hvlad commented 2 weeks ago

5.0.0? May be 5.0.2?

Sure, thanks

WarmBooter commented 2 weeks ago

It is valid to mention that initial tests in high latency network (ping 149ms) show an average transfer speed improvement of 33-49% with this patch.