Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Totally Unaccaptable Interbase performance (on Linux)

6 views
Skip to first unread message

Jim Morris

unread,
Nov 30, 2000, 3:00:00 AM11/30/00
to
Hi all.

I am a long-time Borland developer, and do a lot of database application
development using C++ Builder. In fact, our company has always been a
Borland development shop. To-date, the majority of the databases we've
been using are either local DBase files (using the BDE or CodeBase), or
IBM DB/2 (using a native BDE driver called ACE400). We've also done a
lot of SQL server access from my C++ Builder apps using ODBC drivers to
hit DB2 or MySQL database servers.

I was totally excited when I first saw the inclusion of the Interbase
Express components in C++ Builder 5. My thinking was that I finally had
a chance to eliminate the BDE and ODBC layers (which are also a pain in
the rear when it comes to deployment of an application).

For test purposes, we developed an application that accesses a set of 6
tables that are setup in a database on an Interbase 6.01 server running
under Linux 2.2.16 (Redhat 6.1). The goal is to develop an application
in C++ Builder 5 that will be accessed both via a local LAN, and via the
Internet. We've been testing using LAN connections (100BaseTX) and ADSL
connections for Internet access. The Interbase server is connected to
the Internet via a T1.

The performance with Interbase 6.01 under Linux is excrutiatingly slow.
Our testing has found that to open a single table with 10 records in it
(only 2 fields) takes almost 30 seconds if I use the Interbase Express
components. I initially tried using an IBTable, displaying the data
using a TDBGrid component. No improvement is seen by using an IBQuery
component.

Interestingly enough, if I reconfigure the test app to use a TTable and
a BDE alias, it takes 15 seconds to open the same table. This implies
that part of the performance issue is in the Interbase Express components.

As a comparison, we created an identical table in a MySQL database on
the same Linux server, and setup an ODBC datasource to access the
database using the MySQL ODBC driver. The test application can open the
MySQL table in under 2 seconds, using the same ADSL-Internet-T1
connection path to the database server.

I have a feeling something is seriously wrong with my Interbase setup,
but I am clueless as to what. I've read through the entire set of PDF
files for Interbase 6, and not found anything helpful. Based on postings
in the Interbase newsgroups, I've even tried switching from the Super
Server to the Classic Server architecture. The Classic Server might be
slightly faster, but not measurably so. Heck - it takes almost 3
seconds just to move the cursor from one record to another in the
TDBGrid! Performance of the Interbase server also seems sluggish using
IBConsole and the Borland Database Explorer.

Help! Is there something I need to do in order to see adequate
performance from Interbase? If I didn't know for a fact that I can hit
both MySQL and DB2 databases on the same server so much faster, I would
suspect an issue with my hardware or OS configuration. But given the
fact that it is only Interbase (and Interbase Express) that are having
issues, I have to feel something is out of whack with Interbase.

Hopefully, someone can help me out here.

Thanks!
--
/------------------------------------------------\
| Jim Morris | Business: jmo...@rtc-group.com |
| | Personal: J...@Morris.net |
|------------------------------------------------|
| AOL Instant Messenger: JFM2001 |
\------------------------------------------------/


James Knowles

unread,
Nov 30, 2000, 3:00:00 AM11/30/00
to
> I have a feeling something is seriously wrong with my Interbase setup,

IANAIE (I am not an Interbase expert), but have you tried banging the server from
a Linux shell on the server? Whenever I have bozo behaviour I start from the
source and work my way backwards.

--
It is not enough that we do our best; sometimes we have to do what's required.
- Winston Churchill

Craig Stuntz

unread,
Nov 30, 2000, 3:00:00 AM11/30/00
to

Jim Morris wrote:
>
> The performance with Interbase 6.01 under Linux is excrutiatingly slow.
> Our testing has found that to open a single table with 10 records in it
> (only 2 fields) takes almost 30 seconds if I use the Interbase Express
> components. I initially tried using an IBTable, displaying the data
> using a TDBGrid component. No improvement is seen by using an IBQuery
> component.

First and foremost, which version of IBX are you using? The inital
release of IBX was quite buggy and had some notable performance issues
regarding Preparing IBQuerys. (IBX will implicitly Prepare a query
before opening it.) Download IBX version 4.4 from Jeff Overcash's page
on CodeCentral before continuing.

Secondly, do not use IBTable, ever. Use IBQuery or IBDataset.

Thirdly, if your connections are slow, make sure the server is in the
client's hosts files.

Last, the initial connection in IB is, for some reason, expensive
relative to other operations (such as opening queries and fetching).
When analyzing performance, you may want to separate these two factors.

