NHS ePortfolio Speed
We are constantly working to make sure the ePortfolio is accessible and usable in the wide range of environments in which it is used. We have received feedback on the speed of some pages in the application from a small percentage of users and we are keen to address this. We hope the information below is helpful but please get in touch if you have further feedback.
The NHS ePortfolio is a complex web site that delivers information (content) to a wide range of roles within multiple ePortfolio versions. The content is derived from data accessed from an ever-growing database. Page load times can depend on the complexity of the task that page must perform and on the source, quantity and complexity of the data needed to fulfil that task. Load times can also be affected by overall site activity, be it numbers of concurrent users or by the commonly requested tasks in operation at that time. Lastly, national and local network speeds can limit pages loads as can the age, type and specification of the computer being used to display the web page.
The aim of this short article is to discuss NHS ePortfolio site performance and why, though the majority of pages load quickly, some pages can take rather longer to load.
What happens when you access NHS ePortfolio?
When you log into your ePortfolio account, your web browser requests access to the ePortfolio software that is installed in web servers that return the appropriate content. The software consists of code that determines what should be sent back and what it should look like (i.e. how it renders in a web page in your browser). Behind the code on the server is a database that stores all the information about who you are, what access rights you have, which are your forms and curricula, posts, training programmes, supervisors, and how these items are inter-related. So, for any web page to be delivered to your browser the software must process a series of database “queries” in order to construct the page that is returned to you.
Some pages are more complex to display, such as a Summary Overview, Curriculum or Review of Evidence page. This is because database queries that are performed when requesting these pages search very large data sets. A significant part of the ePortfolio involves accessing web pages that must deliver data derived from several complicated data requests, all of which will take time to process on the server.
Patterns of activity
There are periods of time throughout the year when activity increases and so pressure on the web server increases too. Activity that makes the web server work harder isn’t necessarily due to increased numbers of visitors or by increased numbers of page views (i.e. the number of pages being processed and delivered to the user’s browser). Some pages such as the Form Summary Overview or Curriculum Overview will require higher levels of processing than a ticket request page. So, if you have several hundred trainees checking their Form Summary page (e.g. as they prepare for ARCP) the servers are all working harder to search and display the data.
The graph in the figure below shows how site usage (as page views) increases in the run up to post rotation changeover as trainees rush to complete assessments & other forms before moving on. A particularly busy period is seen during May and June whilst ARCPs are in progress. While the number of people during this time starts to decline the load on the server remains high as ARCP Reviewers access particularly complex, data heavy pages.
What affects how long it takes for a page to appear?
The time it takes for a page to appear fully loaded on your web browser after you have clicked a link or menu button can be influenced by a number of factors:
- How much work the server has to do to generate the page (by the software and the database) before sending it back
- How big (in terms of kilobytes) is the page being returned to you
- How fast is the network connection between the client and server, and how much competition for resources (known as contention) is encountered by users of that connection.
- How quickly can the browser on the client computer process the HTML and scripts locally to fully render the page
Is ePortfolio slow?
It is difficult, if not impossible, to obtain bench mark values with which to compare ePortfolio performance against. Which pages do you compare? Which sites might you compare performance with?
An indication of global page load times by country, industry “vertical” and other interesting web statistics can be found at http://brandongaille.com/acceptable-web-page-load-times-by-country-and-industry/ or view the info-graphic from this site by clicking this thumbnail (opens in a new window):
What we are able to see from analytics data is that while 17% of pages take less than 1 second to load, 36% of ePortfolio pages take between 1 and 2 seconds and a quarter of page loads take longer than 7 seconds (see the graph below).
The slower page load times will be a result of specific pages that are more difficult to generate and serve rather than just pages simply running slowly.
Known complex pages include (in no specific order):
- Trainee home page
- Supervisor’s selected trainee home page
- Foundation TAB summary page
- Trainee assessments page
- Trainee curriculum page
In each case these are pages that require a significant amount of data access and processing before being delivered to your browser.
What are we doing to improve performance?
The work to improve site performance is a constant and ongoing process. An obvious source of potential improvement can be found by upgrading the server hardware, i.e. multiple load-balanced servers in a virtual machine environment. In autumn 2012 we migrated to a virtual private cloud environment with exactly this setup, and as a result saw significant improvements in performance. However, this alone will not necessarily solve all speed issues and there are cost limitations of further increasing server power.
Much of the work in improving site speed involves looking at the software and database. Work is currently focussing on analysis of the software to find more efficient ways of achieving the same output, removing redundant or extraneous functionality, identifying and eliminating database bottlenecks. More effective and efficient database architecture and design can also lead to better data access rates by the software. Already we have seen improved service during periods of peak activity during ARCP in May and June 2013 as compared to the same period in 2012.
We have made good progress over the previous 2 years to provide an increasingly stable and speedy web application. We still have work to do to make the NHS ePortfolio more responsive and deliver content more efficiently. While this process of improvement is an ongoing task we have to accept there are limitations in resources in terms of hardware and in terms of technical staff needed to find, develop and implement changes.