|Subject||Odp: [firebird-support] Performance of Firebird (Superserver vs Superclassic, etc.)|
What kind of calculation you do? I can not imagine calc with 45000 to take 30 minutes. I process 10 000 000 triangle calculations in aprox. 2 minutes in my geo. Database
Od: "todd@... [firebird-support]" <firstname.lastname@example.org>
Temat: [firebird-support] Performance of Firebird (Superserver vs Superclassic, etc.)
Data: śr., paź 29, 2014 20:46
Thought I would share some experience we have gained recently.
We have an application consisting of a C++ Builder front end and Firebird 2.5 as the backend. Running on Windows. The database includes a ton of stored procedures with some fairly intricate calculations.
A typical installation might have 45,000 records in the main table, with another 180 tables that can have a few records to a couple of hundred thousand of records in each of them.
We had one main calculation routine that goes through the 45,000 records (one by one) and runs a bunch of stored procedures that populate once particular table in the database. This process was taking approx. 30 minutes for one client.
We had an idea to change the calculation to divide the 45,000 records into smaller chunks and processing them at the same time in different threads. We are using 10 threads for this operation. This cut the processing time in half from 30 minute s to 15 minutes.
Also, we had always run Firebird as Superserver. We decide to install Firebird as Superclassic in order to take advantage of the multiple processors that most of our clients have on their servers. The particular client above has 4 processors on his server.
After changing the Firebird installation to Superclassic, the processing time went down to approx. 5 minutes.
Needless to say, we are very happy with the results of this. Still doing some testing before getting this out to our client base.
Todd Brasseur, A.M.A.A.
Compass Municipal Services Inc.