|
From: Roman S. <rom...@re...> - 2007-04-06 14:43:15
|
Hi!
There is a performance problem in Firebird-2.1.0.15199-Alpha1 on Classic
Architerture.
When 5 stored procedures runs FB acts very slow.
Database metadata:
/******************************************************************************/
CREATE TABLE TEST_TABLE (TEST_FIELD VARCHAR(256));
CREATE PROCEDURE INSERT_DATA (N INTEGER,F2 VARCHAR(256))
AS
declare variable i integer;
begin
I = 0;
while (I < N) do
begin
insert into TEST_TABLE (TEST_FIELD) VALUES (:F2);
I = I + 1;
end
end
/******************************************************************************/
To execute stored procedures used
/******************************************************************************/
execute procedure insert_data (100000,
'1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890');
/******************************************************************************/
I used a profiler to find out what's the problem and these are results:
Routine Name Time Hit Count
_switchToThread 110494,94 510463786
wait_for_request 2276,10 28165
ISC_event_wait 1483,23 68987
enterFastMutex 69,65 261523
PIO_write 64,29 17391
Firebird::Mutex::enter 31,47 1270326
lockSharedSection 30,06 543196
Reverting isc_sync.cpp to 1.103 version and isc.h to 1.28 allow firebird
to work normal.
Roman.
|