Over the last few months, we’ve had lots of feedback from our users about the speed of our site – in a nutshell, it’s too slow. Searches take too long; CVs take too long, the site is generally slow to respond, and you’re often finding that pages will freeze or fail to load.
Why is it happening?
The short answer – we’ve grown. We have more casting professionals, more performers and more breakdowns and jobs on Spotlight than ever before, and our main database server can’t always keep up with the number of searches, CVs and breakdowns that are going through Spotlight when things get busy.
The servers that power Spotlight’s website are set up like this:
The web servers do all the processing – they turn raw data into formatted Web pages – and the database server stores the information (CVs, search results, breakdowns, suggestions) that’s used by the web servers.
Over the last year, we’ve upgraded from a single web server, to two, to three – and we’ve now hit a point where, particularly for casting users, the web servers are no longer the problem. We’ve set up all sorts of statistics and monitoring on our servers so we can identify the areas that are actually causing problems, and here’s how we’re going to fix them.
What are we doing about it?
Here’s what’s actually causing the load on our website during the course of a busy afternoon – this shows the total time taken to process requests for each of these groups, so it’s directly indicative of how long you’re waiting for pages to load when you’re using our site.
We’re going to address those areas in the following order:
1. Scripts and Stylesheets
When you request a page from Spotlight’s site, there’s a lot of additional information that we send down along with it – you don’t see this extra data directly, but your internet browser uses it to format the page, enable interactive elements like forms and navigation, and generally enhance the experience of viewing web pages. This extra data is the big blue chunk on the pie chart.
The first thing we’re planning to do is to modify the way our site delivers this additional data, by allowing your web browser to store it and use the copy you’ve already got instead of requesting a fresh copy along with every page. That’ll reduce load on our servers by 24%, and will also reduce the amount of data that’s being sent backwards and forwards with each page whilst you’re using the site. We’re starting work on this right away and it’ll take 2-3 days to get the new code tested and launched, so this should be in place by the middle of next week.
2. Photos and Thumbnails
We know that out-of-date photographs are unacceptable for a directory like Spotlight, so our web photo engine currently checks that a photograph is up to date whenever anyone loads a photo from our website. This is slowing things down massively, and so we’re going to replace it with a “smart notification” system, whereby whenever a photograph is modified or replaced on our main image server, the image server will actually notify the website that that photograph has changed. This is something we’ve never been able to do before – it’s only possible because of upgrades we’ve made to our software in the last 3-4 months – but I’m confident that once this is in place it’ll make a big difference to the load time of photographs in particular, and to the overall speed of the site.
At the moment, we’re looking at 4-5 working days to get this up and running, which means it should be in place by the end of July.
3. Spotlight Web CVs
Third, we’re going to overhaul the way Spotlight CVs are stored and published. We’re not planning any changes to how the CVs look – this will be completely behind-the-scenes – but we’re going to upgrade the underlying data storage engine so that instead of CVs being formatted “on demand” based on raw data, we’ll capture the CV whenever any information changes, and then store those pre-formatted CVs in a high-speed indexing system so they can be searched, viewed and printed without lots of (relatively slow) database queries.
As you can appreciate, this is a much bigger job; we’re still working on the detailed plans for how we’re going to tackle this and how long it’s likely to take, and I’ll let you know when we have a plan in place for this.
…and after that?
We’ll keep monitoring the site; we’ll keep listening to your feedback, and we’ll keep working on it. These improvements are currently our absolute top priority, and they will remain so until our site is solid, stable and lightning-fast.
No comments:
Post a Comment