AWS prescriptive-guidance documentation change
Summary
Updated navigation links, rephrased section headings as questions, fixed typographical errors (apostrophes), removed hyperlink from 'Tools to use' reference, added new paragraph about using load-testing tools for functional verification, and updated section titles for clarity.
Security assessment
The changes are editorial improvements and content clarifications without any mention of security vulnerabilities, security features, or security best practices. The added content focuses on functional testing scenarios (e.g., blog/shopping workflows) and load testing methodologies without addressing security aspects.
Diff
diff --git a/prescriptive-guidance/latest/load-testing/test-types.md b/prescriptive-guidance/latest/load-testing/test-types.md index fbf682fc7..cfd1ccdcf 100644 --- a//prescriptive-guidance/latest/load-testing/test-types.md +++ b//prescriptive-guidance/latest/load-testing/test-types.md @@ -5 +5 @@ -[Documentation](/index.html)[AWS Prescriptive Guidance](https://aws.amazon.com/prescriptive-guidance/)[Load testing applications](welcome.html) +[Documentation](/index.html)[AWS Prescriptive Guidance](https://aws.amazon.com/prescriptive-guidance/)[Load testing applications](introduction.html) @@ -7 +7 @@ -Load sizeSpecific loadAutomatic scalingConstant high loadApplication functionality +How much load can my application withstand?Can my application handle X load?Does my application automatically scale up and down?Does my application behavior degrade over time with a constant high load?Is my application working? @@ -17 +17 @@ When setting up a test to determine the load that your application can withstand - * Browsing the site is a load that is achieved by visiting a number of pages or endpoints, or by requesting data from a single endpoint using different parameters for each request. You can often achieve this by using the basic tools described in the _[Tools to use](./tools.html)_ section. Because a cache is often a vital component of an application, decide whether you want to include a caching layer in the test. + * Browsing the site is a load that is achieved by visiting a number of pages or endpoints, or by requesting data from a single endpoint using different parameters for each request. You can often achieve this by using the basic tools described in the _Tools to use_ section. Because a cache is often a vital component of an application, decide whether you want to include a caching layer in the test. @@ -19 +19 @@ When setting up a test to determine the load that your application can withstand - * Testing transactional workflows, such as a checkout where requests depend on each other and carry data forward between requests, require more complex tools. Also, because the measure of requests has limited relevance in the context of a multiple-step transaction, it’s more accurate to count the whole transaction, which must be emitted as a separate datapoint by the tool. The Apache JMeter and k6 tools can be configured to provide these datapoints. + * Testing transactional workflows, such as a checkout where requests depend on each other and carry data forward between requests, require more complex tools. Also, because the measure of requests has limited relevance in the context of a multiple-step transaction, it's more accurate to count the whole transaction, which must be emitted as a separate datapoint by the tool. The Apache JMeter and k6 tools can be configured to provide these datapoints. @@ -26 +26 @@ Define the acceptable threshold for the performance and error rate of your targe -It’s often helpful to perform the tests in steps. The load is increased with each step until you reach the defined threshold. For repeated tests, you can learn from previous tests and improve your stepping to perform fewer steps in a test and still gain valid results. +It's often helpful to perform the tests in steps. The load is increased with each step until you reach the defined threshold. For repeated tests, you can learn from previous tests and improve your stepping to perform fewer steps in a test and still gain valid results. @@ -30 +30 @@ It’s often helpful to perform the tests in steps. The load is increased with e -Similar to the previous test, the load in this test can be defined as req/s or as concurrent users, depending on the nature of the application you are testing. This test is a simplified version of the previous one. Here, a specific workloadmust be submitted, and the system should be able to handle it. It’s important to choose a testing tool that supports specifying the load volume that you require. +Similar to the previous test, the load in this test can be defined as req/s or as concurrent users, depending on the nature of the application you are testing. This test is a simplified version of the previous one. Here, a specific workloadmust be submitted, and the system should be able to handle it. It's important to choose a testing tool that supports specifying the load volume that you require. @@ -36 +36 @@ The time to run the test can also be relevant. Some effects can be observed only -Elasticity is a key selling point of the cloud, and it’s a key source of cost reduction. Testing whether your application is properly scaling, so that you can confidently benefit from the elasticity, should be part of your cloud journey. +Elasticity is a key selling point of the cloud, and it's a key source of cost reduction. Testing whether your application is properly scaling, so that you can confidently benefit from the elasticity, should be part of your cloud journey. @@ -40 +40 @@ Key metrics that are used to scale up and down need to be identified. Typically, -Because this test doesn’t require representability, you can benefit from targeting an endpoint that is free from side effects. You also don’t want to initiate a flow that persists data that could accumulate, or that initiates subsequent processes and induces either unnecessary costs or blocks the load. +Because this test doesn't require representability, you can benefit from targeting an endpoint that is free from side effects. You also don't want to initiate a flow that persists data that could accumulate, or that initiates subsequent processes and induces either unnecessary costs or blocks the load. @@ -48 +48 @@ Monitor the desired trigger for the scale up event and whether scaling was appro -If you have implemented a scale down event, you can also test this in a stepped manner. Monitor whether the scale down is applicable and appropriate for the existing load, and confirm that it doesn’t initiate an immediate scale up again. +If you have implemented a scale down event, you can also test this in a stepped manner. Monitor whether the scale down is applicable and appropriate for the existing load, and confirm that it doesn't initiate an immediate scale up again. @@ -58 +58 @@ Using a correlation ID helps you track the whole journey of a single message thr -For the most reliable results, choose a tool that supports setting a constant request rate. This means that if the target system is getting slower, the concurrency of the test tool must increase of keep the req/s constant. When the system starts to respond more slowly, it will tie up more threads and lower the request rate of your load-generating tool. A tool with a constant request rate must increase concurrency when happens, and you will see failure faster. Instead of measuring degradation by achieved req/s, you will measure by latency and even failed requests. +For the most reliable results, choose a tool that supports setting a _constant request rate_. This means that if the target system is getting slower, the concurrency of the test tool must increase of keep the req/s constant. When the system starts to respond more slowly, it will tie up more threads and lower the request rate of your load-generating tool. A tool with a constant request rate must increase concurrency when happens, and you will see failure faster. Instead of measuring degradation by achieved req/s, you will measure by latency and even failed requests. @@ -61,0 +62,2 @@ For the most reliable results, choose a tool that supports setting a constant re +This is not a typical load-testing domain, but you can use load-testing tools to perform basic tests such as checking a number of endpoints. Scenarios performed by complex tools can verify more complex behavior. On a blogging website a check would not only include reading posts, but also creating a blog post or commenting on one. For a shopping website, this could be a full transaction, including browsing the catalog, selecting two products, going through the checkout process, and making the purchase. + @@ -72 +74 @@ To use the Amazon Web Services Documentation, Javascript must be enabled. Please -Foundation +Foundational planning for load testing @@ -74 +76 @@ Foundation -Implications +Implications of load testing