f



Slow performance with >1 user on server

One of our program is installed on a server where it used by 3 users
or less. They noticed that the program is very fast - until a 2nd/3rd
user starts working with it at the same time. Then just changing a
value, e.g. via a bBrowser, or looking up data can take so long
(saying the useal 'the program is not responding') that they break the
program a few times an hour and restart.

The program doesn't do anything real different from what we installed
for years and which doesn't give that problem. We tried using the data
via ADS (local server) and DBFCDX which does not make a difference. I
think a virusscanner couldn't cause it (I asked their IT department to
check that but they are very slow to respond) because that would slow
down one user as well.

Server I don't know but I expect something like Windows Server,
probably 2008 and PC's are Windows 7. It's in a corporate environment
with lots of restrictions. 

Is there anything I have forgotten to check?

Dick
0
D
11/10/2016 12:59:51 PM
comp.clipper.visual-objects 12618 articles. 0 followers. Post Follow

17 Replies
434 Views

Similar Articles

[PageSpeed] 25

Dear D.J.W. van Kooten:

On Thursday, November 10, 2016 at 5:59:53 AM UTC-7, D.J.W. van Kooten wrote:
> One of our program is installed on a server where
> it used by 3 users or less.

.... can you say more about this statement?  Is the program actually run with each user tromping on the same directory on the server, or is the executable and "workspace" on the local machines?

> Is there anything I have forgotten to check?

"terminal services"

David A. Smith
0
dlzc
11/10/2016 2:20:25 PM
Replying on message of Thu, 10 Nov 2016 06:20:25 -0800 (PST) from
dlzc:

 Hello David,

>> One of our program is installed on a server where
>> it used by 3 users or less.
>
>... can you say more about this statement?  
>Is the program actually run with each user tromping on the same directory on the server,
> or is the executable and "workspace" on the local machines?

The same executable is loaded from the server for all users.
>
>> Is there anything I have forgotten to check?
>
>"terminal services"
>

Well, it's not a remote desktop environment. They have access from
PC's to the serverdisk directly.

Does this give you a clue?

Dick
0
D
11/10/2016 3:33:16 PM
Dear D.J.W. van Kooten:

On Thursday, November 10, 2016 at 8:33:18 AM UTC-7, D.J.W. van Kooten wrote=
:
> Replying on message of Thu, 10 Nov 2016 06:20:25 -0800 (PST) from
> dlzc:
>=20
> >> One of our program is installed on a server where
> >> it used by 3 users or less.
> >
> >... can you say more about this statement? =20
> >
> > Is the program actually run with each user
> > tromping on the same directory on the server,
> > or is the executable and "workspace" on the local
> > machines?
>=20
> The same executable is loaded from the server for
> all users.

OK.  Is there a workspace set up on the local machine, or are they tromping=
 in the same directory on the server.  (This was my only helpful hint.)  Wi=
th a shortcut on their desktop, with a work directory located in their "My =
Documents" folder somewhere, does this same slowdown behavior occur?

> >> Is there anything I have forgotten to check?
> >
> >"terminal services"
>=20
> Well, it's not a remote desktop environment. They
> have access from PC's to the serverdisk directly.
>=20
> Does this give you a clue?

This was not a hint as to the problem, but a hint at a different, perhaps s=
uperior, solution.  If these were "terminal services" sessions, I'd bet the=
 problem would disappear too.

Beyond this, I don't do VO (nosy over in xHarbour), so I won't be able to p=
rovide more in depth help.

David A. Smith
0
dlzc
11/10/2016 5:32:48 PM
Hi Dick,

in my experience what matters the most is the size of the dbf-files. The ma=
ny users are working simultaniously in a large dbf it will be slow.
The difference in speed for a single user versus multiple users depends on =
how client caching works in windows. If a client is the only user on a dbf =
the client OS is allowed to cache data. If there are multiple users no cach=
ing is allowed. There has been a lot of experimenting with windows register=
 keys that controls caching and locking in this forum. Search for "CurrentC=
ontrolSet\Services\LanmanServer" and you will find lots of postings.

/Mathias

Den torsdag 10 november 2016 kl. 13:59:53 UTC+1 skrev D.J.W. van Kooten:
> One of our program is installed on a server where it used by 3 users
> or less. They noticed that the program is very fast - until a 2nd/3rd
> user starts working with it at the same time. Then just changing a
> value, e.g. via a bBrowser, or looking up data can take so long
> (saying the useal 'the program is not responding') that they break the
> program a few times an hour and restart.
>=20
> The program doesn't do anything real different from what we installed
> for years and which doesn't give that problem. We tried using the data
> via ADS (local server) and DBFCDX which does not make a difference. I
> think a virusscanner couldn't cause it (I asked their IT department to
> check that but they are very slow to respond) because that would slow
> down one user as well.
>=20
> Server I don't know but I expect something like Windows Server,
> probably 2008 and PC's are Windows 7. It's in a corporate environment
> with lots of restrictions.=20
>=20
> Is there anything I have forgotten to check?
>=20
> Dick

0
Mathias
11/11/2016 10:05:27 AM
Replying on message of Fri, 11 Nov 2016 02:05:27 -0800 (PST) from
Mathias:


 Hello Mathias, David,



>Hi Dick,
>
>in my experience what matters the most is the size of the dbf-files. The many users are working simultaniously in a large dbf it will be slow.
>The difference in speed for a single user versus multiple users depends on how client caching works in windows. 
>If a client is the only user on a dbf the client OS is allowed to cache data.
>Search for "CurrentControlSet\Services\LanmanServer" and you will find lots of postings.
>

My program is set up such that it opens the files on c: if I move the
exe there. I have to check what again I have to do to change that. A
quick experiment (everyone working with their own copy of the exe,
which solved other problems for various clients in the near past) did
not make a difference.

The databases are not large. About 2000-5000 records. I will check the
caching - the problem will no doubt be that I need their IT to make
changes and although a few perople in that department are certainly
helpful to me, the official way is to file a request after which it
starts taking ages...

I have seen it today again. I open the screen with the bBrowser on it,
the blue circle starts spinning, the time on the shellwindow stops
being updated and when I kill the program after nothing happened
during 2 minutes, restart and open the screen again, it opens
immediately.

Very frustrating.

Dick
0
D
11/11/2016 2:58:02 PM
Dick,

If you can get a hub inserted in between the server and users you can use
wireskark to watch the packets. Sometimes you can see things that are
causing issues. You can also run wireshark on the server. I did a sniff on
a network once with a similar issue and it turned out to be a user who was
getting an error and minimizing the record error box instead of dealing
with it. That put a lock on the entire database and caused the other users
issues. 

Regards,
Willie
Grafx Development Team 
0
Willie
11/11/2016 8:07:19 PM
Dick,

Does the following link make sense?

http://www.apollodb.com/using_engine_network.asp

Quoting from above link (just in case it is no longer available):

The crux of the problem is that even after the 2nd user closes his 
connection to the database, and the first user is back to being the only 
user working on the database, this first users's Windows workstation does 
not resume exclusive mode file access until the file (i.e. database) is 
closed and re-opened. This is the reason why all desktop applications 
running in this type of "file server" mode suffer from poor multi-user 
performance and why database applications especially experience data 
corruption and various other locking problems. Any long time Jet/Access 
developer will recognize this scenario.

The article goes on and recommends Apollo Server which utilizes TCP/IP via 
SQL commands. ADS is another alternative.

If you stick to your current setup, you really cannot do that much about the 
speed. However, an EXE at each workstation would help somewhat.

Ultimately, the best solution is to move to SQL.

Jamal

"D.J.W. van Kooten"  wrote in message 
news:7br82c1mvbg0s6isv68j324k9er2nqahg0@4ax.com...

One of our program is installed on a server where it used by 3 users
or less. They noticed that the program is very fast - until a 2nd/3rd
user starts working with it at the same time. Then just changing a
value, e.g. via a bBrowser, or looking up data can take so long
(saying the useal 'the program is not responding') that they break the
program a few times an hour and restart.

The program doesn't do anything real different from what we installed
for years and which doesn't give that problem. We tried using the data
via ADS (local server) and DBFCDX which does not make a difference. I
think a virusscanner couldn't cause it (I asked their IT department to
check that but they are very slow to respond) because that would slow
down one user as well.

Server I don't know but I expect something like Windows Server,
probably 2008 and PC's are Windows 7. It's in a corporate environment
with lots of restrictions.

Is there anything I have forgotten to check?

Dick 

0
Jamal
11/12/2016 8:02:55 PM
Hi Dick,

if you have performance issues, the best thing you can do is to switch
to ADS.

Another solution I have implemented is to switch to SSD drives in the
server and making sure that the clients have at least 1 GB cabled
connections to the server. But of course the performance gain is not so
good as with ADS.

Wolfgang


Jamal wrote:

