I ran more tests tonight, and results were very different from the
past year test.

FIRST TEST (using the same server as last year test)
==========

Last year test:
Firebird 2.1.1 (SuperServer - linux) in server and FB 2.1.x  Windows
in client

Tonight test:
Firebird 2.5.1 client, and same remote server as last year

First run used TcpRemoteBufferSize = 8K (the default), and
second run used TcpRemoteBufferSize = 32767 at client. I can't change
fb.conf at this server.

No difference in the fetchall time!

SECOND TEST
===========

Another test, this time connecting to one of my customers server,
internet connection by cable modem. Server is 2.5.1 (SuperClassic
Linux) and Client is 2.5.1 (Windows). Access by OpenVPN.

As I have root access to this server, I was able to change the
value of TcpRemoteBufferSize in the server and, of course, in the
client. I tested:

Server x Client
8K       8K
8K       16K
8K       32K
32K      8K
32K      32K

The fetch times were almost identical in all the above configurations
:(

The number of records returned was about 3.500, and average time was
about 11 seconds.

I restarted the server after every change at (remote) fb.conf. I also
ran the select 2 times before getting the fetchall times, the first
run was just to fill FB and disk cache.

Is there any chance that FB 2.5.1 is ignoring this parameter? How to
explain such different behavior compared to the last year test (FB 2.1)
?

PS: Last year test I used ZeosDB app as I wish to compare MySQL to FB.
Tonight test I used tool built with "FIBPlus". Also, the database used
this time was not the same as the last year. Anyway, this doesn't
matter, since what is being questioned is the fact that this time, the
parameter changing didn't make any difference in the featchall time.
I'm also trusting that on Windows, the client library will use the
fb.conf located at the directory pointed in the FB registry key.

[]s
Carlos
http://www.firebirdnews.org
FireBase - http://www.FireBase.com.br

DY> 14.12.2011 20:02, Carlos H. Cantu wrote:

>> Vlad, 06/12/2010 16:24:51:
>> could you edit firebird.conf at both client and server hosts and set
>> TcpRemoteBufferSize = 32700
>> ?
>>
>> ok, much better (but still worse than MySQL):
>> [06/12/2010 16:27:47] Opening FB Query and fetching all data ()
>> [06/12/2010 16:27:53] End fetching FB data  (6,312)
>> [06/12/2010 16:27:53] Opening MySQL Query and fetching all data ()
>> [06/12/2010 16:27:56] End fetching MySQL data  (2,89)

DY> This implicitly suggests that a bigger value of the network packet could
DY> improve the performance even more, perhaps down to the MySQL's almost 
DY> three seconds.

DY> AFAIK, the default packet size in MySQL is 1MB, the maximum is 1GB. Our
DY> default is 8KB and maximum is 16KB.

DY> I would suggest to increase the default and remove the upper limit (or
DY> make it "big enough") and then ask Carlos to re-run the same test with
DY> bigger settings (64KB, 128KB and so on) and report back the results.


DY> Dmitry


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to