I am hosting a DNN Portal at PowerDnn and the site is loading rather slowly. One of the tips in the knowledge base is to come here and do a speed test. I did that and it’s taking the site 5.8 seconds to load. My larger problem which I am working with them to solve is that on the initial load in the morning, the site is taking nearly 53 seconds to load.
PowerDNN is known to be good at DNN Hosting and are supposed to be the best in the business at what they do. Can anyone tell me by running the report on this URL: http://www.provsnusa.com.dnnmax
what is going on and why it’s taking so long to load?
I’m wondering if it’s a custom module I loaded or the Flex 2 skins… Not sure how to translate all this data.
Looking at the results there are things you could do to get it down from 3.5s to ~2s but nothing that would explain the 53 seconds you are talking about. If you can run a test when the problem is happening it will help identify the issue but I expect it’s going to be a back-end problem (database or something like that) that we can’t see from the outside other than a really long time for the first request.
My apologies gentlemen, while provsnusa.com is also our site, this URL (given to you incorrectly) is a new development project that I am building and it is currently in a sub-directory. I see that it is loading between 6 - 8 seconds which is still pretty slow. Any ideas on how to speed it up? And yes, the guys at PowerDNN are trying to figure out why the site is loading so very slow ONLY the first time in the morning. I will run the website through in the morning and try to see what’s taking so very long to initialize. Good idea!
So there’s really 2 issues
The site taking 47 -58 seconds to load (first load only)
The site loading pretty slow at about 5 - 8 seconds.
Is there a way to copy that report for issue #1 into the forum? If I ask someone to run the URL for me, it won’t recreate issue #1, as this problem only involves the first time the site is loaded each day.
The correct URL in question can be accessed 2 different ways and sorry for the incorrect URL when that’s the most important part of the post - dah!
Lots you can do - starting with merging those css and js files into one of each (not 100% sure why the site detected it incorrectly - it should have recommended you do that), The time spent between 0.5 and 4.5 seconds is sequentially downloading the css and js code and by merging the file you can shave ~ 3 seconds off of the load time (make sure to enable gzip compression while you’re at it).
The other HUGE win would be to use an image sprite for the page graphical elements (icons, buttons, borders, etc). Looks like you could eliminate most of the rest of the requests and save another 1-2 seconds pretty easily.
From there you’re probably talking about having to use a CDN to reduce the latency for the remaining requests but that will depend on how geographically diverse your customer base is (try running a test of the current site from NZ to get an idea of how much latency can impact load times from far away).
Thanks for the quick and useful response. That is, all of it my lame brain could absorb. I’m somewhat reluctant to merge the CSS and JS files, since this is a DNN Portal, but I will consider all I can to merge and cut them out completely. I don’t know if you’re a DNN guy, but maybe you could answer this question for me?
What the heck are all the .js files doing there? This (like you said) and the .CSS files must be slowing things down. Guess I should be asking the guys at PowerDNN right?
I just read a bit about js compression and how it zips your js files. I will ask them to enable it in IIS and I will ask them why there are so many js files? Do you have any idea?
I’m not sure what you mean by using image sprites. I always thought if the image was tiny in size that was a good thing, but after seeing all of thes requests, I’m thinking this is way too many requests? What’s a sprite and can I change .png, .gif, .jpg files to support sprites?
Finally, what does “CDN to reduce the latency for the remaining requests” mean? I’m not sure what latency is, and not sure how a CDN can be helpful - can you elaborate on that?
Question: If I have CSS files in the portal that the site is not necessarily using, are they still being loaded? DNN has a skin.css, a portal.css, and a default.css on every portal. In addition, I have some skins loaded under the root that are not utilized by the portal, but they are there in case I wanted to use them later. Are they being read and are they slowing down the site (potentially)?
Sorry, until you had mentioned it I had never heard of DNN but looking now it looks like a CMS platform much like Drupal, Wordpress or Joomla (though thouse are php and DNN is .Net). PowerDNN isn’t going to be able to help unless they set up your actual site. The different js files are usually pulled in by the themes and plugins.
A sprite is a technique that goes back to the early video games. What you do is you take all of your small images and you put them together into a single larger image and then when you need the image you pull out just the part of the larger image you are going to use. The combined file is usually a bit smaller than the individual files but the really big win is that you can get it all in a single request.
You can usually only use it for css background images (most of your gif’s and png’s) which are used for things like buttons and borders.
SpriteMe is a tool that Steve Souders write that will do most of the work for you automatically on your page: http://spriteme.org/ I’m sure there are others as well.
Sorry, the latency is the time that each individual request takes to get from the user’s browser to your servers. It looks like it was ~150ms from the Dulles test location. As you move further away from the servers that time increases (largely limited by the speed of light through fiber). From somewhere like New Zealand those individual requests could take as long as 500ms which when added up will make your whole page load 3-4 times slower.
It is more important to first reduce the number of requests but after you have them as reduced as you’re likely going to be able to get you should see if it makes sense to use a CDN.
If all of your customers are geographically close then it doesn’t make sense but if you have a global customer base it can be critical.
It is only downloaded if the page requests it but there is no way for the browser to know if you are going to use any of the content inside of the css file. If it is referenced by the page it will be downloaded (and will show up in the waterfall). If it is just sitting on the server but not referenced anywhere then it’s not doing any harm.