> Dick,
> 
> Does the following link make sense?
> 
> http://www.apollodb.com/using_engine_network.asp
> 
> Quoting from above link (just in case it is no longer available):
> 
> The crux of the problem is that even after the 2nd user closes his
> connection to the database, and the first user is back to being the
> only user working on the database, this first users's Windows
> workstation does not resume exclusive mode file access until the file
> (i.e. database) is closed and re-opened. This is the reason why all
> desktop applications running in this type of "file server" mode
> suffer from poor multi-user performance and why database applications
> especially experience data corruption and various other locking
> problems. Any long time Jet/Access developer will recognize this
> scenario.
> 
> The article goes on and recommends Apollo Server which utilizes
> TCP/IP via SQL commands. ADS is another alternative.
> 
> If you stick to your current setup, you really cannot do that much
> about the speed. However, an EXE at each workstation would help
> somewhat.
> 
> Ultimately, the best solution is to move to SQL.
> 
> Jamal
> 
> "D.J.W. van Kooten"  wrote in message
> news:7br82c1mvbg0s6isv68j324k9er2nqahg0@4ax.com...
> 
> One of our program is installed on a server where it used by 3 users
> or less. They noticed that the program is very fast - until a 2nd/3rd
> user starts working with it at the same time. Then just changing a
> value, e.g. via a bBrowser, or looking up data can take so long
> (saying the useal 'the program is not responding') that they break the
> program a few times an hour and restart.
> 
> The program doesn't do anything real different from what we installed
> for years and which doesn't give that problem. We tried using the data
> via ADS (local server) and DBFCDX which does not make a difference. I
> think a virusscanner couldn't cause it (I asked their IT department to
> check that but they are very slow to respond) because that would slow
> down one user as well.
> 
> Server I don't know but I expect something like Windows Server,
> probably 2008 and PC's are Windows 7. It's in a corporate environment
> with lots of restrictions.
> 
> Is there anything I have forgotten to check?
> 
> Dick



-- 

0
Wolfgang
11/13/2016 9:41:29 AM
Dick,

About your experience: this is SMB-2 and SMB-3! Let me explaine:

If a user opens a DBF-file, the windows server knowns that there is
only 1 user. So, windows server pushes (in background) all data to the
client computer. When the client computer reads / write data from the
DBF, it is read from the internal cache of the local computer, even
when the DBF is opened in shared mode.

As soon as a second user opens the database, the cache on the first
computer is deleted, and read /write operations will be on the server
and are NOT running in background. So, the performance will be about 5
a 10 times slower, especially with small DBF-files, because the whole
file is cached.

If the second user close the file, the cache will NOT be restored on
the first client. The cache will only be restored after closing and
reopening the file.

I hope this explains a lot.

Cheers, Dirk (Belgium)

=============================================== 

D.J.W. van Kooten wrote:

> One of our program is installed on a server where it used by 3 users
> or less. They noticed that the program is very fast - until a 2nd/3rd
> user starts working with it at the same time. Then just changing a
> value, e.g. via a bBrowser, or looking up data can take so long
> (saying the useal 'the program is not responding') that they break the
> program a few times an hour and restart.
> 
> The program doesn't do anything real different from what we installed
> for years and which doesn't give that problem. We tried using the data
> via ADS (local server) and DBFCDX which does not make a difference. I
> think a virusscanner couldn't cause it (I asked their IT department to
> check that but they are very slow to respond) because that would slow
> down one user as well.
> 
> Server I don't know but I expect something like Windows Server,
> probably 2008 and PC's are Windows 7. It's in a corporate environment
> with lots of restrictions. 
> 
> Is there anything I have forgotten to check?
> 
> Dick

0
Dirk
11/14/2016 8:41:29 AM
Dirk,

>I hope this explains a lot.
apart from the text below, which, imo, says, that the problem appears
in ONE install, i.e., all the others don't show this behaviour...

Karl

>Cheers, Dirk (Belgium)
>
>=============================================== 
>
>D.J.W. van Kooten wrote:
>
>> One of our program is installed on a server where it used by 3 users
>> or less. They noticed that the program is very fast - until a 2nd/3rd
>> user starts working with it at the same time. Then just changing a
>> value, e.g. via a bBrowser, or looking up data can take so long
>> (saying the useal 'the program is not responding') that they break the
>> program a few times an hour and restart.
>> 
>> The program doesn't do anything real different from what we installed
>> for years and which doesn't give that problem. 
Regards

Karl
0
Karl
11/14/2016 9:07:19 AM
Il 14/11/2016 10:07, Karl Faller ha scritto:
> Dirk,
>
>> I hope this explains a lot.
> apart from the text below, which, imo, says, that the problem appears
> in ONE install, i.e., all the others don't show this behaviour...
>
> Karl
>
>> Cheers, Dirk (Belgium)
>>
>> ===============================================
>>
>> D.J.W. van Kooten wrote:
>>
>>> One of our program is installed on a server where it used by 3 users
>>> or less. They noticed that the program is very fast - until a 2nd/3rd
>>> user starts working with it at the same time. Then just changing a
>>> value, e.g. via a bBrowser, or looking up data can take so long
>>> (saying the useal 'the program is not responding') that they break the
>>> program a few times an hour and restart.
>>>
>>> The program doesn't do anything real different from what we installed
>>> for years and which doesn't give that problem.
> Regards
>
> Karl
>

