That would help. I’d still split it out into separate VMs especially with SQL virtualized.
I will be doing that this weekend, or overnight at this rate. I am assuming that once the VM is created and SQL is installed and I move db’s over, than I just have to point Epicor to the new location, correct?
Yep - You can backup and then restore them to the new dB server. Then go into EAC and point the apps to the new dB server. Easy change.You will also want to point the SSRS to the new server if you move SSRS.
I agree. You Virtualize and you usually buy a high-thread count processor which shines when split-up. But also before you vest much money, make sure those CPUs work for you… They didn’t for us, we ran MRP full regen almost daily and Epicor sucked and didn’t know how to use the Threads or Cores… We went with a 8 Core 3.8ghz if I recall and completed MRP in 4hrs instead of 12.
You might be fine, run CPU-Z too
It’s not the CPUs we are using so I can’t speak to that. Good to know those don’t though
So Epicor doesn’t know how to use the full 12 cores in the Gold processor, correct? Interesting if so…
It’s not Epicor that’s struggling. You are running too much on a single VM.
Well your Guest OS will gladly take 8 cores… But I dont think Epicor’s MRP Architecture is the best… like it doesnt use async, parallel tasks (true multi-threading)… I wish I could plugin 10 GPUs and offload MRP to be done in 1hr
MRP
Oh ok. So that is why you split up into different VM’s for SQL and Epicor. Too much of one thing is never used correctly or efficeiently.
Windows would use 8 cores but with SQL and Epicor all on one VM I think they are going to be fighting over the resources. That’s just my opinion. You’d see better performance even with those CPUs if they were separate VMs.
Yea - We also don’t virtualize SQL. But I split all of our Epicor VMs up. We have a task server, app, and then VMs for 3rd party integrations back into Epicor.
@chaddb @hkeric.wci Curious, How much hard-drive space and resources did you give for the task and app? Well, and how many users?
Hi William,
Is the slow response only when you RDP to the server? or is it for all users connecting from the Client?
There is a setting in your server that could cause such behavior. It is called " Processor Scheduling ". In the server, there is a registry entry that specifies if you want the processor to prioritize Programs over Background Services or vice-versa.
If you look at it and the priority is set to Background Services, then when you log into the server (locally or RDP) it could happen that everything is very slow. launching programs, running something that should be fast, all this because your programs have no priority. In my experience this is the reason and not hardware specs. All production servers should be set this way (background services over programs) it makes sense. For test and development environments, where you often log in to it to do stuff, then Programs is a better option. That will avoid frustration.
Give that flag a try before adding more VMs. Having both App server and SQL on the same server is still a valid architecture option for Epicor. Just be sure you add memory limit to the SQL Server, so it does not take all available.
Hope that helps.
I just set it to programs. Thank you for pointing that out! I never would have thought of that! Much appreciated!
Great. If this is your live server, then you may want to put it back to Background Services later on, that should be better for users running epicor client not directly from the server.
Also, if you notice this flag solves your lag/delay running a program on the server, please mark the answer as solution to help others.
Regards,
Check your power settings on your host hardware and hypervisor. Use high performance power modes
@Will79, What were the results of running the PDT tool? I am curious.
@Hally Teh results were a Warning on the CPU, everything else looked good. So I have been working on splitting up everything from one big VM to several smaller ones.
@chaddb @hkeric.wci Ok, so… Ideally I want this: I have three servers: Epicor server: Houses Epicor DB. I am under the impression that I would need SQL on this Server in order to access and use the Epicor DB.
Then i have the App Server DB: This houses all the App servers and task agents. Lastly I have an SQL DB that would house all the other SQL db like reports, shipping, XL Connect,Customization, ect.
Would this be the correct way to do this? Or am I not understanding?