Page 1 of 3

XBrowse very slow in network with big databases (solved!)

PostPosted: Fri Jul 18, 2008 8:48 am
by gkuhnert
Hello,

were about to use XBrowse instead of WBrowse for our programs. And we're testing with a DBaseIII-database of about 30.000 records with ntx-indexes.
We observed, that XBrowse is very slow on large databases, when opening them from 2 computers or more, while WBrowse is fast.
Than we observed the network load with 4 different settings:

1) WBrowse over network opened on only one pc:
Searching a record took about 500 data-packets send and received

2) WBrowse over network opened on two pc:
Searching a record took about 3,000 data-packets send and received

3) XBrowse over network opened on one pc:
Searching a record took about 2,500 data-packets send and received

4) XBrowse over network opened on two pc:
Searching a record took about 43,000 data-packets send and received

As you can see, searching records, when the database is opened in network at two computers, takes with xbrowse about 13 times the load of the same search done with wbrowse. And so it takes up to 10 seconds to search and find a record, what is done within one second with wbrowse.

Has anyone experienced something similar and found a solution or workaround?
"SET DELETED OF" like proposed in another thread, didn't help at all.

PostPosted: Fri Jul 18, 2008 8:56 am
by Carles
Hi gkuhnert,

Can you say to me how the packets are monitoring ?

Thanks

PostPosted: Fri Jul 18, 2008 9:02 am
by gkuhnert
Hi Carles,

I opened the LAN-connection properties from MS Windows and got a Window "Status of LAN-connection" (my Windows is a German version, so I hope, I translated well enough to understand, which window I mean)

EDIT: and I wrote down the actual packet-numbers of packets standing there, then opened my xbrowse-window, searched for a name (always the same name) and wrote down the actual packet-numbers directly after the search.
My actual FWH is FWH 8.04

PostPosted: Fri Jul 18, 2008 9:04 am
by nageswaragunupudi
By far the WBrowse is the fastest and that fact is well known. Its virtue lies in the simplicity of architecture. XBrowse provides a lot more features which are not available in WBrowse and yes, it is slower than WBrowse.

Whatever browse we use, the speed of browsing on network depends on the RDD we use and "how" we use it.

I use xBrowse to browse dbf table with more than 600,000 records with record length of 733 bytes very comfortably on LAN and WAN with different speeds, with some connections with as low speeds as 64 KBPS. The performance is very satisfactory. I use ADS server.

Also, not having vertical scroll bar reduces number or reads to a great extent. ( I use vertical scorll bar though )

Optimizing use of large tables on various kinds of networks and databases is a topic by iteself. Once we accomplish that, the difference in speeds of browsers is a very minor issue.

PostPosted: Sat Jul 19, 2008 5:21 am
by anserkk
Dear Nageshwara Rao,

If u don't mind, can you tell me few words about the ADS server which you have mentioned.

1) Is it something related to the DBF file mangement ?
2) What is the advantage of using ADS ? OR in which situation we should
use ADS Server
3) Is ADS server a freeware or commercial ?
4) Any web page link on ADS to get more information

Regards

Anser

nageswaragunupudi wrote:By far the WBrowse is the fastest and that fact is well known. Its virtue lies in the simplicity of architecture. XBrowse provides a lot more features which are not available in WBrowse and yes, it is slower than WBrowse.

Whatever browse we use, the speed of browsing on network depends on the RDD we use and "how" we use it.

I use xBrowse to browse dbf table with more than 600,000 records with record length of 733 bytes very comfortably on LAN and WAN with different speeds, with some connections with as low speeds as 64 KBPS. The performance is very satisfactory. I use ADS server.

Also, not having vertical scroll bar reduces number or reads to a great extent. ( I use vertical scorll bar though )

Optimizing use of large tables on various kinds of networks and databases is a topic by iteself. Once we accomplish that, the difference in speeds of browsers is a very minor issue.

PostPosted: Sat Jul 19, 2008 12:07 pm
by James Bott
Gilbert,

