I'm trying to figure out what the problem is and I think its related to me not caching any of the DB calls. Essentially what I have is an MVC5 application using EF and plenty of LINQ to make DB calls.
The site is www.techiejs.com
The first load seems AWFULLY slow(I mean over 30 seconds). When I do a pagespeed evaluation it seems like mostly everything is good. Yeah I don't have all of the CSS and JS minified but we're talking about kilobytes here not MB's and I'm on a broadband connection. The minification would be a few seconds(at best) and not 30+ seconds like it takes now.
What I noticed is if I visit the site on my computer to get the application to return all the DB queries, then if I whip out my phone and access the site, its REALLY fast(<2 seconds). But, if I wait about 1-5 mins and access the site from any device, we're back in 14.4k modem load times.
Anyone have any advice? That awesome performance I get after initially loading the page, I want that to persist until I make some DB change(like a new Post?)
Maybe something in web.config?
Maybe create some code where it does some kind of useless "logging" that keeps the application and application pool workers alive indefinitely? Maybe every 3 minutes the application does some random query to the Db? Hmmm...I know this seems retarded but I'm out of ideas lol.
Thanks again!