Performance

There’s never enough. Performance. Speed. Optimisation. I recently became reacquainted with the dark and mysterious arts of hosted website optimisation eeking out as much additional performance as possible from my end. This reminds me of the days when I optimised DOS systems then NetWare and Windows NT servers squeezing out every last drop of performance I could get. Back then it was advantageous if you knew about cache and memory optimisation, stripe and cluster sizes and it was mandatory to have profiled the application to get any decent increase in performance. We’re more limited these days without reaching into a wallet for content distribution services, dedicated virtual servers and enhanced server configs, I joked in the past that a certain operating system manufacturer released new versions of their flagship product to “soak” up the excess CPU cycles offered by the latest processors, harsh, I know, but with a tinge of truth. True optimisation and knowledge of these dark arts is disappearing often in favour of the “simpler” approach of throwing money usually in the form of enhanced hardware at the “problem”.

However, for my hosted website, gains have been achieved by judicious use of the .htaccess file, minifying CSS and compiling JavaScript into unreadable goo 🙂 After a not inconsiderable effort I’ve managed to increase the Google pagespeed from 42/100 to 76/100 for mobile and 51/100 to 90/100 for desktop. Not perfect but the next increases will be had by hacking into the content management system or moving to a high performance server and here the laws of diminishing returns apply: know when to stop optimising, one of the hardest lessons to learn. I’m also rather pleased with the mobile user experience ranking of 98/100 which I owe to judicious use of the Divi content management system which allows customised options for desktop, tablet and mobile clients. Not straightforward but optimising for mobile use is critical as far more web traffic originates from handheld devices today. What? You don’t know how much? That’s critical to success: know your market, know your consumers/customers and know which devices they’ll employ to consume your content from, where they are located, what screen sizes they have, how often they access your site and what they do when they are there. And also know where they originate from. Google Analytics provides insane amounts of data but it’s not like divining chicken entrails, OK, it’s not far from it: there’s almost too much information so you need to know what to spend time analysing and what can be set aside. This isn’t a post on GA but I can’t help sharing some data from this site, there is far, far more available but I found these interesting:

So how do you actually do it? How do you increase performance? There are two options: become an expert yourself or hire one in. There’s no rocket science to this you either have the inclination and capability or you bring in someone who already has, not unlike a great deal of things in life, to outsource or to insource, a sourcing decision.

Oh, and the .htaccess file? For those who are interested here’s my current incarnation, please do not simply copy this because if you do it will very likely break things and then you’ll get to own all the pieces or else if it does perchance work and not cause visitations from the dearly departed, you’ll never understand what the constructs mean and what they do. I owe a great deal to the electronic resources of the ‘net and the many and varied forums which the sacred brethren inhabit.

Sure this isn’t my “day” job and hasn’t been for a very, very long time, it’s more of a hobby which I like to keep active in and being able to extend myself from my mind, my thoughts, through my limbs and out via electrons to the cyberworld. One day, not too far from now we’ll master the human bio/electrical interface and then the game will change again; today we start the walk into the savannah, leaving the comfort of the trees behind, what will our future hold? I think performance will still be a requirement, even then 😀