Can you explain what you mean by "searching for records?" Did you mean displaying records, or are you doing a filter using the RDD's ordScope() or the browses SELECT?

James

PostPosted: Mon Jul 21, 2008 7:44 am
by gkuhnert
James,

we implemented a buffer search in a tget-field. After input of a character, every time a search for the nearest match is activated. The search is done with dbseek. After the search, the list of data is showed and the nearest match selected. We don't use filters, the complete list is showed. But SET DELETED is ON. However, changing SET DELETED to OFF doesn't change the performance.
But these performance-problems are also showing, when changing the index (sort) to another field.

Thanks for your thoughts

PostPosted: Mon Jul 21, 2008 3:41 pm
by pymsoft
Carles wrote:Hi gkuhnert,

Can you say to me how the packets are monitoring ?

Thanks



Carles, try this:


Aldo's NET Monitor, is free...

http://www.aldostools.com/netmon.html

Regards.

PostPosted: Mon Jul 21, 2008 11:28 pm
by James Bott
Gilbert,

Well, something doesn't seem right. If you are doing a dbseek() then redisplaying the browse, there shouldn't be much difference between one browse and the other. Both browses are reading approximately the same number of records and it is only enough to fill the browse.

Are you sure that there isn't something else going on in your code that is different between the two browses?

I have heard of another instance of browses being very slow when using Vista and two or more users. Are both of your browse tests running on the same hardware an OS?

Regards,
James

PostPosted: Tue Jul 22, 2008 8:01 am
by Rafael Clemente
James:
Some time ago I wrote an app which handled a rather small (6000 records) customers dbf. I used a TxBrowse for that.

The app ran fine on a single PC. It slowed somehow when working on a LAN with 2 PCs. It became totally unusable when 4 PCs were accesing it.

It was so slow (a single seek took several seconds) that I decided to change the design: Loaded the whole table on an array and browsed the array. It is working fine since then but, of course, this is no definitive solution.

I am now rewriting the whole app, taking much care in every detail so that I can test it again on the same LAN. In the meanwhile, any suggestion toimprove its performance would be very welcome.

Rafael

PostPosted: Tue Jul 22, 2008 8:58 am
by Antonio Linares
Rafael,

What Windows version did you use ? All the computers had the same operating system ?

Our experience with xbrowse here is excellent, right speed, using XP and Vista. Using DBFCDX RDD.

PostPosted: Tue Jul 22, 2008 11:13 am
by Rafael Clemente
Antonio

Windows XP SP2 in all the PCs. Fix IPs in all of them. Data in one PC and all the others accesing it. Each PC has its own local copy of the app.

This matter was discussed with my post of 26 jul 2007, one year ago. Someone suggested that I dumped the table in an array which is what I did. It has been working fine since then, but, of course with some limitations (slow start-up, difficult to update records, etc). That's why I want to give it another try.

Rafael

PostPosted: Tue Jul 22, 2008 11:54 am
by MOISES
Rafa:

May be a problem with optimistic lock of XP. Try to disable it.

PostPosted: Tue Jul 22, 2008 12:06 pm
by Rafael Clemente
Moises:
What is Optimistic Lock in Xp? How to disable it?
Thanks
Rafael

PostPosted: Tue Jul 22, 2008 1:01 pm
by gkuhnert
James, Antonio,

at first, thanks for your help.
But every database-connection is exactly the same, only difference is if I create a xbrowse or wbrowse.

We use .ntx files as indexfiles. Are cdx-files faster?

The problems also only show, if I'm using a very big .dbf File, at least 25.000 records and use them on at least 2 computers at the same time. The data transfer with xbrowsing the same database from two computers is about 17 times as high as xbrowse on only a single computer. The information about data-transfer I gathered was on a 2 computer with XP SP2 constellation. But when using Vista-XP combination gives the same feeling about sloweliness.

I must say we like xBrowse and it's possibilities very much and really want to offer our customers the comfort of this browse. However we cannot offer it, as long as the performance issue isn't resolved. I hope, there is still hope.