Subject multithreading troubles
Hi to all and sorry to disturb you,

I'm testing the reliability of firebird 1.5 TCP and firebird 1.5 embedded
under stress test multithreaded.

Unfortunately I can't see FB1.5 stable under pressure.

I have made many configurations, as these following:
1) server: a thread pool attach 1 thread with a separate
DBConnection->DBTransaction->DBQuery for EVERY thread
2) server: a thread pool attach 1 thread with a 1 shared common
DBConnection->DBTransaction and a separate DBQuery for EVERY thread (using
sinchro mechanism avoid locking and/or conflicts)
3) server: no thread pool, every db request receive a
connection->transaction->query as (1)
4) server: no thread pool, every db request use a shared DB as (2)

the clients are using:
1) 10 thread test, 1 for every connection
2) 5 thread test, every thread make 2 concurrent connections
3) 4 thread test, every thread make 4 concurrent requests

I'm using Delphi compiler, and the test are made with many "middleware" as
the great Unified Interbase wrapper of progdigy.com, and a test with direct
gds API CALL too.

I have followed the many guides to use firebird/interbase into a
multithreading production system.

The problem is the following:
if the queryes are "slow" then the firebird can open also hundred (I guess)
connections, but if I start a stresstest making queries at high speed rate
then FBclient.dll return a lot of AV exceptions.

FB1.5 don't appear able to sustain high rate operations.

I don't have made the test with interbase 7.

Please let me know if the problem is well knowed and I miss something on my
configuration. These unpredictable effects make FB (embedded version
especially) not reliable for high-end software, further without a
multiprocessor scheduler.

I apologize if I'm on error.

Kind regards to all developers that defects apart, have build a fantastic
database engine.

Roberto Della Pasqua.