Help testing TcpRemoteBufferSize parameter
The parameter TcpRemoteBufferSize found in firebird.conf is supposed to set the maximum size of a packet being transfered. The default value for Firebird is 8K, and the maximum accepted is 32767. Theoretically, bigger packets should make the transfer of large resultsets faster (mostly noticed when connection is high latency networks, aka internet).
Recently, I did some tests with this parameter, but wasn’t able to find any differences in the time of a fetchall with a select first 2000 * from some_table_with_no_blobs_and_lots_of_records. A similar test that I did last year, with different FB version and O.S. showed a speed increase of almost 3x in the fetchall time when the packet size was set to 32K, but seems that I cannot reproduce this with my current environment anymore.
If you have some time, please do some tests with this parameter, and publish the results in the comments of this post. Remember to test changing the value at client, at server, and at both, and to mention what Firebird version was used (at server, and client library too, if different). Also, I recommend to run the first select/fetchall at last one time before getting the results, to fill Firebird and O.S. cache and get more accurate results.
If you are a “hardcore” user, you may also want to install Wireshark and have an inside view of the communication process.