By: Ryan Verbeck – Bayshore Solutions Developer
At Bayshore Solutions, our experts can take your page load times from seconds to milliseconds. The average user starts feeling frustrated after a few seconds if they haven’t received some type of feedback from a page that they are requesting.
Here are some steps for programmers trying to decrease their page load times and ultimately, keep their users happy:
Identify the Problem.
There are several things that could be contributing to the load time of your page. Often it’s a request to a remote server whether it is a SQL server call or a remote service call. Poorly designed websites can quickly run into issues under high volume loads when these remote procedure calls are not handled properly. While every situation may require a unique solution, the common issues can be handled quite easily.
Keep SQL Transactions to a Minimum.
Use stored procedure calls to handle the heavy lifting of foreign key lookup tables and joins. Using stored procedure calls also allows you to bring back only the data that you will actually use on your page. If you find yourself bringing back megabytes of information and you are only displaying a few kilobytes of it, you may want to look into a better solution.
Cache Information Where You Can and Often.
This is by far the easiest and fastest way to reduce load times for data that remains relatively static. Break apart pages that require relatively static dynamic content into user controls that can be cached relative to the content that they are producing. An example of that is a page that contains a bread crumb control and a navigation control with menu items that are pulling relatively static data from your database. Rather than caching the entire page, place the bread crumb control into its own control and cache it relative to its URL. This gives you more control over the amount of data your web server needs to hold in memory. And only keeping one copy of the menu in memory that can be displayed for every page that uses it gives the flexibility your bread crumb control needs to display the proper site map hierarchy.
Use Server Side Asynchronous Methods.
When making remote procedure calls to your SQL server or a web service wrap the call using an async/wait call or one of the many other methods. This will not reduce the amount of time that it takes to load the page that is being requested. But it will allow the thread to process another request while waiting to consume the data being returned. Under large loads, not doing so can really cause issues for users requesting pages that should only be taking a couple of milliseconds.
Use a Preloader or Progress Bar.
Sometimes a long loading time just can’t be helped. Users requesting the last 10 years of a detailed line item transaction report usually know that it will take more than a couple of seconds to display a million dot plot graph. However if the page isn’t producing some type of feedback the user will easily become frustrated. In these cases, use a pre-loader or when possible a progress bar. When combined with some of the other solutions I have given, you can keep the cost of the users transaction localized and to a minimum.
Bayshore Solutions can implement these steps to get your website running quickly and smoothly. Keep your users happy – contact us today!