{"id":11473,"date":"2023-11-01T13:32:50","date_gmt":"2023-11-01T13:32:50","guid":{"rendered":"https:\/\/www.20i.com\/blog\/?p=11473"},"modified":"2023-11-15T10:27:14","modified_gmt":"2023-11-15T10:27:14","slug":"optimise-website-with-performance-testing","status":"publish","type":"post","link":"https:\/\/www.20i.com\/blog\/optimise-website-with-performance-testing\/","title":{"rendered":"How To Optimise Your Website With Performance Testing"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Performance testing is a widely used strategy in software and website development to understand how an app, website, API and database will behave under various conditions, and identify any bottlenecks in the system.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Whether it\u2019s seeing how your website responds to sudden surges in traffic or how well it copes with a specified load over time, there are many different tests you can use to ensure your website is optimised for any scenario.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are multiple stages to a website loading&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Backend (server)<\/strong>&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>DNS Time<\/strong> \u2013 Nameservers pointing your browser to the IP of the website&nbsp;<\/li>\n\n\n\n<li><strong>TCP connect time<\/strong> \u2013 TCP connection made to the server&nbsp;<\/li>\n\n\n\n<li><strong>TLS connect time<\/strong> \u2013 TLS connection made to the server (SSL\/TLS)&nbsp;<\/li>\n\n\n\n<li><strong>Time to first byte<\/strong> \u2013 When the browser receives the first byte of data from the server (TTFB)&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Frontend (website)<\/strong>&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Base page time <\/strong>\u2013 Browser receiving the site\u2019s HTML\/XML&nbsp;<\/li>\n\n\n\n<li><strong>First paint <\/strong>\u2013 The browser begins rendering pixels of the website&nbsp;<\/li>\n\n\n\n<li><strong>First contentful paint<\/strong> \u2013 The browser begins rendering the website\u2019s content (usually &lt;svg&gt;, &lt;canvas&gt;, text and background images)&nbsp;<\/li>\n\n\n\n<li><strong>Time to visually ready<\/strong> \u2013 The last visual change has occurred and the website looks to be ready&nbsp;<\/li>\n\n\n\n<li><strong>Onload <\/strong>\u2013 When all resources of the webpage are downloaded (CSS, images, videos etc.)&nbsp;<\/li>\n\n\n\n<li><strong>Time to interactive<\/strong> \u2013 When the website is available for user interaction&nbsp;<\/li>\n\n\n\n<li><strong>Fully loaded time<\/strong> \u2013 The webpage has fully loaded in the browser&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Taking the steps above into consideration can help you identify where a website\u2019s slowness originates from. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Common Performance Tests<\/strong>&nbsp;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Load Testing<\/strong>&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Load testing is the process of creating a simulated demand on your website to learn how it will cope under a specific condition \u2013 usually an expected, real-life data load.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can consistently raise the load during these tests over time to discover the current limit of your system. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This type of test usually includes volumetric data that will help you identify the limits that the website can handle as well as highlight specific issues that occur under certain conditions.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Spike Testing<\/strong>&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Much like load testing, spike testing is used to understand how well your website can handle sudden extreme variations in traffic. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It allows you to test the performance under those conditions to check for any issues users may experience during peak times.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Spike testing tools can simulate a sudden abundance of connections to test your website, API, application, database or store. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This can also be used to mimic a pseudo-DDoS attack, which will highlight the limit at which your website reaches before it suffers denial of service.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Endurance Testing<\/strong>&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Large volumes of traffic can last for hours during peak times and cause real issues.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s where Endurance Testing comes in. Similar to spike testing, it will generate a large number of sudden traffic, however, with endurance testing, this will be prolonged. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It helps you monitor your website\u2019s performance under a specific load over an extended period of time, so you can rest assured that your site will run smoothly.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Imagine that your e-commerce site releases a new product that is an immediate hit with your customers. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Your website suddenly sees a huge influx of traffic with no signs of slowing down anytime soon and your website is pushed to its limits. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Your website becomes overwhelmed and is rendered offline, resulting in a large loss of sales and also impacting how reliable your customers see your brand.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Luckily, with 20i, our hosting platform is load-balanced with autoscaling technology. This means your website will be allocated more resources automatically or moved to its own dedicated backend to prevent any loss of performance or outages.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Volume Testing<\/strong>&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Response times are one of the most important things for a website; no one likes waiting around nowadays. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If your TTFB (Time To First Byte) is high, the user will likely back out of your site before it has the chance to finish loading. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sadly, many sites slow down to a halt when they experience huge volumes of data. TTFB is usually caused by how quickly the web server can send the first byte of data to a user.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Scalability Testing<\/strong>&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Your site may work well with a handful of users, but how well will the server cope when you scale up? You can find out with Scalability Testing.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This form of performance testing is used to see how well your site can deal with both increases and decreases in demand, to ensure consistent performance in all scenarios.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stress Testing<\/strong>&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stress Testing is a must if you want your website to be robust and reliable. It involves simulating a very high spike in traffic to exceed your site\u2019s bandwidth, letting you determine where it will fail and whether it can bounce back afterwards.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The Benefits Of Performance Testing<\/strong>&nbsp;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Amazing User Experiences<\/strong>&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">By testing your website\u2019s performance and optimising it wherever you can, you\u2019ll create an unforgettable user experience that your end-users will want to come back to time and time again. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s the single most important reason to take performance testing seriously.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Improved Mobile Performance<\/strong>&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Mobile devices are impacted more by network conditions, which can affect performance. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With well-implemented testing, you can improve your website\u2019s load times (even on the slowest networks) so your users don\u2019t get frustrated.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Guaranteed Performance<\/strong>&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Testing your website under all those different conditions listed above gives you confidence that it can withstand whatever may come its way. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Crashes and errors may still occur, but you will have minimised the risks of major failures way before they happen.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The Performance Testing Process<\/strong>&nbsp;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">So, are you ready to get started with performance testing? Here are the main steps to follow.&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"1\">\n<li><strong>Get your website fully functional \u2013 <\/strong>Performance testing comes when you have a working site. It must function properly to provide accurate and useful test results.&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>Strategize \u2013 <\/strong>Create a plan of action for your performance testing, including the scope, the tests you want to perform and the scenarios you will use. Don\u2019t forget to decide what counts as a success either!&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li><strong>Perform the tests \u2013 <\/strong>Choose your performance testing software and use it to create test scripts and define the user actions you will be testing. Once you\u2019re happy everything matches your strategy, you can run the tests.&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li><strong>Review \u2013 <\/strong>Analyse the test data to discover areas for improvement, then start to implement those changes.&nbsp;<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Performance Testing Tools&nbsp;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>LoadView by Dotcom-Monitor<\/strong>\u00a0<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"400\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2023\/11\/Load-View.png\" alt=\"\" class=\"wp-image-11487\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2023\/11\/Load-View.png 600w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Load-View-300x200.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Load-View-370x247.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Load-View-270x180.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Load-View-570x380.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Load-View-150x100.png.webp 150w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This is an on-demand, 100% cloud-based platform to load test web pages, web applications and web services\/APIs. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We think it\u2019s one of the best load-testing tools available.&nbsp; Includes a free plan for single tests and paid plans starting from $129\/month.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For more information see: <a href=\"https:\/\/www.loadview-testing.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.loadview-testing.com\/<\/a>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Apache JMeter<\/strong>\u00a0<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"400\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2023\/11\/Apache-JMeter.png\" alt=\"\" class=\"wp-image-11488\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2023\/11\/Apache-JMeter.png 600w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Apache-JMeter-300x200.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Apache-JMeter-370x247.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Apache-JMeter-270x180.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Apache-JMeter-570x380.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Apache-JMeter-150x100.png.webp 150w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A full suite of open-source performance testing tools. It works at the protocol level (not the browser) to test performance with both static and dynamic resources.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can download it for free at: <a href=\"https:\/\/jmeter.apache.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/jmeter.apache.org\/<\/a>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>LoadNinja<\/strong>\u00a0<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"400\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2023\/11\/Load-Ninja.png\" alt=\"\" class=\"wp-image-11489\" srcset=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2023\/11\/Load-Ninja.png 600w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Load-Ninja-300x200.png.webp 300w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Load-Ninja-370x247.png.webp 370w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Load-Ninja-270x180.png.webp 270w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Load-Ninja-570x380.png.webp 570w, https:\/\/www.20i.com\/blog\/wp-content\/smush-webp\/2023\/11\/Load-Ninja-150x100.png.webp 150w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A user-friendly and accurate load testing tool that provides real-world accuracy and instant playback. Uses real browsers for reliable data.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Plans start from $105\/month.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For more information see: <a href=\"https:\/\/loadninja.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/loadninja.com\/<\/a>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Summary<\/strong>&nbsp;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Performance testing is a valuable part of the development process that everyone should take seriously.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Both software performance testing and website performance testing can help you judge the current performance, identify bottlenecks in your current system, and discover ways to improve your next version.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thanks to the range of software available (both paid and open source), it is also accessible to development teams of all sizes.<\/p>\n\n\n<div class='code-block code-block-5' style='margin: 8px 0; clear: both;'>\n<hr>\n<br \/><a href=\"https:\/\/www.20i.com\/managed-cloud-servers\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2026\/03\/Blog-Ad-MCS-1200x625-1.png\" loading=\"lazy\" alt=\"Managed Cloud Hosting\"><\/a><\/div>\n\n","protected":false},"excerpt":{"rendered":"Performance testing is a widely used strategy in software and website development to understand how an app, website,&hellip;","protected":false},"author":34,"featured_media":7277,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"ub_ctt_via":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"csco_singular_sidebar":"","csco_page_header_type":"","csco_page_load_nextpost":"","footnotes":""},"categories":[60],"tags":[80,79],"class_list":["post-11473","post","type-post","status-publish","format-standard","has-post-thumbnail","category-web-design-dev","tag-seo","tag-web-development","cs-entry"],"featured_image_src":"https:\/\/www.20i.com\/blog\/wp-content\/uploads\/2021\/11\/Web-Page-Speed-Testing.png","author_info":{"display_name":"Arron C","author_link":"https:\/\/www.20i.com\/blog\/author\/arroncruse\/"},"_links":{"self":[{"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/posts\/11473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/comments?post=11473"}],"version-history":[{"count":8,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/posts\/11473\/revisions"}],"predecessor-version":[{"id":11986,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/posts\/11473\/revisions\/11986"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/media\/7277"}],"wp:attachment":[{"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/media?parent=11473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/categories?post=11473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.20i.com\/blog\/wp-json\/wp\/v2\/tags?post=11473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}