Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Multi-user - Slow - FPD 2.6
Message
 
 
To
29/11/2003 06:01:48
General information
Forum:
Visual FoxPro
Category:
FoxPro 2.x
Miscellaneous
Thread ID:
00850547
Message ID:
00854465
Views:
24
---------
Usually most members refere to VFP when they give a solution. I thought it was a feature of VFP. We are using optimistic locking ( during save )
---------

For future reference, Optimistic/Pessimistic locking is not a 'feature' of any product, it's just a way of describing a multi-user strategy that would be an appropriate frame of reference for other products as well, some of which are not databases <s>.

-----------
My first message tells the settings for multi-user setup
-----------

No, actually, it did not <s>. That's why I asked.

EXCLU, REFRESH, etc, are only a part of the picture; whether you're reading to memvars etc is important in figuring this stuff out.

-----------------
Since just recently we have made the application Multi-user, we are using FLOCK(). We are locking the first table that is updated during a save operation. Therefore if another user tries to do the same, they have to wait until FLOCK() is released.
-----------------

First off, you may not have to do this. Obviously you've implemented some form of transaction-emulation here, but in most cases you do not have to lock a whole file to perform this type of thing. Have you thought about locking a block of records rather than the file?

-----------
Now if this slows down things, then even if only one User is saving an Invoice, then it should not be slow from a node.
-------------

That's where the READ NOLOCK thing comes in. Ordinarily it only comes into play when you are reading directly to tables, but it's possible to invoke the lock without realizing it, if you have objects based on actual information in the tables -- it's possible that even a refreshable SAY is responsible. I've seen this drastically slow up FPW applications, just because two people happened to be paging through the same records at the same time. They don't have to be *saving*. You see tremendous sluggishness because they're both attempting to look at a record and there's intermittent contention.

This may not be your issue, I'm just trying to make sure that it isn't involved.

You have also indicated that you are "treating one node as a server" but it's not clear to me whether you have the EXE local or on that node. IOW, yes I understand that the data is accessed by multiple users but that's no reason why the application can't be loaded on all the clients.

Additionally, although somebody else has already advised you to make sure that tempfiles are local, you may not have optimised how much data has to travel over the wire. Now that your tables are not on the local box, you will want to pay more addition to things like temporary local indexes, Rushmore to optimise queries, etc, all to make sure that FPW isn't passing huge tables across the wire every time tables are opened.

>L<
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform