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

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

Postby gkuhnert » Fri Jul 18, 2008 8:48 am

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.
Best Regards,

Gilbert Kuhnert
CTO Software GmbH
http://www.ctosoftware.de
User avatar
gkuhnert
 
Posts: 274
Joined: Fri Apr 04, 2008 1:25 pm
Location: Aachen - Germany // Kerkrade - Netherlands

Postby Carles » Fri Jul 18, 2008 8:56 am

Hi gkuhnert,

Can you say to me how the packets are monitoring ?

Thanks
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
Carles
 
Posts: 1101
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Postby gkuhnert » Fri Jul 18, 2008 9:02 am

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
Last edited by gkuhnert on Fri Jul 18, 2008 9:05 am, edited 1 time in total.
Best Regards,

Gilbert Kuhnert
CTO Software GmbH
http://www.ctosoftware.de
User avatar
gkuhnert
 
Posts: 274
Joined: Fri Apr 04, 2008 1:25 pm
Location: Aachen - Germany // Kerkrade - Netherlands

Postby nageswaragunupudi » Fri Jul 18, 2008 9:04 am

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.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10295
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Postby anserkk » Sat Jul 19, 2008 5:21 am

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.
User avatar
anserkk
 
Posts: 1331
Joined: Fri Jun 13, 2008 11:04 am
Location: Kochi, India

Postby James Bott » Sat Jul 19, 2008 12:07 pm

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
User avatar
James Bott
 
Posts: 4840
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA

Postby gkuhnert » Mon Jul 21, 2008 7:44 am

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
Best Regards,

Gilbert Kuhnert
CTO Software GmbH
http://www.ctosoftware.de
User avatar
gkuhnert
 
Posts: 274
Joined: Fri Apr 04, 2008 1:25 pm
Location: Aachen - Germany // Kerkrade - Netherlands

Postby pymsoft » Mon Jul 21, 2008 3:41 pm

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.
Pedro Gonzalez
User avatar
pymsoft
 
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia

Postby James Bott » Mon Jul 21, 2008 11:28 pm

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
User avatar
James Bott
 
Posts: 4840
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA

Postby Rafael Clemente » Tue Jul 22, 2008 8:01 am

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
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Postby Antonio Linares » Tue Jul 22, 2008 8:58 am

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.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Rafael Clemente » Tue Jul 22, 2008 11:13 am

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
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Postby MOISES » Tue Jul 22, 2008 11:54 am

Rafa:

May be a problem with optimistic lock of XP. Try to disable it.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Postby Rafael Clemente » Tue Jul 22, 2008 12:06 pm

Moises:
What is Optimistic Lock in Xp? How to disable it?
Thanks
Rafael
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Postby gkuhnert » Tue Jul 22, 2008 1:01 pm

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.
Best Regards,

Gilbert Kuhnert
CTO Software GmbH
http://www.ctosoftware.de
User avatar
gkuhnert
 
Posts: 274
Joined: Fri Apr 04, 2008 1:25 pm
Location: Aachen - Germany // Kerkrade - Netherlands

Next

Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 43 guests