Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 4 of 4 total
Thread Problem of slow in multi user network
Tue, Jan 13 2009 6:48 AMPermanent Link

"Mauro Botta"
Hi

I have finisched of porting my big application from DBIsam 4 to EDB2.

i have depoy it at 10 betatester.

but i have  received by all serious problems of slow if more people work
together.

I have made some tests ...




My system of test :

* 2 Fast PC in a fast network enviroment
  SERVER and CLIENT1,CLIENT2
* a table of 10'000 records ( DAT and a converted .EDBTBL )
* EDB 2.02 - No C/S (  only file share )
* Last Dbisam 2.2x - No C/S (  only file share )
* MYTEST_DBISAM4.EXE
* MYTEST_EDB2.EXE

case 1 :

PC CLIENT1 Read a table in SERVER
PC CLIENT2 - Nothing ( all applicationa are closed )

Time :
DbIsam Application : 1 sec.
Edb  Application      : 1 sec.

All ok  Smile


case 2 :

PC CLIENT1 Read a table in SERVER
PC CLIENT2 - Read a table in SERVER

Time :
DbIsam Application : 2 sec.
Edb Application       : 12 - 15 sec.    <--- WHY ?


Why EDB is more more slower when 2 or more pc working on the same dir.
when dbisam is little little more slow ?

Can i optimize it ?

when only one user access ad one dir , there are a optimal use of cache
but EDB is too slow when more people work together.


for this test i have used a TEDbTable with OnFilterRecord Procedure.
begin
if Pos('TEST',DataSet.FieldByName('DESCRIZION').AsString) <> 0 then
  Accept := True
else
  Accept := False;
end;





Tue, Jan 13 2009 1:13 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Mauro,

<< I have finisched of porting my big application from DBIsam 4 to EDB2.

i have depoy it at 10 betatester.

but i have  received by all serious problems of slow if more people work
together. >>

This is due to the opportunistic locking under a Windows network.  The
slower speed is the real speed, whereas the faster speed is only due to the
opportunistic locking that allows one user to exclusively cache the data
from the table locally.

You mention DBISAM 4.x and DBISAM 2.x - which one were you using before ?
DBISAM 4.x is a better comparison to EDB in terms of operation, whereas
DBISAM 2.x is a completely different thing from EDB.  Also, if you were
using DBISAM 2.x, then you will need to probably bump up the default table
buffering sizes for all of your tables so that they are about double what
they are now:

http://www.elevatesoft.com/manual?action=mantopic&id=edb2sql&category=0&topic=9

see the section titled "Modifying the Amount of Buffering".

DBISAM 2.x used more memory for table buffering, by default, than DBISAM 4.x
or EDB.

<< for this test i have used a TEDbTable with OnFilterRecord Procedure. >>

That's a bad comparison.  DBISAM and EDB process the OnFilterRecord
procedure in two entirely different ways.  EDB handles the OnFilterRecord
event handler in a way that favors C/S operation, whereas DBISAM handles it
in a way that favors file-sharing operation.

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, Jan 14 2009 3:49 AMPermanent Link

"Mauro Botta"
Hi Tim ^^

i have only dbisam 4.x and EDB 2.x

not dbisam2. sorry for the error in previus mail.


I have 500 clients , from 3 years , all with DbIsam 4
( 1 client have 3-5 pc in their office )

All Happy, Fast Filter... good performance.

now...

The program is was converted , TDBISAMTABLE -> TEDBTABLE ....

and the program is not more  fast in db management.

my question :

>> This is due to the opportunistic locking under a Windows network.

yes, all correct. i know.

but why edb only slows down so much because of it ?
when dbisam have always good performance ?

1 pc in network :
DbIsam Application : 1 sec.
Edb Application       : 1 sec.

2 pc in network :
DbIsam Application : 2 sec.
Edb Application       : 12 - 15 sec.    <--- WHY ?



Sun, Jan 18 2009 1:30 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Mauro,

<< but why edb only slows down so much because of it ? when dbisam have
always good performance ? >>

We've already covered this: OnFilterRecord.  It is not something you want to
use to filter thousands of rows in a file-sharing LAN setup.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image