I recently purchased a new domain and web hosting from GoDaddy for my new storefront. Initial load times for this very simple page (an MVC-5 web app running on a Plesk server) takes 15 seconds. Refresh is less than 1 second.
Similarly, when a user hits the "Buy Now" button, the new page can take 15 seconds to load (and believe me, there's not much there, and the Controller function is almost nothing). That's if the server has been idle for 10 or 15 minutes.
Now, I've been a programmer/app developer for 35 years (I started on the Apple II computer and was making arcade games in 1983), so I've been around the block. I'm also heavily into creating web apps in the Azure cloud, which is where my newest web app lives.
But I thought for my storefront, why not simplify things a bit and get a GoDaddy domain/hosting and create my MVC-5 storefront there? Well, I'm very disappointed. I simply cannot have any potential buyer have to wait 15 seconds for initial loads!
Now, I've read a lot of posts on this subject here in the Community. Unfortunately, either the GoDaddy support teams aren't being honest, or they simply don't know what's really going on. In my Microsoft Azure portal, I can click on Application Settings for my Web App. One of those settings is "Always On". Here's what the little "i" info button says about "Always On":
Indicates that your web app needs to be loaded at all times. By default, web apps are unloaded after they have been idle. It is recommended that you enable this option when you have continuous web jobs running on the web app.
So Azure allows you to set your web app to "Always On". This avoids the initial latency issue (believe me, if I turn it off, then I'll get the same 12 to 15 seconds initial load time that users are experiencing in GoDaddy Plesk servers). Perhaps GoDaddy is just trying to save money?
Simply put, GoDaddy needs to allow Plesk users to set their web app to "Always On", just like we can do in the Microsoft Azure Cloud.
Think of it like the server "going to sleep" and then having to "wake up" when a user activates a page on that server.
I'm very hopeful that I've missed something, and perhaps there is already a setting in Plesk Admin, because if this isn't resolved, I'm going to have to move my storefront to Azure. And that's after already setting up a brand new EV SSL certificate for my storefront, too.
Microsoft MVC-5 is a very heavy platform.
Likely better to tool a LAMP solution, as LAMP (compared to any ASP solution) is very light weight, will require far less resources, so be more immune to other sites running on machine where your site runs.
If I had to use MVC-5, I'd only run this on a dedicated server with a good chunk of memory + no other sites on machine to compete for resources.
Did you actually read my post, or just stop at MVC-5?
Actually, MVC is very lightweight, and for real programmers, it's the only thing to use when developing a great web app. For those not in the know, MVC stands for Model-View-Controller.
Seriously, unless GoDaddy gets with the program and adds the ability to let the Plesk Admin select an "Always On" option, I only have two choices:
1) Forget about GoDaddy altogether, and do everything on Azure, or,
2) Create a pinging web app and using SignalR, ping the server continuously.
Of course, your suggestion of LAMP was predictable. This is a typical redirect response, putting the blame on Windows Servers, and suggesting a Linux hosted environment, instead, i.e. "oh, you're using a Windows server, well, therein lies your problem...switch to Linux!"
Nope. Not buying it.
I'm encountering this same problem and I hope that someone's come up with a solution and it might now be posted here.
I have a site using Windows Ultimate Hosting with Plesk admin. I have a RESTful service that provides resources from MS Sql Server (also hosted by GoDaddy). The initial load of my new site (which is a SPA written with ReactJS) is quick. When it has been sitting for a while (somewhere around 15 minutes) the RESTful service's response with data takes about 50 seconds!! All subsequent loads on that machine (or another machine with a different browser with a clean cache) loads in about 3 seconds.
Here's an interesting twist. When I deploy the RESTful service to my Amazon account on Elastic Beanstalk it runs fast even after waiting for hours. So it's not the REST service or the fact I'm using EF6, or anything other than GoDaddy is balancing its resources by unloading dormant apps and it takes that long to reload.
Anybody found a solution? Do I have to relocate my site to AWS?