Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 20 total
Thread Problem on network enviroment
Thu, Sep 16 2010 4:47 AMPermanent Link

Hershcu Sorin

Hello

I encounter this problem in the past but can't figure if there is a
solution.

When several users work on the same app on a network enviroment
the first user can work fast (2-3 sec. to open a query)
the second user work very slow (30 sec. to open the same query) .

I'm using ver 2.04b2

Thanks
Sorin

Thu, Sep 16 2010 6:58 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Sorin

I'm guessing fileserver. If so I think this is a problem that's been encountered many times and is to do with the way Windows applies file locks. There's nothing Tim can do about it.

Roy Lambert [Team Elevate]
Thu, Sep 16 2010 7:36 AMPermanent Link

Hershcu Sorin

Thanks

The app and the database are on a server and the user work from station
networked to this serever.
Do you call it file server?

Thanks
Sorin

"Roy Lambert" <roy.lambert@skynet.co.uk> wrote in message
>
> I'm guessing fileserver. If so I think this is a problem that's been
> encountered many times and is to do with the way Windows applies file
> locks. There's nothing Tim can do about it.

Thu, Sep 16 2010 9:48 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Sorin


It sort of sounds like it. The simple way to figure it out is that if its not client/server then its fileserver.

Roy Lambert [Team Elevate]
Thu, Sep 16 2010 12:30 PMPermanent Link

Hershcu Sorin

"Roy Lambert" <roy.lambert@skynet.co.uk> wrote in message
>
> It sort of sounds like it. The simple way to figure it out is that if its
> not client/server then its fileserver.

No, it's not client/server
Quite a problem. Those are clients that I migrate from bde and now they
request to go back.

Thanks
Sorin

Fri, Sep 17 2010 6:14 AMPermanent Link

Jose Eduardo Helminsky

HPro Informatica

Sorin

If the environment is file server instead of client server, then I am pretty
sure the problem is related with opportunistic locking settings on Windows
server.

Check windows registry

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters\
OplocksDisabled should be 1

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
EnableOplocks should be 0

BTW, my suggestion is to change to client/server.
The application will run better (in general) than file server. It is more
secure too.

Eduardo

Fri, Sep 17 2010 8:06 AMPermanent Link

Hershcu Sorin

"Eduardo [HPro]" <contato@hpro.com.br> wrote in message
> If the environment is file server instead of client server, then I am
> pretty sure the problem is related with opportunistic locking settings on
> Windows server.
>
> Check windows registry
>
> HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRXSmb\Parameters\
> OplocksDisabled should be 1
>
> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
> EnableOplocks should be 0
>
> BTW, my suggestion is to change to client/server.
> The application will run better (in general) than file server. It is more
> secure too.

Thanks

Can I change those parameters on my clients registry machine without fear to
cause others problem?

I'll be happy to shift to client/server but this, I think, will demand lots
of changes on my app
so I postpone it meanwhile.

Thanks
Sorin


Fri, Sep 17 2010 2:10 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Sorin,

<< I encounter this problem in the past but can't figure if there is a
solution.

When several users work on the same app on a network enviroment the first
user can work fast (2-3 sec. to open a query) the second user work very slow
(30 sec. to open the same query) . >>

Try increasing the buffer sizes for your tables (several MB may help).
Apart from that, this is just due to the way that opportunistic locking
works in the SMB (and SMB2) protocols that are used by Windows for
file-sharing.  You can try disabling it, like Eduardo recommends, but that
should only result in the first user's open getting slower.  However, if it
does improve the performance of the second open, please post the results
here.  The "breaking" of the op-locks is not supposed to take very long, but
it may take a while in certain cases, and it would be interesting to know if
you're seeing one of those cases.  "Breaking" basically involves the file
server telling the first client to stop buffering data locally because
another client has connected.

--
Tim Young
Elevate Software
www.elevatesoft.com
Fri, Sep 17 2010 2:32 PMPermanent Link

Hershcu Sorin

"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message
>
> Try increasing the buffer sizes for your tables (several MB may help).
> Apart from that, this is just due to the way that opportunistic locking
> works in the SMB (and SMB2) protocols that are used by Windows for
> file-sharing.  You can try disabling it, like Eduardo recommends, but that
> should only result in the first user's open getting slower.  However, if
> it does improve the performance of the second open, please post the
> results here.  The "breaking" of the op-locks is not supposed to take very
> long, but it may take a while in certain cases, and it would be
> interesting to know if you're seeing one of those cases.  "Breaking"
> basically involves the file server telling the first client to stop
> buffering data locally because another client has connected.

Thanks

The query is selected from several tables. To increase the buffer of all?

Any specific buffer to increase page size, max row, etc.. or to increase
all?

Increasing will not have impact on others enviroment? The same app work also
as standalone and terminal/server.

Thanks
Sorin

Sat, Sep 18 2010 8:46 AMPermanent Link

Uli Becker

Sorin,

> I'll be happy to shift to client/server but this, I think, will demand lots
> of changes on my app
> so I postpone it meanwhile.

Don't worry: there are only small changes in the application, but the
benefits are great.

Just setting some properties are enough:

Sample:

procedure Tdm.MySessionBeforeConnect(Sender: TObject);
var
  CurrentIP: string;
begin
  CurrentIP := RegReadCommonString('RemoteAddress');
  if CurrentIP = '' then
  begin
    // Display a setup-form that requests the correct IP of EDBServer
  end;
  MySession.SessionType := stRemote;
  MySession.RemoteAddress := CurrentIP;
end;

You can also use the "RemoteHost" property instead of the
"RemoteAddress" property. In that case you have to assign the name of
the remote machine.

Regards Uli
Page 1 of 2Next Page »
Jump to Page:  1 2
Image