Subject Re: [firebird-support] SELECT ONLY database query performance
Author Tetram Corp
Others will correct me if i'm wrong but afaik, fbclient and fbembed are
not thread safe, so applications must use critical sections to access data

so, it's your application itself which block threads to read data

i'm not sure it will solve your problem but you could try to connect to
a real FB server (not embeded) with a connection for each thread (at
least not one connection shared by 200 threads but only 10 for example)

thefourie2000 a écrit :
> Hi all...
>
> The basics of my application are as follows.
>
> - I'm using FB Embedded 2.0
> - A TCP Server receives a connection, creates a new thread and
> connects
> to the DB via the Embedded Engine
> - Each thread makes it's own connection to the database.
> - The system validates information, starting a transaction, executing
> 10 -> 15 selects and commiting the transaction. As stated the
> system executes ONLY SELECTS
> - All queries run against a single table with approx 35k rows.
> - Five columns in the table are used to form the WHERE clause and
> indexes have been created on those fields as required by the
> SELECTS
> - The result is then transmitted back to the client via TCP
>
> When processing requests for a SINGLE thread the AVG time per request
> is 7ms. If I increase the number of requesting applications and thus
> threads connected to the database to 200. The AVG time per request
> goes to 1400ms. So it appears that somewhere something is locking the
> entire database and not allowing other threads read access. :(
>
> I've tried fiddling with some of the Firebird Config settings, BUT
> that has mostly lead to poorer performance.
>
> Is the locking occuring in the FB Embedded DLL? Is there anyway to
> disable this locking? I have no need for it since the DB will NEVER
> be written to by the application. I'm even wiling to roll my own
> embedded DLL.
>
> Any help is welcome as well as any questions regarding the problem
> Cronje
>
>
>
>
>
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Visit http://www.firebirdsql.org and click the Resources item
> on the main (top) menu. Try Knowledgebase and FAQ links !
>
> Also search the knowledgebases at http://www.ibphoenix.com
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
> Yahoo! Groups - Join or create groups, clubs, forums & communities. Links
>
>
>
>