Websites in every domain – ecommerce, enterprise, social networking, entertainment, publishing, healthcare, retail are becoming increasingly complex these days. Users manage, upload and maintain tera bytes (huge amounts) of data online. They expect real-time updates and information exchange at the speed of an eye-blink. We want news, notifications, newsfeed as it happens; when it happens. We expect web systems to process, analyze and do data analytics quickly so we may visualize and track the efficiency of our product/s.
Web Performance Optimization (WPO) is the science behind giving users that seamless experience on the browser where they get all information they need in lightning speed without having to wait for the data to load on the page.
As per a survey from strangeloopnetworks, a ONE-SECOND delay in page load time leads to 7% loss in conversions, which leads to 11% fewer page views, which in turn leads to 16% decrease in customer satisfaction. In dollar terms this means that if your site earns $100,000 a day, then you could lose 2.5Million $ in sales in a year due to a slow website.
Popular metrics and research also show that 57% of online customers will abandon a slow page after 30 seconds.
Slow web platforms affect overall user happiness and satisfaction levels.
You may make a kick-ass site which has great features, has an aesthetically amazing UX and web design, and uses the latest technology frameworks and tools. You spend enough on marketing to send reasonable traffic to your site. However, you notice that there is NO sustained traffic or revenue. There are no repeat visits or traffic growth..So..What could be the reason??
Ans. Your site is slow, it takes time to load and see information..This irritates the users and they don’t wish to come back!
A website or web platform essentially consists of two major components.
According to Mr. Steve Sounders (Pioneers of WPO), 80% of the time it takes to load a web page is controlled by the frontend structure.
So the best practices for webmasters or website administrators for doing web performance optimization are:
The practical ways of doing these optimizations are discussed below in the ‘What we do’ section of this web page.
Even though the backend accounts for 20% improvement in site speed, it still pays a pivotal role in overall user experience. If the backend is not performance optimized, then eventually a time will come when your site’s response times will start increasing exponentially after a certain threshold user load or traffic is reached.
The mobile phone has limited CPU and batter resources, it has less space and uses a lite database. It also has limited screen size and real estate. Due to intermittent connectivity, the data to be sent and processed on the mobile device must be very less and optimized.
The speed must be much faster of your site on the mobile. Appropriate mobile application architecture and mobile application development paradigms must be used to monitor and design the same.
See our whitepaper on Mobile Optimized design available at: ATLOGYS ACADEMY – MOBILE APPLICATION ARCHITECTURE
Once your site’s frontend and backend code is optimized, it is deployed on a hardware machine which acts as the server to handle the requests and provide the responses. Every machine has finite CPU, finite memory and finite capacity. Hence, you must know the max and min threshold number of requests your deployment machines can handle. As and when your traffic load increases beyond that threshold, you must set auto scaling and use cloud deployment techniques like elastic load balancing etc. to maintain site’s performance.
Sending more traffic to a machine above and beyond what it can handle will cause it to slow down the response of every request thereby affecting experience of all users.
There are many tools available for testing web performance and getting some initial benchmark numbers. The three most common tools that you can self-deploy are:
For complicated web platforms, it is recommended to use open source tools which must be configured, customized and setup for that site. These can be used to do load testing, stress testing and extensive latency testing on the site.
Such tools allow us to simulate user traffic prior to launching the site in the real world. They can also be used to test performance f web services API calls in a simulated integrated environment
Optimize your site for performance – We advocate and following website optimization tips: (the best practices mentioned above) –
Frontend web performance optimizations
Backend web Performance optimization
Create an optimized cloud deployment infrastructure for site launch
Perform website performance Monitoring on a continuous basis
Read our whitepaper on HOW TO RENDER LIGHTEING FAST WEB PAGES AT
CPU profiling is a great way for testing hidden issues in code which are deep rooted and which affect site’s performance. These are difficult to dissect and fix. But profiling for memory and CPU is a great tool to identify and fix such hidden issues in performance.
Thread contention and improper locking – Often a backend code and core architecture problem, we can study the site’s code and reverse engineer on the design and architecture to find out such problems.
Atlogys has a team of cloud computing consultants and web 2.0 administrators who are super finicky about performance. We have compiled our own battery of tests from various protocols and standards.
We use a mix of technology for web performance optimization. This includes the following:
Websites and web platforms are dynamic in nature. New pages are added and new feature releases are made on a continuous basis. It is important to keep monitoring performance on a continuous basis to catch and identify code changes that may lead to sudden increases in page load time or response time.
Website Performance monitoring is the process of scripting and running tests on a regular basis so as to maintain the site’s performance whilst new rollouts keep launching.
Continuous Integration servers like Hudson/Jenkins can be used to create performance analysis dashboards which may turn RED when the page load time of any page goes beyond an acceptable threshold
Google Analytics can also monitor page performance and help catch such errors
Amazon monitoring tools like cloudWatch can be deployed to trigger email alerts to webmasters when their response time goes up – this helps in catching increases in things like database read time, database write time, CPU time, file I/O time.
The user network time and rendering time can be simulated with firebug to trigger alerts for the same. You can simulate various internet speeds and various locales to get the right numbers for the seconds it takes for end users to see the website.