That should get you started. Please feel free to post back if you're
still having problems after implementing the above.

Also, I notice that this thread is cross-posted. Please do not
cross-post. The most appropriate place to post IBX questions is the
.interbaseexpress groups. There's one for BCB, but the Delphi group
gets more traffic, so some BCB folks post there.

HTH,

-Craig

--
Craig Stuntz Vertex Systems Corporation
Senior Developer http://www.vertexsoftware.com

Delphi/InterBase weblog: http://delphi.weblogs.com

Jim Morris

unread,
Nov 30, 2000, 3:00:00 AM11/30/00
to ib_l...@mers.com
Warren Wagener wrote:

> I upgraded only the OS to RH6.2 and it suddenly was blazingly fast. Perhaps
> the fixes included in 6.2 are not in 6.1?
> Don't ask me what the changes were as I am only a learner when it comes to
> linux things.

Hmmm. That's something to consider. I will probably install the
Interbase server on my home Linux server, running Mandrake 7.2, and see
if performance is any different than on the office server that is
running Redhat 6.1. The kernels are the same on both boxes (I built
them), but I'm sure a lot of supporting shared libraries that Interbase
uses are different between the two systems.

Thanks!
--

Warren Wagener

unread,
Dec 1, 2000, 3:00:00 AM12/1/00
to ib_l...@mers.com
Hi,

I don't know if this will help but....

I was running a Classic Server (Ver 4.0) on an older install of redhat
(5.1). The database access was slow to the point of being almost painful.
The same data on an NT box ran up to 5 times faster.

I upgraded only the OS to RH6.2 and it suddenly was blazingly fast. Perhaps
the fixes included in 6.2 are not in 6.1?
Don't ask me what the changes were as I am only a learner when it comes to
linux things.

HTH

Warren

> The performance with Interbase 6.01 under Linux is excrutiatingly slow.
> Our testing has found that to open a single table with 10 records in it
> (only 2 fields) takes almost 30 seconds if I use the Interbase Express
> components. I initially tried using an IBTable, displaying the data
> using a TDBGrid component. No improvement is seen by using an IBQuery
> component.
>

> Interestingly enough, if I reconfigure the test app to use a TTable and
> a BDE alias, it takes 15 seconds to open the same table. This implies
> that part of the performance issue is in the Interbase Express components.
>
> As a comparison, we created an identical table in a MySQL database on
> the same Linux server, and setup an ODBC datasource to access the
> database using the MySQL ODBC driver. The test application can open the
> MySQL table in under 2 seconds, using the same ADSL-Internet-T1
> connection path to the database server.
>

> I have a feeling something is seriously wrong with my Interbase setup,

> but I am clueless as to what. I've read through the entire set of PDF
> files for Interbase 6, and not found anything helpful. Based on postings
> in the Interbase newsgroups, I've even tried switching from the Super
> Server to the Classic Server architecture. The Classic Server might be
> slightly faster, but not measurably so. Heck - it takes almost 3
> seconds just to move the cursor from one record to another in the
> TDBGrid! Performance of the Interbase server also seems sluggish using
> IBConsole and the Borland Database Explorer.
>
> Help! Is there something I need to do in order to see adequate
> performance from Interbase? If I didn't know for a fact that I can hit
> both MySQL and DB2 databases on the same server so much faster, I would
> suspect an issue with my hardware or OS configuration. But given the
> fact that it is only Interbase (and Interbase Express) that are having
> issues, I have to feel something is out of whack with Interbase.
>
> Hopefully, someone can help me out here.
>
> Thanks!

> --
> /------------------------------------------------\
> | Jim Morris | Business: jmo...@rtc-group.com |
> | | Personal: J...@Morris.net |
> |------------------------------------------------|
> | AOL Instant Messenger: JFM2001 |
> \------------------------------------------------/
>

> _______________________________________________
> Ib_linux mailing list
> Ib_l...@mers.com
> http://mers.com/mailman/listinfo/ib_linux
>
>


This message is being sent to inform you that all e-mail messages and attachments sent to
or by the B&M Group are scanned for viruses for your safety.

Thanks
B&M Group system administrator

Martin Lohse

unread,
Dec 2, 2000, 3:00:00 AM12/2/00
to
Remember to disable the nagle algorithm for interbase. We saw a tremendous
speed increase when disabling this. See older postings for help on this
issue.


"Jim Morris" <J...@Morris.net> wrote in message
news:3A2692DD...@Morris.net...

0 new messages