Has anyone implemented multi-company where the companies are based in different time zones. Have you consolidated onto a single server? how did you deal with any problems of ‘load’ e.g. different companies running mrp at inconvenient times for the other companies? or have you set-up of separate servers, how do you communicate the ICPOs etc?
This is something we are currently looking at and are wondering about the server specification(s) we may need to look at.
I worked with multi-company for a little over a year at a previous job. We were hosted, so all of our companies ran off a single app server. We had 4 companies, but never had any issues with performance to due the amount of load on the system. The companies was new to Epicor, so all four companies were on Epicor for about 1 year or less. We were not concerned with scheduling MRP. All four companies were in the mid-west or east coast. So we just staggered them in hour increments. However, we were planning on implementing Epicor in Europe. We did have concerns about when we were going to run MRP with the large time zone difference, but it never became an issue.
Regarding time zone, you can specify a time zone for each site in Site Maintenance.
We were also using IC trading, but I was not part of setting it up. There are two documents in embedded education. Multi company and Product Configurator Multi Company. We were in the process of implementing product configurator for multi-company, but never finished the project. There is also a technical reference that is available for multi-company as well. Hopefully those documents will provide some guidance on how to setup ICPOs.
Another aspect that I faced was separating customizations, bpms, and menus for each company. Developers from multiple companies consistently wound step on each others toes and break stuff. I also learned that Extended Properties cannot be separated out by company, so BPMs were required to make fields required for some companies, while not for others.
Hope this helps. Take your time and test thoroughly. This was more of an undertaking than I anticipated.
We currently use UCS Cisco Blades with vSphere (VMware). We Self-Host it at our HQ. Its sceable, we can add as many mini-servers as we need. We use a Single Database for 14 Companies and the basic “Direct Multi-Company Process”. The downside is, if your internet is bad or you have network issues - no one can use Epicor.
Epicor does support “Microsoft Service Bus” which let’s each site have its own Database and you configure Service Bus to transfer data and keep the databases in Sync. It will take care of the ICPO’s and so on of transferring back and forth.
It depends, on the load really and your SLA (uptime) promise you make as an IT Department to your other Departments.
With 14 Companies and growing, with 5+ MRPs, thus far we are doing okay. As we scale or as our High Volume Sites come on, we might have to tweak things.
You can also host in the Cloud - Azure and be Flexible and have plenty of fail-safe plans in place.
Epicor Multi-Company is a process you configure to run every 10 or more minutes and it takes care of the rest, if configured right for both single db or multi db via Service Bus.
Same, we currently have 14 on a Single AppServer and believe it or not Single Task Agent. With large Part BOM’s - We build firetrucks and more, lots of Materials, Operations and Jobs.
However, we have to solidify our strategy for the next 2 sites, who would have to work 7 days a week for a month IF Epicor were down 2hrs. Very High Volume.
We made the decision that we are “ONE Company” and everyone gets the Customization(s) as a “Company”. So we build all our Dashboards, Customizations and BPMs in our Main HQ Company and mark them there as “All Company”, with some Company Specific BPMs for like AutoPrint.
So if Company ABC wants a Dashboard, everyone gets the Dashboard; wether they use it or not. But we customize for the “process” not the user, so typically each Company has SMEs who have to come together and figure out how something fits into the Process.
But if you can think of a “Common Architecture” stuff becomes simple.
What spec are you running your servers at? we have found epicor 10 a lot slower than when we ran vantage 8. We recently upgraded and are a bit disappointed at the response.
Epicor 10.2.300 runs on Entity Framework 6 and will make things even faster.
Intel® Xeon® E5-2667 v4 3.2GHz, 25M Cache, 9.60GT/s QPI, Turbo, HT, 8 Cores, 135W ( 2 of them )
When I debug an Issue I rebuild Production Epicor in a Lab running on a Cheap Lenovo ThinkServer with 32GB RAM and 7200rpm drives and MRPs finish by 20 minutes longer than Production.
What about database size? we have over 55,000 parts, we migrated and treated it as a new install, we dropped from 280,000 parts. So MRP etc can take a while to run as the bulk of those are mfg parts. MRP takes about 2 1/2 hrs to complete a full-regen.
we used the epicor sizing guide but have been blown away with the response times, mainly the sales order screen, which we find extremely slow to load etc. Probably need to beef up the server, the epicor consultant who was on-site said the server was optimally sized
When it comes to slowness its typically your Server has some BIOS Settings Enabled or you are running on Hyper-V with a Broadcom Card with bad settings on the Host.
Mainly your Firewall, AntiVirus or Hard Drives are slow. Atleast have 15K SAS Drives, if not SSDs.
Make sure the traffic between App and SQL are untouched, unfiltered by SonicWall, AV etc…
@erwinw some of my meeting minutes about BIOS Settings and Epicor. For example if you want SQL to be more robust, get Enterprise Edition and it will be capable to use more CPU power.
9:10AM: 1 Issue, 8 Sockets on VMWare - Standard SQL can't see more than 4 sockets. (Sockets vs Cores)
Keep the Sockets under 4. (Issue, needs fix)
9:11AM: Launched vSphere for Sherman to show us what he means by Socket Configuration
- CPU tab (1 socket, 8 cores) - Change it to 4 sockets and 2 Cores.
9:15AM: Looked at the Network Adapter - VMXNet 3 - The CM Servers should be ParaVirtual SCSI (some are not, Issue)
9:22: There is some latency there, it will affect how the client protocol performs on the LAN - However E10 uses NET.TCP w/ good compression.
- Downloaded tcping.exe to run TCP Pings
- tcping.exe -t 192.1.10.106 445
PLUS: The Pings 40ms are really consistent, which is very helpful
9:32: Pinging SQL Server
- tcping.exe -t SERVER-SQL1 1433
Looking for majority of the pings to be about 0.5ms, we are looking good! averaging 0.5ms as expected.
9:35AM: Run 32-bit Performance and Diagnostics Tool
- We should be receiving 1/2 second of time to retrieve Packet 0.5 -- we are at about 0.8
- Sherman: "This could indicate that CPU is not running at full speed"
- We are looking at <300ms yet its 554ms - BIOS Settings are not set to MAX Performance
- Lets proof this by going to vSphere looking at the Power Schema at the Host Level
We are currently running on "Balanced". LETS Change it to "High Performance" (Lets do this also to CPS Later!) - It will BOOST our CPU Performance to meet right Metrics!
You have to change this at UCS BIOS Setting really. (Cisco UCS Manager)
Bios Policies...
C1E Disabled It!,
C3,
C7 and on CPU Performance set "Enterprise" it will give us the Faster peformance
[ Will Require a Later Reboot ]
Power Technology, leave that are Performance and Energy Performance leave that at Performance too.
P-STATE Coordination: Let's to "SOFTWARE" all and we will set it in vSphere to "High Performance"
Package C State: C0
Memory RAS Config: maximum-performance
VT For Directed IO: Enabled
NUMA: Enabled
- Disabled SpeedStep which underclocks the CPU
Short for Enhanced Intel SpeedStep Technology, EIST allows Intel processors to run at a lower speed, which reduces the overall power consumption. This feature is very useful in portable computers that use battery power.
When SonicWall, Watchguard filters Server 2 Server Traffic our MRP runs +3hrs longer.
Also you want to Exclude Epicor Directories and SQL from Realtime AV Scan. You can prob still do Scheduled Scan, but make sure its not at a time when you have MRP running.
Just to add another 2 cents - We are almost a mirror of what Haso’s doing with his environment. Especially the customization part - i feel that this is genius from an admin standpoint.
I would control ALL customizations through one company - even if it’s a ‘dummy’ company - and force your folks to get over it. Avoiding the nightmare of tracking, modifying, testing, upgrading, patching, more testing will more than pay for itself compared to one of your companies seeing some extra fields on the screen. BPMs can all have a ‘company conditional’ widget in them to control which companies are affected (we do this) so they can still all be owned by one company. I would strongly urge/suggest you reconsider your plan for customization management.
I’ll add these details:
We are 28 companies, 6 real operating and the rest are consolidation or shells that we carry for legal reasons.
We’ve got about 65 concurrent users (high water mark) and our DB is about 155GB and the hardware/backups/network all run perfectly fine.
1/2 of those users are in the Netherlands and UK running (mostly) the full client across public internet VPNs between our Meraki firewalls (we used to be Sonicwall like Haso)
We run MRP in 3 companies but our MRP is not nearly as bad as I’ve heard some are, so we’re not seeing ANY performance problem with it. We run it at noon (net change) and at 9pm (regen).
We are a single DB server and have one App server for the users (with one Task Agent), plus another appserver for EWA/EMA/InfoWorker/EDD/EDA Synch to lighten the load on the primary appserver.
I can get you more details about the VM’s like proc/memory spec, but honestly they are all “sleeping” 99% of the day. I swear we could run this whole thing on a single machine with 256GB of RAM and two intel i5 quad-core procs. The new framework with E10 is amazing compared to E9.