A funny thing happened to me some weeks ago – there I discovered that some times it is better to use Netbeui than TCP as Net type when using Navision.
In my company, we are building Pollers; a Poller is a codeunit that is listening to message queues and sending responses back. In a test environment a request would take approx. 100ms – but when implementing the same changes to a production environment a request would take approx. 3/4000ms.
A request is sending a message through msmq to Navision, and then receiving a response from Navision.
At first we though that this was cause by using bad keys, so we used client monitor to analyze the Poller – but no, this was not the case.
Another cause could be that the production environment has more users and thereby also more load – but again, the production server was not loaded so much that a request should take so much more time.
Then by lucky coincidence we tried to change the net type of the client – and now we saw a difference. Suddenly a request on the production environment only took approx. 3/400 ms – which is in the accepted time range.
So in this case it was better to use Netbeui than TCP even though Navision does not recommend the use of Netbeui.
So why is Netbeui faster than TCP? A reason could be that Netbeui uses smaller packets than TCP, and they will therefor travel faster since they have less overhead and have less to read.
I would though not recommend always to use Netbeui, because a Netbeui packet does not include logical destination address, only a name. The Netbeui protocol cannot be routed – this means that communication between hosts is limited to occurring within a single non-routed network, and is thereby not well suited for large networks.
But again – in this case Netbeui was a better choice.