Performance lowered when using client/server mode

We’ve a customer that is using Navision 2.1 (the problem is still when using 2.6 program)… He has a process that has to access a lot of data and make verifications for showing a list with the results. When calling that process opening the database as local database (using a database cache of 8000), the process takes aprox 20 seconds. When opening the database as client connected to a server (the server is the same computer we used for opening the database in local mode) from another computer it takes aprox 2 minutes. When opening the database from the the same computer, but as local database reading the database from the server one, it takes again about 20 seconds. When opening the database as client/server from the own server, it takes about 20 seconds… The problem is that the customer is using the problematic configuration (the client/server connected computers), so the process is taking him 2 minutes when it should take a maximum of 20-30 seconds. I’ve tried raising the commit cache and the database cache on the server and on the client, but none seems to make a big difference… i’ve renamed the CPUMONI.EXE file as it was taking the 100% CPU (now it’s all time CPU ok leveled…), but i cannot still found a logical explanation of why it takes so much running this process (it’s a process commonly used on the work, so it should be as fast as possible). We’ve checked all the keys used in the process for being sure it was using the correct ones and the code is as fast as it can be (all filtered records using the correct keys, calcsums when available using them… etc). Has anyone an idea of how we can improve the speed on it? Thnx a lot. Alfonso Pertierra – Alfonso Pertierra Spain Western Computer Los Angeles, California

So, it takes longer whenever data has to travel across the network? If that is the case, what is your network speed? Perhaps you are using 10Mb/s Ethernet and you can move to 100Mb/s?

Nope… it just takes longer when the data goes through a network in client/server mode. It’s something like this: Database on Client on Mode Time Server Server Client/Server 20s. Server Server Local Database 20s. Server Computer2 Local Database 20s. Server Computer2 Client/Server 2 min. – Alfonso Pertierra Spain Western Computer Los Angeles, California

Maybe you need a larger object cache?

Nope, Jim… the object cache is ok (it gives no better performance in this case). After a few tests and a bit of help we’ve detected that the problem is being on the network performance (the 4000 bytes packets performance test results are giving us a really low rate). So we’ll try testing it on a 100Mb network instead of on the 10Mb we’re using and try a couple of improvements on the computer’s network configuration for trying to improve that speed… (it’s something really terrorific, as the network perfomance when we open the same database from the same client but instead of using server/client mode as local database using the database stored on the server, it’s almost as with a locally stored database…) – Alfonso Pertierra Spain Western Computer Los Angeles, California

Maybe try also using routing switches for network connections rather than hubs or ordinary routers? Dave Studebaker Liberty Grove Software A Navision Services Partner

Hi Alfonso, i faced the same problem quite a time ago. The solution was to change the MTU-parameter (one of the TCP/IP-parameters) on the server-machine. You have to play a little with the MTU-size, because the right value depends very much on your special system. We got the problem fixed on different systems with completly different values. Values that worked perfectly on one server have been completly wrong for the others. Try values nearly above and under the default-value. Maybe a little time consuming … but i think you can fix it that way. See for a description of the MTU Regards, Richard Edited by - rmotzer on 2001 Oct 02 11:41:08

Have you checked that your packets are not fragmented.

if connecting to the navision server is taking a long time then what is the name of the navision server you are connecting to? if the name of the navision server is the same as the name of your physical server as identified in the network, maybe you can try and change the name of the navision server to another name. i have heard from some people at navision that this would improve the time it takes to connect to the server. but i personnaly am unable to do this, because my navision server does not have a fixed ip (it runs on dhcp), but you can give it a try though.