Load Testing Azure Server

We’re in the middle of moving from our on-prem server to a hosted Azure server located in Texas (we’re in Wisconsin).
We have the servers up and test versions of Epicor running, but I want to test performance since we’ll be much farther away.

What’s the best way to test the performance?
Network latency, load testing, etc?

Good question! I was wondering the same as an alternative to Epicor hosting and if it would really be fast enough for my offices in Europe. I’m eager to see what you find.

As for testing - is it just your DB or your appservers too?

What about DMT? It uses the Appservers the same way the client does. Push a bunch of data through there and see what you get.

For network speed and latency: http://www.azurespeed.com/

2 Likes

DMT works as usual. It connects via the same configured end points as your client does. Could this be better? Yeah, I think so. A couple of ideas:

  • Epicor provides DMT in Azure as a service. Upload the file into a holding area in the same Azure region and then execute the service.

  • Spin up a Win10 workstation in Azure in the same region, copy the file there, and then run like you do today.

Epicor has four Azure data centers around the globe. However, one database can only be in one region. I think you should be able to have two databases and use the Azure Service Bus to do Multi-Company but I’ll check to see if that’s possible.

Thanks @Mark_Wonsil - lot’s of good data to know!

@MikeGross

If you have few users in Europe, another options is to RDP from there to either a workstation in Azure or your location. Meh.

A “cool” option would be if Epicor created a Business Object Proxy that looks like an app server in one region but passes the request to the real app server across the Azure interconnect and then the responses come back in reverse. (Extra points if the Proxy cached objects! :heart_eyes: )

1 Like

Isn’t the Central Region (Iowa) closer?

Anyway, I saw this for those who want to use Azure for Infrastructure as a Service. It’s called reservations (aka longer contracts). Apparently, it can save some bucks.

https://azure.microsoft.com/en-us/reservations/

We are mulitcompany with our servers located up in Azure, offices in China. We currently have a terminal server in Azure that we use to punch through the ‘great firewall’ and users there access our production environment via that method. The users in the US access from their desktops as we have that folded into our domain (Azure DC paired with on prem DC). I’ve often wondered if Epicor’s regression testing module would be good for load testing any given environment configuration. We have a reasonably high transaction volume and i consider overall performance…average to slightly above avareage… compared to my on-prem experiences. But I don’t have any objective data to support this, which would be nice.

2 Likes

Wouldn’t one of the first steps be to use the PDT and the Tech document on Epicweb, then benchmark your old and then your new? The other tool you can use and that’s the PAL tool which works by digesting your performance logs on your servers. Here is a link to the GitHub project GitHub - clinthuffman/PAL: Performance Analysis of Logs (PAL) tool. Apologies if I’m telling you stuff you already know

1 Like

I was going to mention the PDT tooling as a basic step. Obviously your data and usage would vary.

I’ve been doing scale testing since the early 90s across a half dozen products and a few companies. The variation in data makes a general purpose approach impossible - trust me I have tried. Know your use cases, your data. Build your usage matrix to exercise the system if you need to do load testing.

PDT tooling is good. The logging in the tooling is good (though verbose but if you like PowerBI fun to play with in a demented way).

We just did a major Azure Scale lab on optimizing things through various options so expect some roadmap items to trickle out. It’s not Product Marketing Sexy to put on a release shaved x% in CPU / Memory / Network usage but I would like to show 10% faster in x or the like.

Safe Harbor - I’d also like to get out how to deploy 200 servers with a click. There are some interesting things we are building for internal use we hope to trickle out where it makes sense (and is reliable, supportable, etc).
Think about how MSFT is currently running ‘SQL 2020’ in Azure atm. Eventually that ends up in a box to ship to customers on premises. We are following a similar model.

2 Likes

That is literally the only thing I want in a marketing release :joy:

4 Likes

Some people like the Redbull racing car. Some people like the smooth and strong cement racing surface. Luckily we try to do both

3 Likes

For us, yes, but not for our Mexico plant. The idea is to be closer to them, since their infrastructure is worse, without affecting the Wisconsin performance too much.

Also, this is our own Azure server, not an Epicor hosted one.

These are all great ideas.
I’ll give the DMT a shot to simulate users.
I’ve already used the PDT and everything is nominal, but that’s with just me in the system. I’d expect that to change with users doing their day-to-day, right?

2 Likes

We are a company located in Massachusetts with a factory in Shanghai, China. We currently have an Epicor Vantage server at each site. We are looking to upgrade to 10.2 and have Epicor host our system in the cloud with Microsoft Azure. The goal is to have one database with a multi-company set up. There will be one company with users in Massachusetts and a second company that will have users in Shanghai China. We would like to host the application at a US Azure site. The big concern is connectivity from Shanghai to Azure in the US. Currently, our two factories each have their own servers running Vantage and connect to one another via an MPLS circuit. If anyone is successfully hosting Epicor in America and servicing users in China we would be interested in learning from your experience.

Perhaps you could have an app server and db server in the US Azure and another App server in China Azure region and connect it to the db server in the US. Have clients in China connect to the China app server. Not really sure on all the Chinese firewall works, maybe that would not be an issue as you are really only sending traffic to Azure in China. anyway, just a thought.

I don’t think that Epicor is hosting in the China “Azure” region at this time. The closest region would be Singapore and then Australia.

I was suggesting using Azure VMs sorry if that was not clear

That would work but I noticed Rose said that Epicor will host it. If they do Single Tenant, I’m not sure where Epicor would host them. If they go Public Cloud then I think they’ll have to use Singapore or that great land of Australia. :wink:

1 Like

Note to self…“Read the post” :thinking:

1 Like