{"id":43,"date":"2020-10-27T00:40:00","date_gmt":"2020-10-26T23:40:00","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/lessons-learned-from-load-testing\/"},"modified":"2022-01-05T20:06:14","modified_gmt":"2022-01-05T19:06:14","slug":"load-testing-lessons-learned","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/","title":{"rendered":"Lessons Learned from Load Testing"},"content":{"rendered":"\t\t\t\t<div class=\"wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-2b0dd3b8      \"\n\t\t\t\t\tdata-scroll= \"1\"\n\t\t\t\t\tdata-offset= \"30\"\n\t\t\t\t\tstyle=\"\"\n\t\t\t\t>\n\t\t\t\t<div class=\"uagb-toc__wrap\">\n\t\t\t\t\t\t<div class=\"uagb-toc__title\">\n\t\t\t\t\t\t\tTable Of Contents\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uagb-toc__list-wrap \">\n\t\t\t\t\t\t<ol class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#what-is-load-testing-and-how-does-it-work\" class=\"uagb-toc-link__trigger\">What is Load Testing and how does it work?<\/a><li class=\"uagb-toc__list\"><a href=\"#collect-your-metrics-for-load-testing\" class=\"uagb-toc-link__trigger\">Collect your metrics for load testing<\/a><li class=\"uagb-toc__list\"><a href=\"#if-my-system-breaks-what-can-i-do\" class=\"uagb-toc-link__trigger\">If my system breaks, what can I do?<\/a><li class=\"uagb-toc__list\"><a href=\"#what-are-the-outcomes\" class=\"uagb-toc-link__trigger\">What are the outcomes?<\/a><\/ol>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\n\n<p class=\"eplus-gmWERX\"><span id=\"urn:enhancement-1c885a6f\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/load_testing\">Load testing<\/span> is a crucial task for any <span id=\"urn:enhancement-680b3269\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/software_developer\">developer<\/span> who work on <span id=\"urn:enhancement-a107431e\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/front_and_back_ends\">backend<\/span> services. At <span id=\"urn:batch-analysis-99c14574-8d58-4068-9c9f-5e1ea3e0cc9d\" class=\"textannotation disambiguated wl-no-link wl-organisation\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/codemotion_2\">Codemotion<\/span>, we are always interested in providing values for all <span id=\"urn:enhancement-dea8310f\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/software_developer\">developers<\/span>, and that&#8217;s one of the reasons why the <span id=\"urn:enhancement-5be22b3d\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/spanish_language\">Spanish<\/span> edition of the <strong>Codemotion <span id=\"urn:enhancement-1224d3f0\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/online_and_offline\">Online<\/span> Tech Conference<\/strong> (3-4-5 November) will cover also these topics (check the agenda and get your free ticket <a href=\"https:\/\/events.codemotion.com\/conferences\/online\/2020\/online-tech-conference-spanish-edition\/\">here<\/a>!)<\/p>\n\n\n\n<p class=\"eplus-5qQ11N\">In 2019, we had the pleasure to have <strong>Katie Koschland<\/strong> delivering an interesting talk about <strong>load testing<\/strong> during our conference in Rome. She talked about her <span id=\"urn:batch-analysis-4c4a411d-aa5b-4d31-99c1-0c1c9f61d211\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/experience\">experience<\/span> of finding a <span id=\"urn:enhancement-d253ac9\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/performance\">performance<\/span> problem on the Financial Times website. Although she and her <span id=\"urn:batch-analysis-7a36120e-201f-4396-8430-3a2bd7665c67\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/team\">team<\/span> didn&#8217;t manage to get to the root of the problem, she did learn a few key points that could help anyone in the same situation. In this article, we will try to understand what she faced and what are the outcomes. But first of all, let&#8217;s talk about load testing.<\/p>\n\n\n\n<h2 class=\"eplus-qLrDW5 wp-block-heading\" id=\"h-what-is-load-testing-and-how-does-it-work\">What is Load Testing and how does it work?<\/h2>\n\n\n\n<p class=\"eplus-qye7JX\"><span id=\"urn:enhancement-5281ccfa\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/load_testing\">Load testing<\/span> is a type of <strong><span id=\"urn:enhancement-86a3895a\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/test_assessment\">performance test<\/span><\/strong> that measures how your <span id=\"urn:enhancement-602bfbc7\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/system\">system<\/span> behaves under a <strong>high load of <span id=\"urn:enhancement-6a8f2141\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">users<\/span><\/strong>. What is important here is to collect <span id=\"urn:enhancement-4fdf0f29\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/metric_mathematics\">metrics<\/span> and runtime problems to understand how your system performs and what are its limits to help you do some tweaks. A more advanced type of <span id=\"urn:enhancement-be09439f\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/test_assessment\">performance test<\/span> which usually runs in conjunction with a load test is <strong><span id=\"urn:local-annotation-246997\" class=\"textannotation disambiguated\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/stress_testing\">stress testing<\/span><\/strong>, in which the aim is to break your <span id=\"urn:enhancement-ea57192e\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/system\">system<\/span> using predictable or unpredictable <span id=\"urn:enhancement-804b5ebd\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/scenario\">scenarios<\/span>.<\/p>\n\n\n\n<div class=\"wp-block-image eplus-VETqR0\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"496\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/10\/performance-testing-1024x496.gif\" alt=\"performance testing\" class=\"wp-image-11808\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/10\/performance-testing-1024x496.gif 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/10\/performance-testing-300x145.gif 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/10\/performance-testing-768x372.gif 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p class=\"eplus-g8PIDA\">But how does load testing technically work? It mainly consists of testing a <span id=\"urn:enhancement-c8507d1b\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/requirement\">requirement<\/span> <span id=\"urn:enhancement-efe743c9\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/scenario\">scenario<\/span> based on a <span id=\"urn:enhancement-80d07096\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/uniform_resource_locator\">URL address<\/span> (this could be a website page, a <span id=\"urn:enhancement-d2da5660\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/representational_state_transfer\">REST<\/span> <span id=\"urn:enhancement-1d6ce1b9\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_programming_interface\">API<\/span>) that is called multiple times simulating <span id=\"urn:enhancement-56ea4e5a\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">user<\/span> interactions. Indeed, two main <span id=\"urn:enhancement-bc504230\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/requirement\">requirements<\/span> for load testing are <span id=\"urn:enhancement-980ff5c6\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/execution_computing\">execution<\/span> time and the number of concurrent virtual <span id=\"urn:enhancement-ae540de2\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">users<\/span>.<\/p>\n\n\n\n<p class=\"eplus-e7ATnt\">Today there are many <span id=\"urn:enhancement-b03147ff\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/software_framework\">frameworks<\/span> available for load testing. It mainly depends on what are your necessities and how you would like to run this kind of test. Generally, load testing frameworks require some hardware <span id=\"urn:enhancement-1616bebf\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/infrastructure\">infrastructure<\/span>, to provide a more realistic testing environment (such as test controllers and many test agents). If you can&#8217;t afford it, you can always use a cloud service such as <strong><span id=\"urn:batch-analysis-69ba1732-c992-494a-b89f-21ade3595535\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/microsoft_azure\"><a href=\"https:\/\/www.codemotion.com\/magazine\/dev-hub\/cloud-manager\/a-first-web-app-on-microsoft-azure\/\">Microsoft Azure<\/a><\/span> <span id=\"urn:enhancement-1cf6f2e2\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/cloud_computing\">Cloud<\/span> <span id=\"urn:enhancement-2c8667cf\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/load_computing\">Load<\/span> Test<\/strong> to provide in no time a ready-to-use infrastructure.<\/p>\n\n\n\n<p class=\"eplus-nUDALr\">Back to Katie&#8217;s situation, <strong>the load testing framework used is Artillery<\/strong>, due to its simplicity of <span id=\"urn:enhancement-47e4a91e\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/installation_computer_programs\">installation<\/span> and use; we just need to install it on a machine using <a href=\"https:\/\/www.codemotion.com\/magazine\/npm-from-its-conception-to-its-future-5328\">NPM<\/a>:<\/p>\n\n\n\n<p class=\"eplus-vo0itW\"><code>npm install -g artillery<\/code><\/p>\n\n\n\n<p class=\"eplus-3BOFbk\">With artillery, we can execute a one-shot test, or we can use a <span id=\"urn:enhancement-7bbda0d6\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/yaml\">YAML<\/span> <span id=\"urn:enhancement-c132d87f\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/scripting_language\">script<\/span> to <span id=\"urn:enhancement-c95c87a\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/configure_script\">configure<\/span> a <span id=\"urn:enhancement-301deaa3\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/scenario\">scenario<\/span> with one or more specific stages. Here&#8217;s an example of a simple <span id=\"urn:enhancement-1676cca3\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/scripting_language\">script<\/span>:<\/p>\n\n\n\n<script src=\"https:\/\/pastebin.com\/embed_js\/N4YUKfwH\"><\/script>\n\n\n\n<p class=\"eplus-lF9rB2\">In this <span id=\"urn:enhancement-4bf2e94d\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/scripting_language\">script<\/span>, we are testing the website <em>artillery.io<\/em> using 20 virtual users for 60 seconds. We can run the <span id=\"urn:enhancement-7952cf8\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/scripting_language\">script<\/span> using:<\/p>\n\n\n\n<p class=\"eplus-csOCAe\"><code>artillery run test-site.yml<\/code><\/p>\n\n\n\n<p class=\"eplus-GWbAEb\">At the end of the <span id=\"urn:enhancement-967e9faf\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/execution_computing\">execution<\/span>, artillery will provide us with a detailed report that can help us to identify bottlenecks and, more generally, any <span id=\"urn:enhancement-4ac5ce10\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/performance\">performance<\/span> issue. Lastly, you can easily integrate such load <span id=\"urn:enhancement-4fc59239\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/test_assessment\">tests<\/span> into your delivery pipeline thanks to CI <span id=\"urn:enhancement-be6dcf76\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/tool\">tools<\/span> flexibility.<\/p>\n\n\n\n<h2 class=\"eplus-LZ09C6 wp-block-heading\" id=\"h-collect-your-metrics-for-load-testing\">Collect your metrics for load testing<\/h2>\n\n\n\n<div class=\"wp-block-image eplus-pTjQNK\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/09\/luke-chesser-JKUTrJ4vK00-unsplash-1024x576.jpg\" alt=\"load testing metrics\" class=\"wp-image-9017\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/09\/luke-chesser-JKUTrJ4vK00-unsplash-1024x576.jpg 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/09\/luke-chesser-JKUTrJ4vK00-unsplash-300x169.jpg 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/09\/luke-chesser-JKUTrJ4vK00-unsplash-768x432.jpg 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/09\/luke-chesser-JKUTrJ4vK00-unsplash-896x504.jpg 896w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/09\/luke-chesser-JKUTrJ4vK00-unsplash-400x225.jpg 400w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/09\/luke-chesser-JKUTrJ4vK00-unsplash.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p class=\"eplus-FqSC87\">When you load <span id=\"urn:enhancement-ea9f849d\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/test_assessment\">test<\/span> your <span id=\"urn:enhancement-4dffd121\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">application<\/span>, you need to <strong>plan<\/strong> what <span id=\"urn:enhancement-9aa8cfc3\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/scenario\">scenario<\/span> and amount of load you want to apply to it. Usually, you can define levels of load regarding a number of concurrent virtual <span id=\"urn:enhancement-44f469d8\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/user_computing\">users<\/span> and <span id=\"urn:enhancement-40042e04\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/execution_computing\">execution<\/span> time.<\/p>\n\n\n\n<p class=\"eplus-Azen6A\">The right way to plan it is to define different phases in which you apply a different amount of load and understand how your system performs.<\/p>\n\n\n\n<p class=\"eplus-CKs3LM\">In Katie&#8217;s situation, she defined three different phases:<\/p>\n\n\n\n<ol class=\"eplus-dPTit3 wp-block-list\"><li><em>warm-up<\/em>: 10 virtual users for 60 seconds;<\/li><li><em>ramp-up<\/em>: from 10 to 25 virtual users for 120 seconds;<\/li><li><em>cruise<\/em>: 25 virtual users for 1200 seconds.<\/li><\/ol>\n\n\n\n<p class=\"eplus-4as0NH\">Also, she did <strong>stress testing<\/strong> on her <span id=\"urn:enhancement-c92834e9\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/system\">system<\/span> through the break phase with the following configuration:<\/p>\n\n\n\n<ol start=\"4\" class=\"eplus-NaMSQq wp-block-list\"><li><em>crash<\/em>: 100 virtual users for 30 seconds.<\/li><\/ol>\n\n\n\n<p class=\"eplus-KFZTW5\">As we said before, the aim of load testing is to collect <span id=\"urn:enhancement-25c3f3bc\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/metric_mathematics\">metrics<\/span>. Indeed, <span id=\"urn:enhancement-de989c77\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/metric_mathematics\">metrics<\/span> are the only way to understand what is not <span id=\"urn:enhancement-4f5c7000\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/performance\">performing<\/span> in your <span id=\"urn:enhancement-4cd38d1\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/system\">system<\/span> as well as expected. Depending on the testing framework, you can choose what <span id=\"urn:enhancement-95c08205\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/metric_mathematics\">metrics<\/span> you want to collect and the level of detail related to them. You can even integrate your reports into your external monitoring systems such as <span id=\"urn:enhancement-c6d360af\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/datadog\">Datadog<\/span>, Grafana or Telegraph to help you to have a broader view of how your <span id=\"urn:enhancement-1a5ab0c6\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/system\">system<\/span> is <span id=\"urn:enhancement-93ed84ca\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/performance\">performing<\/span>.<\/p>\n\n\n\n<h2 class=\"eplus-1QDb1n wp-block-heading\" id=\"h-if-my-system-breaks-what-can-i-do\">If my system breaks, what can I do?<\/h2>\n\n\n\n<div class=\"wp-block-image eplus-wQZ57Z\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/10\/thisisengineering-raeng-0jTZTMyGym8-unsplash-1024x576.jpg\" alt=\"metrics graph load testing\" class=\"wp-image-11809\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/10\/thisisengineering-raeng-0jTZTMyGym8-unsplash-1024x576.jpg 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/10\/thisisengineering-raeng-0jTZTMyGym8-unsplash-300x169.jpg 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/10\/thisisengineering-raeng-0jTZTMyGym8-unsplash-768x432.jpg 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/10\/thisisengineering-raeng-0jTZTMyGym8-unsplash-896x504.jpg 896w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/10\/thisisengineering-raeng-0jTZTMyGym8-unsplash-400x225.jpg 400w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2020\/10\/thisisengineering-raeng-0jTZTMyGym8-unsplash.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p class=\"eplus-P9nGKz\"><span id=\"urn:enhancement-6104329\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/load_testing\">Load testing<\/span> also helps you understand what you can do when your system breaks. You need to be prepared for situations in which your <span id=\"urn:enhancement-a28a7a6c\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">application<\/span> is down and you need to bring it up as soon as possible.<\/p>\n\n\n\n<p class=\"eplus-MdqATH\">For this reason, you need to have an emergency plan that helps you to:<\/p>\n\n\n\n<ol class=\"eplus-gc4K16 wp-block-list\"><li>scale your application when it is under stress;<\/li><li>fallback deploy in case that new <span id=\"urn:batch-analysis-59c87e12-8617-4ee0-9515-dc6e51536175\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/feature_machine_learning\">features<\/span> are not performing well.<\/li><\/ol>\n\n\n\n<p class=\"eplus-bO13dt\">Also, it&#8217;s a good design choice to have a <strong>courtesy page<\/strong>, in case your <span id=\"urn:enhancement-f22d5888\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/application_software\">application<\/span> is having runtime errors.<\/p>\n\n\n\n<h2 class=\"eplus-hXtSS7 wp-block-heading\" id=\"h-what-are-the-outcomes\">What are the outcomes?<\/h2>\n\n\n\n<p class=\"eplus-UrO0Pd\">Katie didn&#8217;t succeed in understanding what the problem was in her <span id=\"urn:enhancement-703a0750\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/system\">system<\/span>. But, in her case, the <span id=\"urn:batch-analysis-31c3a9a5-731a-426e-895f-7b24298b0cc2\" class=\"textannotation disambiguated wl-no-link wl-other\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/experience\">experience<\/span> is the first step to learn and improve. She did learn how to manage these kind of situations and most of all collected a set of <span id=\"urn:enhancement-d914ef24\" class=\"textannotation disambiguated wl-thing\" itemid=\"http:\/\/data.wordlift.io\/wl01770\/entity\/tool\">tools<\/span> that are her everyday toolbox.<\/p>\n\n\n\n<p class=\"eplus-aQVRa6\"><\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Load testing is a crucial task for any developer who work on backend services. At Codemotion, we are always interested in providing values for all developers, and that&#8217;s one of the reasons why the Spanish edition of the Codemotion Online Tech Conference (3-4-5 November) will cover also these topics (check the agenda and get your&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/\">Read more<\/a><\/p>\n","protected":false},"author":9,"featured_media":11804,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":4,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[36],"tags":[4359],"collections":[],"class_list":{"0":"post-43","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-backend","8":"tag-testing","9":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Load Testing, leassons learned - Codemotion Magazine<\/title>\n<meta name=\"description\" content=\"In this article we&#039;ll learn a bit more about what is load testing, why it is important and which are the best frameworks to use.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lessons Learned from Load Testing\" \/>\n<meta property=\"og:description\" content=\"In this article we&#039;ll learn a bit more about what is load testing, why it is important and which are the best frameworks to use.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-26T23:40:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-05T19:06:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Antonio Turibbio Liccardi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@turibbio\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Antonio Turibbio Liccardi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/\"},\"author\":{\"name\":\"Antonio Turibbio Liccardi\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/7e8f9aade09a4e3ba0ba01c0eaa1a0a0\"},\"headline\":\"Lessons Learned from Load Testing\",\"datePublished\":\"2020-10-26T23:40:00+00:00\",\"dateModified\":\"2022-01-05T19:06:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/\"},\"wordCount\":888,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg\",\"keywords\":[\"Testing\"],\"articleSection\":[\"Backend\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/\",\"name\":\"Load Testing, leassons learned - Codemotion Magazine\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg\",\"datePublished\":\"2020-10-26T23:40:00+00:00\",\"dateModified\":\"2022-01-05T19:06:14+00:00\",\"description\":\"In this article we'll learn a bit more about what is load testing, why it is important and which are the best frameworks to use.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg\",\"width\":1200,\"height\":675,\"caption\":\"developer load testing\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Backend\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/backend\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Lessons Learned from Load Testing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/7e8f9aade09a4e3ba0ba01c0eaa1a0a0\",\"name\":\"Antonio Turibbio Liccardi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/71a132e506f96e21890c26c9f5a2c7c95e1650374779bf23a824e7adf5448868?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/71a132e506f96e21890c26c9f5a2c7c95e1650374779bf23a824e7adf5448868?s=96&d=mm&r=g\",\"caption\":\"Antonio Turibbio Liccardi\"},\"description\":\"I'm a book author and trainer working as Cloud Developer and DevOps Engineer at Blexin. I love sharing, so I co-founded \u201cDotNetCampania\u201d (an Italian .NET community), to help other developers to improve their knowledge about .NET Ecosystem and coding in general. I'm also a frequent speaker at conferences, and I've been awared by Microsoft as MVP for Visual Studio Developer Technologies since 2015.\",\"sameAs\":[\"https:\/\/x.com\/turibbio\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/antonio-turibbio-liccardi\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Load Testing, leassons learned - Codemotion Magazine","description":"In this article we'll learn a bit more about what is load testing, why it is important and which are the best frameworks to use.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/","og_locale":"en_US","og_type":"article","og_title":"Lessons Learned from Load Testing","og_description":"In this article we'll learn a bit more about what is load testing, why it is important and which are the best frameworks to use.","og_url":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2020-10-26T23:40:00+00:00","article_modified_time":"2022-01-05T19:06:14+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg","type":"image\/jpeg"}],"author":"Antonio Turibbio Liccardi","twitter_card":"summary_large_image","twitter_creator":"@turibbio","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Antonio Turibbio Liccardi","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/"},"author":{"name":"Antonio Turibbio Liccardi","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/7e8f9aade09a4e3ba0ba01c0eaa1a0a0"},"headline":"Lessons Learned from Load Testing","datePublished":"2020-10-26T23:40:00+00:00","dateModified":"2022-01-05T19:06:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/"},"wordCount":888,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg","keywords":["Testing"],"articleSection":["Backend"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/","url":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/","name":"Load Testing, leassons learned - Codemotion Magazine","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg","datePublished":"2020-10-26T23:40:00+00:00","dateModified":"2022-01-05T19:06:14+00:00","description":"In this article we'll learn a bit more about what is load testing, why it is important and which are the best frameworks to use.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg","width":1200,"height":675,"caption":"developer load testing"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/backend\/load-testing-lessons-learned\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Backend","item":"https:\/\/www.codemotion.com\/magazine\/backend\/"},{"@type":"ListItem","position":3,"name":"Lessons Learned from Load Testing"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/7e8f9aade09a4e3ba0ba01c0eaa1a0a0","name":"Antonio Turibbio Liccardi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/71a132e506f96e21890c26c9f5a2c7c95e1650374779bf23a824e7adf5448868?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/71a132e506f96e21890c26c9f5a2c7c95e1650374779bf23a824e7adf5448868?s=96&d=mm&r=g","caption":"Antonio Turibbio Liccardi"},"description":"I'm a book author and trainer working as Cloud Developer and DevOps Engineer at Blexin. I love sharing, so I co-founded \u201cDotNetCampania\u201d (an Italian .NET community), to help other developers to improve their knowledge about .NET Ecosystem and coding in general. I'm also a frequent speaker at conferences, and I've been awared by Microsoft as MVP for Visual Studio Developer Technologies since 2015.","sameAs":["https:\/\/x.com\/turibbio"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/antonio-turibbio-liccardi\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1-600x400.jpg","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1-600x600.jpg","author_info":{"display_name":"Antonio Turibbio Liccardi","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/antonio-turibbio-liccardi\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg",1200,675,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1-150x150.jpg",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1-300x169.jpg",300,169,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1-768x432.jpg",768,432,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1-1024x576.jpg",1024,576,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg",1200,675,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg",1200,675,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1.jpg",100,56,false],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1-180x128.jpg",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1-896x504.jpg",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1-400x225.jpg",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1-600x400.jpg",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/08\/Senza-titolo-1-600x600.jpg",600,600,true]},"uagb_author_info":{"display_name":"Antonio Turibbio Liccardi","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/antonio-turibbio-liccardi\/"},"uagb_comment_info":0,"uagb_excerpt":"Load testing is a crucial task for any developer who work on backend services. At Codemotion, we are always interested in providing values for all developers, and that&#8217;s one of the reasons why the Spanish edition of the Codemotion Online Tech Conference (3-4-5 November) will cover also these topics (check the agenda and get your&#8230;&hellip;","lang":"en","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/43","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=43"}],"version-history":[{"count":7,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/43\/revisions"}],"predecessor-version":[{"id":15141,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/43\/revisions\/15141"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/11804"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=43"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}