Multiprocessor / Multi-core

PeterD
Member Posts: 66
We have one 2.60 and one 3.60 database running, both native, on one server. Most clients use a terminal server client from which they connect to their Navision. So all TS’s have 2.60 and 3.60 clients installed and running.
Because our users experience a drop down in performance several times a day we are investigating all possible causes. As part of that investigation we found information about Navision only using one processor / core.
Of course as part to solve the problem, but also out of curiosity we like to find out more about the way Navision server and client works in a multiprocessor or multi-core environment.
Say we have two processors on our Navision server, how will the 2.60 and 3.60 services run?
• Both on the same processor?
• The first on the first processor and the second on the second processor?
• The first on the first processor and the second on the processor under the least load?
The same question for multiple clients on a terminal server with two processors:
• All on one processor?
• Alternating between the two processors?
• On the processor with the lowest load at start up?
Since we also think about a technical upgrade, is Navision 5.00 capable of using more processors / cores?
Because our users experience a drop down in performance several times a day we are investigating all possible causes. As part of that investigation we found information about Navision only using one processor / core.
Of course as part to solve the problem, but also out of curiosity we like to find out more about the way Navision server and client works in a multiprocessor or multi-core environment.
Say we have two processors on our Navision server, how will the 2.60 and 3.60 services run?
• Both on the same processor?
• The first on the first processor and the second on the second processor?
• The first on the first processor and the second on the processor under the least load?
The same question for multiple clients on a terminal server with two processors:
• All on one processor?
• Alternating between the two processors?
• On the processor with the lowest load at start up?
Since we also think about a technical upgrade, is Navision 5.00 capable of using more processors / cores?
0
Comments
-
PeterD wrote:
Say we have two processors on our Navision server, how will the 2.60 and 3.60 services run?
Both on the same processor?
The first on the first processor and the second on the second processor?
The first on the first processor and the second on the processor under the least load?
That is related to window workload distribution.. Windows “might” allocated one process to each CPU but aren’t guaranteed. If I’m not in mistake after services are running you can manually assign a process to each CPU.PeterD wrote:The same question for multiple clients on a terminal server with two processors:
All on one processor?
Alternating between the two processors?
On the processor with the lowest load at start up?
When you are running in terminal services with several clients you most probably will have workload distributed by CPU’s.
Since we also think about a technical upgrade, is Navision 5.00 capable of using more processors / cores?
No, it’s still limited to single CPU.
I think your are mixing concepts. Each process will use only a CPU but don’t forget that each client is an independent process.0 -
nunomaia wrote:PeterD wrote:
...
No, it’s still limited to single CPU.
I think your are mixing concepts. Each process will use only a CPU but don’t forget that each client is an independent process.
But Terminal Services is a multi-processor aware application. It will take advantage of the extra processors.There are no bugs - only undocumented features.0 -
PeterD wrote:We have one 2.60 and one 3.60 database running, both native, on one server. Most clients use a terminal server client from which they connect to their Navision. So all TS’s have 2.60 and 3.60 clients installed and running.
Because our users experience a drop down in performance several times a day we are investigating all possible causes. As part of that investigation we found information about Navision only using one processor / core.
Of course as part to solve the problem, but also out of curiosity we like to find out more about the way Navision server and client works in a multiprocessor or multi-core environment.
Say we have two processors on our Navision server, how will the 2.60 and 3.60 services run?
• Both on the same processor?
• The first on the first processor and the second on the second processor?
• The first on the first processor and the second on the processor under the least load?
The same question for multiple clients on a terminal server with two processors:
• All on one processor?
• Alternating between the two processors?
• On the processor with the lowest load at start up?
Since we also think about a technical upgrade, is Navision 5.00 capable of using more processors / cores?
This is all irrelevant. (Logically I will assume that the terminal services are running on a different machine) so...
Navision server will run fine on a 486, (assuming the OS is not CPU intensive) the processor is barely used, so CPU is for sure NOT your bottle neck. Firstly make sure you have enough ram to give each Navision Server 1 gig of ram, so at least 2.5 gig.
But the big thing will be drives and spindles. How many drives do you have, and make sure that the drives are separated, and no parts share a drive (spindle). Also how are the controllers working, if they are fast enough they should handle all the drives, but if possible it might be better to have separate controllers for each Navision Server.
How big are the databases, and how many users.
Also make sure there is NOTHING else running on the Navision server, no BDC or backup tapes etc. HotCopy is the only other thing you should have on that machine.David Singleton0 -
bbrown wrote:nunomaia wrote:PeterD wrote:
...
No, it’s still limited to single CPU.
I think your are mixing concepts. Each process will use only a CPU but don’t forget that each client is an independent process.
But Terminal Services is a multi-processor aware application. It will take advantage of the extra processors.
Yes that’s I told that each process will use a single CPU. But process it will distributed by CPU’s0 -
PeterD wrote:Say we have two processors on our Navision server, how will the 2.60 and 3.60 services run?
• Both on the same processor?
• The first on the first processor and the second on the second processor?
• The first on the first processor and the second on the processor under the least load?
1. Windows system processes (kernel threads) are by default bound to logical processor 0
2. NIC interrupt services are bounded the last logical processor. As far as I remember NIC 0 to the last, NIC1 to previous, etc.
If you want to control what process is run on what logical processor you may set affinity for each running process. Affinity is a 32 bit mask telling the system on which logical processor particular process can be run
You may use ProcessExplorer tool from ww.sysinternals.com to set affinity mask for running process.
The problems with affinity mask are that with the affinity you can restrict the single particular process from using some of logical processors but you cannot warrant that only this process will be run on selected logical processor.
Second - Sysinternals ProcessExplorer tool allows you to change affinity of existing, running process, and I'm not aware of any other tool which allows you to preassing the affinity mask so each time process is restarted the affinity is re-applied.
To recap - with affinity setting you can for example exclude all but one logical processor for Navison 2.6 database server, and exclude all but different one logical processor for Navision 3.6 server, forcing in effect both servers to use different logical processors. Another question is - do you believe that you will do it manually better than OS ?
I'm using 'logical processor' to indicate single core processor, or single core in multi core processor, or virtual processor in hyper-threaded cores/processors.The same question for multiple clients on a terminal server with two processors:
• All on one processor?
• Alternating between the two processors?
• On the processor with the lowest load at start up?Since we also think about a technical upgrade, is Navision 5.00 capable of using more processors / cores?
To use SQL database probably technical update to at least 4.0SP3 with some platform updates is a must IMHO.
Regards,
SlawekSlawek Guzek
Dynamics NAV, MS SQL Server, Wherescape RED;
PRINCE2 Practitioner - License GR657010572SG
GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-030 -
Slawek Guzek wrote:...Since we also think about a technical upgrade, is Navision 5.00 capable of using more processors / cores?
...
This is irrelevant anyway. The reason Navision's native server does not use multi threading, is because there is no benefit to it. The CPU is NEVER the bottle neck, its normally the drives and some times the RAM.
There have been no substantial changes to the server from 2.60 to 5.00, so a technical upgrade of the server is not going ot benefit (Though the client upgrade should help).
If you want this system to go fast then stop wasting time on CPUs and look at the drives.
](*,)David Singleton0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions