Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 1 to 9 of 9 total |
Opportunistic Locking |
Wed, Jul 5 2006 1:39 PM | Permanent Link |
"Sean M. McDermott" | DBISAM V4 shared but not C/S
2 systems, both XP Home, one with the shared datafiles I will call the server the other client. The server boots into my program in 4 seconds. The client alone (without server running) takes about 8 seconds. As soon as both machines are running my program, the boot time takes between 14 to 18 seconds. As per an earlier thread, I have set the workstation: UseOpportunisticLocking = 1; UtilizeCaching = 1 and on the server: EnableOpLocks = 1; and OpLocksDisabled = 0 Any ideas what else I can do? I have tried various things but it is definitely when the second system starts that everything slows down dramatically. TIA, Sean |
Thu, Jul 6 2006 2:16 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Sean,
<< 2 systems, both XP Home, one with the shared datafiles I will call the server the other client. The server boots into my program in 4 seconds. The client alone (without server running) takes about 8 seconds. As soon as both machines are running my program, the boot time takes between 14 to 18 seconds. >> Whoa, what is going on during the program startup ? Even 4 seconds is a lot of time. Also, what is the bandwidth of the network used by the machines ? << Any ideas what else I can do? I have tried various things but it is definitely when the second system starts that everything slows down dramatically. >> There's not much you can do apart from increasing the network speed or increasing the buffering in DBISAM in the application: http://www.elevatesoft.com/dbisam4d5_customizing_engine.htm under "Memory Buffer Customizations". Doubling or tripling the default values should help some. You have to remember is that with two clients, what you're seeing is the real network performance. |
Fri, Jul 7 2006 8:21 AM | Permanent Link |
"Sean M. McDermott" | Hi Tim, I do open about 20 tables at startup with the largest table being
about 42K records or 23MB for that one table alone. In total, the database is currently 108MB although not all of these tables are opened at startup. The network is 100MBPS with two systems, both Win XP machines with 512MB and 1024MB RAM and 3-4GHz processors. I have a feeling my design needs some reworking but I was hoping for a magic bullet fix of some sort. I have run a myriad of tests with various registry settings as per Microsoft. When I halved the size of the database by getting rid of early records, the performance improved only marginally by one second each on startup of the app. So I have to believe there is more to it than my design and that the network has a lot to do with it. If I convert to C/S, would that solve some of these issues? I will also look into buffering. All for now, thanks, Sean "Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message news:C9961F7B-71CD-49BD-9CE2-CB7C93D22834@news.elevatesoft.com... > Sean, > > << 2 systems, both XP Home, one with the shared datafiles I will call the > server the other client. The server boots into my program in 4 seconds. > The client alone (without server running) takes about 8 seconds. As soon > as both machines are running my program, the boot time takes between 14 to > 18 seconds. >> > > Whoa, what is going on during the program startup ? Even 4 seconds is a > lot of time. Also, what is the bandwidth of the network used by the > machines ? > > << Any ideas what else I can do? I have tried various things but it is > definitely when the second system starts that everything slows down > dramatically. >> > > There's not much you can do apart from increasing the network speed or > increasing the buffering in DBISAM in the application: > > http://www.elevatesoft.com/dbisam4d5_customizing_engine.htm > > under "Memory Buffer Customizations". Doubling or tripling the default > values should help some. > > You have to remember is that with two clients, what you're seeing is the > real network performance. > |
Fri, Jul 7 2006 9:02 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Sean
From personal experience its not just the number or size of tables opened its what you do with them. Lots of data aware controls, master-details relationships and filters all take their toll. As an interesting experiment how long does it take with a blank form, no relationships or filters etc to open the same tables? Roy Lambert |
Fri, Jul 7 2006 10:18 AM | Permanent Link |
Jason Lee | Sean,
The best decision I ever made was to take my application to C/S from shared file. First, the locking slowdown disappeared. Second, your app becomes more robust and you can move large portions of functionality to the DBISAM Database server via procedures, functions, events, etc. Just too many benefits to list, I never looked back. Regards, Jason Lee Sean M. McDermott wrote: > DBISAM V4 shared but not C/S > > 2 systems, both XP Home, one with the shared datafiles I will call the > server the other client. The server boots into my program in 4 seconds. The > client alone (without server running) takes about 8 seconds. As soon as both > machines are running my program, the boot time takes between 14 to 18 > seconds. As per an earlier thread, I have set the workstation: > UseOpportunisticLocking = 1; UtilizeCaching = 1 and on the server: > EnableOpLocks = 1; and OpLocksDisabled = 0 > > Any ideas what else I can do? I have tried various things but it is > definitely when the second system starts that everything slows down > dramatically. TIA, Sean > > |
Fri, Jul 7 2006 11:23 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Sean,
<< I have a feeling my design needs some reworking but I was hoping for a magic bullet fix of some sort. I have run a myriad of tests with various registry settings as per Microsoft. When I halved the size of the database by getting rid of early records, the performance improved only marginally by one second each on startup of the app. So I have to believe there is more to it than my design and that the network has a lot to do with it. >> I would recommend what Roy stated - try a simple application where all that occurs are the table opens, and see how fast it performs. If it is reasonable, then the issue is not with the table opens, but rather with the amount of lookup fields or other event-driven data operations that are occurring during the application startup. << If I convert to C/S, would that solve some of these issues? >> To some extent, yes. However, if the issue is a lot of lookups, etc. in the application, then it might have issues even with C/S. -- Tim Young Elevate Software www.elevatesoft.com |
Mon, Jul 10 2006 4:04 PM | Permanent Link |
"Sean McDermott" | Thanks all, I am going to try Roy's suggestion and see where it gets me.
Maybe just switching some table to open only when they are first needed will help. Cheers all, Sean "Jason Lee" <computerguy@wavecable.com> wrote in message news:B3E2BD13-1660-4A07-B6FF-0FABD58AF268@news.elevatesoft.com... > Sean, > > The best decision I ever made was to take my application to C/S from > shared file. First, the locking slowdown disappeared. Second, your app > becomes more robust and you can move large portions of functionality to > the DBISAM Database server via procedures, functions, events, etc. > > Just too many benefits to list, I never looked back. > > Regards, > > Jason Lee > > Sean M. McDermott wrote: >> DBISAM V4 shared but not C/S >> >> 2 systems, both XP Home, one with the shared datafiles I will call the >> server the other client. The server boots into my program in 4 seconds. >> The client alone (without server running) takes about 8 seconds. As soon >> as both machines are running my program, the boot time takes between 14 >> to 18 seconds. As per an earlier thread, I have set the workstation: >> UseOpportunisticLocking = 1; UtilizeCaching = 1 and on the server: >> EnableOpLocks = 1; and OpLocksDisabled = 0 >> >> Any ideas what else I can do? I have tried various things but it is >> definitely when the second system starts that everything slows down >> dramatically. TIA, Sean >> |
Fri, Aug 4 2006 2:01 PM | Permanent Link |
"Sean M. McDermott" | Solved: I had a series of database changes and index rebuilds built into the
loading of the data so that I would be able to upgrade users of older versions of the program automatically. I have now moved these features to a utilities program and all is faster now. Load times have gone from 14 seconds to 1-2 seconds. Thanks all. sometimes it is the obvious stuff that escapes me...Cheers, Sean "Sean McDermott" <sean@horizoncanada.com> wrote in message news:F047C0D9-6028-4C39-8246-78BEF2C37793@news.elevatesoft.com... > Thanks all, I am going to try Roy's suggestion and see where it gets me. > Maybe just switching some table to open only when they are first needed > will help. Cheers all, Sean > > > "Jason Lee" <computerguy@wavecable.com> wrote in message > news:B3E2BD13-1660-4A07-B6FF-0FABD58AF268@news.elevatesoft.com... >> Sean, >> >> The best decision I ever made was to take my application to C/S from >> shared file. First, the locking slowdown disappeared. Second, your app >> becomes more robust and you can move large portions of functionality to >> the DBISAM Database server via procedures, functions, events, etc. >> >> Just too many benefits to list, I never looked back. >> >> Regards, >> >> Jason Lee >> >> Sean M. McDermott wrote: >>> DBISAM V4 shared but not C/S >>> >>> 2 systems, both XP Home, one with the shared datafiles I will call the >>> server the other client. The server boots into my program in 4 seconds. >>> The client alone (without server running) takes about 8 seconds. As soon >>> as both machines are running my program, the boot time takes between 14 >>> to 18 seconds. As per an earlier thread, I have set the workstation: >>> UseOpportunisticLocking = 1; UtilizeCaching = 1 and on the server: >>> EnableOpLocks = 1; and OpLocksDisabled = 0 >>> >>> Any ideas what else I can do? I have tried various things but it is >>> definitely when the second system starts that everything slows down >>> dramatically. TIA, Sean >>> > |
Mon, Aug 7 2006 2:52 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Sean,
<< Solved: I had a series of database changes and index rebuilds built into the loading of the data so that I would be able to upgrade users of older versions of the program automatically. I have now moved these features to a utilities program and all is faster now. Load times have gone from 14 seconds to 1-2 seconds. Thanks all. sometimes it is the obvious stuff that escapes me...Cheers, Sean >> Yep, that will do it. -- Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Sunday, May 19, 2024 at 08:46 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |