Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 11 total
Thread [Hard problem for TIM] Too much MB for to read few fields
Fri, Sep 8 2006 5:22 AMPermanent Link

"Enrico Ghezzi"
Hi Tim


I have a big problem of network collapsed.

I have 2 PC with a clear winxp installation.

The 2 pc are same hardware.
1gb ram pc 1 ,  1 gb ram pc 2.......
no antivirus...

the problem :

i call a heavu database function on PC 1, and it's very fast
and i have examined the network traffic
with dumeter and is very low ( Part 1 = 100 MB , Part 2 = 250 KB )

but..

i call a heavy database function on PC 2, and it's very SLOW
and i have examined the network traffic
with dumeter and is very high ( Part 1 = 180 MB , Part 2 = 23 MB )

for this 2 minutes all network is not usable for other pc ... network go in
tilt... !

my nework hardware is all new , Giga net... , true pc server ( all pc are
new )

i have copy a big file 200 MB from PC 2 to Server , and it's fast , Like PC
1.

this problem is not only my , any my clients have this problem.

Question :

This is not a classic problem of PC performance.
-------------------------------------------------

PC 1 read little MB from the local network
PC 2 read much more MB from the local network

Why PC 1 read 250 KB ( good cache usage ? ) and PC 2 read 23 MB ( bad cache
usage ? )  ?
How i can know how much memory have dbisam engine for cache system ?
WinXp Swap File ?





delphi 7 + dbisam 4.21 + fastmm
dumeter  = www.dumeter.com



Fri, Sep 8 2006 6:51 AMPermanent Link

"Ralf Mimoun"
Enrico Ghezzi wrote:
....
> The 2 pc are same hardware.
> 1gb ram pc 1 ,  1 gb ram pc 2.......
> no antivirus...

Is there a third computer as db server? Where is the db located? Are the two
SQL statements identical? Is it possible that the first statement use
indexes, the second one not? Can you quote the SQL statement?

....
> Why PC 1 read 250 KB ( good cache usage ? ) and PC 2 read 23 MB ( bad
> cache usage ? )  ?

LAN traffic is not cached. If the computer loads the data via LAN, then it's
needed to compute the SQL statement.

Ralf
Fri, Sep 8 2006 8:42 AMPermanent Link

"Enrico Ghezzi"
> Is there a third computer as db server? Where is the db located?


YES.

dbisam .dat files are on PC3 server.

> Are the two  SQL statements identical? Is it possible that the first
> statement use indexes, the second one not? Can you quote the SQL
> statement?

Have only  1 program ( xxxx.exe )  , and only 1 database , There are  always
on PC3 ( server )

pc1 and pc 2 , are only client ( notthing is installed on pc1-pc2 )
only a icon on desktop.

note :



I'm using a tDbIsamTable component.  ( filter... do while... seek. )
NOT SQL !


Fri, Sep 8 2006 11:53 AMPermanent Link

"Ralf Mimoun"
Enrico Ghezzi wrote:
>> Is there a third computer as db server? Where is the db located?
>
>
> YES.
>
> dbisam .dat files are on PC3 server.

So there is no DBISAM database server, you use that PC3 as a file server?
REmember that a client has to read the whole table if a SQL statement is not
optimized / can't use an index.

>> Are the two  SQL statements identical? Is it possible that the first
>> statement use indexes, the second one not? Can you quote the SQL
>> statement?
>
> Have only  1 program ( xxxx.exe )  , and only 1 database , There are
> always on PC3 ( server )


And the same function  needs more time and LAN traffic on PC 1 than on PC 2?
With exactly the same data and exactly the same result? I don't buy that Smile

> pc1 and pc 2 , are only client ( notthing is installed on pc1-pc2 )
> only a icon on desktop.
>
> note :
>
> I'm using a tDbIsamTable component.  ( filter... do while... seek. )
> NOT SQL !

Not good. A "while not eof()" reads the whole table, or at least the portion
defined by the filter or SetRange. Is the filter optimized? It seems that
the client has to read each record to decide if it is in the filter or not.

Look at the filter. Try it in dbsys and see if it's optimized. Not DBISAM is
doing something strance, you force DBISAM to read all the data. You have to
find a way to optimize that.

Ralf
Fri, Sep 8 2006 12:06 PMPermanent Link

"Enrico Ghezzi"
[ALL CUT]

You have not understood the problem.



In PC1  my program is FAST.  ( for execute my function PIPPO   read only 250
KB  from Network )
in PC2  my  programs in SLOW ( for execute my function PIPPO   read 23 MB
from Network )

WHY ?

i have increased  size of WINXP-SWAP FILE, and PC 2 is any time more
fast,now     .. but don't always.

if i restart pc or open any other programs , word..delphi...... and execute
my db function PIPPO  , PC2 return  slow.


Memory problems or engine Limits ?

Fri, Sep 8 2006 1:50 PMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Enrico


I'm with Ralf on this one. Its possible for 2 PC's with the same configuration to take a different time to run a process, especially if there are other apps running. But it isn't possible for them to transfer different amounts of data across the network.

Can you post the problem code together with code to generate test data onto the binaries and I'll have a look at it.

Roy Lambert
Fri, Sep 8 2006 2:14 PMPermanent Link

"Ralf Mimoun"
Enrico Ghezzi wrote:
....
> In PC1  my program is FAST.  ( for execute my function PIPPO   read
> only 250 KB  from Network )
> in PC2  my  programs in SLOW ( for execute my function PIPPO   read
> 23 MB from Network )
>
> WHY ?

Because there is a difference. In data, in the function itself, in the
filter you define... DBISAM _does_ _not_ _read_ a different amont of data
via LAN when you execute the same program from a different computer. Why
should it? And no, there is not much caching.

Ralf
Fri, Sep 8 2006 3:39 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Enrico,

<< WHY ? >>

Is the first PC still connected to the database tables when you run the
process on the second PC ?  If so, then the phenomenon that you're seeing is
caused by opportunistic locking:

http://www.elevatesoft.com/bulletin_6.htm

--
Tim Young
Elevate Software
www.elevatesoft.com

Sat, Sep 9 2006 2:07 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Tim


That would explain speed differences but what about amount of data transferred?

Roy Lambert
Sat, Sep 9 2006 7:27 AMPermanent Link

"Ralf Mimoun"
Roy Lambert wrote:
> Tim
>
> That would explain speed differences but what about amount of data
> transferred?

Opportunistic locking would allow client side caching. But if it's this,
then the test scenario is, well, flawed.

Ralf
Page 1 of 2Next Page »
Jump to Page:  1 2
Image