SMB-2 problem is real
somewhere there is a post of mine with regkeys to disable SMB-2
give it a try and see if this helps

*Massimo Bighelli* ARCA Sistemi S.r.l.
0
Massimo
11/14/2016 10:37:04 AM
Massimo,
>SMB-2 problem is real
didn't doubt that - but still wonder, why problem should happen ONLY
on this machine...

K.
Regards

Karl
0
Karl
11/14/2016 11:08:14 AM
Il 14/11/2016 12:08, Karl Faller ha scritto:
> Massimo,
>> SMB-2 problem is real
> didn't doubt that - but still wonder, why problem should happen ONLY
> on this machine...
>
> K.
> Regards
>
> Karl
>
maybe it's related to x86 vs x64 OS
protocols are not identical
maybe it's related to other software installed that changed SMB options
difficult to say

*Massimo Bighelli* ARCA Sistemi S.r.l.
0
Massimo
11/14/2016 11:26:08 AM
Sounds a bit like SMB issues to me.

I would recommend disabling SMB2 and 3 and trying again.

MS just do not get proper network access.

Failing that try a 3 user ADS server version trial.

On 10/11/2016 12:59, D.J.W. van Kooten wrote:
> One of our program is installed on a server where it used by 3 users
> or less. They noticed that the program is very fast - until a 2nd/3rd
> user starts working with it at the same time. Then just changing a
> value, e.g. via a bBrowser, or looking up data can take so long
> (saying the useal 'the program is not responding') that they break the
> program a few times an hour and restart.
>
> The program doesn't do anything real different from what we installed
> for years and which doesn't give that problem. We tried using the data
> via ADS (local server) and DBFCDX which does not make a difference. I
> think a virusscanner couldn't cause it (I asked their IT department to
> check that but they are very slow to respond) because that would slow
> down one user as well.
>
> Server I don't know but I expect something like Windows Server,
> probably 2008 and PC's are Windows 7. It's in a corporate environment
> with lots of restrictions.
>
> Is there anything I have forgotten to check?
>
> Dick
>

0
Martin
11/14/2016 11:32:22 AM
On Monday, November 14, 2016 at 4:32:24 AM UTC-7, Martin wrote:
....
> Failing that try a 3 user ADS server version trial.

Or "terminal services", with the application running on one machine, in 1+ sessions.

David A. Smith
0
dlzc
11/14/2016 3:23:05 PM
Replying on message of Thu, 10 Nov 2016 13:59:51 +0100 from D.J.W. van
Kooten:


Thanks everyone for the suggestions. In general I am not allowed to
come even near the server there. Even worse: the IT support branch in
Holland of that company may have to ask permission in the country of
origin of the multinational to get things done. So I doubt if I would
ever get permission to install ADS Server for example.

I suspected (combining what you all wrote) the use of the well known
Wildseek function to cause delay for others. Most seeks were done this
way and I added some regular index seeks but I haven't heard them back
yet if it made a difference. Yesterday I ran a simple loop DO..WHILE
(suspendnotification on, nothing special) Adding records, getting back
to previous recordnumbers before the append. It stopped at 40% on one
specific record. I saw that earlier and then it worked again after the
3rd retry. Really nothing wrong with program or data or that record. I
copied the 2 DBF + 2 CDX file to my PC, ran the very same exe on the
very same data here and was able to upload the (without problems) the
modified data 1 minute later.

In the meantime, the work which required 2-3 persons at the same time
has been mostly finished so the speed complaints fade out. It will be
peak days next year around this time so maybe if I start to apply for
some server solutions now it could work fine next year.

Dick
0
D
11/16/2016 4:17:09 PM
Dear D.J.W. van Kooten:

On Wednesday, November 16, 2016 at 9:17:11 AM UTC-7, D.J.W. van Kooten wrote:
....
> In the meantime, the work which required 2-3 persons
> at the same time has been mostly finished so the speed
> complaints fade out. It will be peak days next year
> around this time so maybe if I start to apply for
> some server solutions now it could work fine next year.

Or move them to "terminal services", at no extra cost, or just the cost of dedicated terminal services "server", and the problem disappears.

David A. Smith
0
dlzc
11/16/2016 5:08:14 PM
Reply: