Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 1 to 10 of 11 total |
[Hard problem for TIM] Too much MB for to read few fields |
Fri, Sep 8 2006 5:22 AM | Permanent 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 AM | Permanent 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 AM | Permanent 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 AM | Permanent 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 > 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 PM | Permanent 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 PM | Permanent Link |
Roy Lambert NLH Associates 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 PM | Permanent 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 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. 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 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Tim
That would explain speed differences but what about amount of data transferred? Roy Lambert |
Sat, Sep 9 2006 7:27 AM | Permanent 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 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Saturday, June 22, 2024 at 05:51 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |