Skip to content

Instantly share code, notes, and snippets.

@yokawasa
Last active December 16, 2024 22:52
Show Gist options
  • Save yokawasa/ad6c277ab9db1273849d3daa5ad431fd to your computer and use it in GitHub Desktop.
Save yokawasa/ad6c277ab9db1273849d3daa5ad431fd to your computer and use it in GitHub Desktop.
Postman Collection for Performance testing demo
{
"info": {
"_postman_id": "cedf3ee2-a25e-4f23-ad84-faab47425225",
"name": "PerformanceTesting",
"description": "# About this collection\n\nThis collection is designed to help you test the performance of your API endpoints with varying sizes of query parameters. The collection contains pre-built requests that simulate large and small query parameters to assess how well your API handles different loads.\n\nUsing this collection, you can identify potential bottlenecks or performance issues in your API, enabling you to optimize and enhance the overall performance.\n\n## **Using the collection**\n\n**Step 1:** Replace the placeholders in the URLs and parameters with your own API base URLs and relevant query parameters.\n\n**Step 2 (optional):** Modify the sizes of the query parameters to reflect your specific use case better. You can create multiple requests with varying parameter sizes to test your API's performance thoroughly.\n\n**Step 3:** Run the collection using Postman's Collection Runner or Postman's Newman CLI tool.\n\n**Step 4:** Analyze the results to identify performance bottlenecks, slow response times, or potential issues with handling large or small query parameters.\n\n## Resources\n\n[Performance Testing](https://learning.postman.com/docs/designing-and-developing-your-api/testing-your-api/introduction-to-performance-testing/) \n[Postman Collection Runner](https://learning.postman.com/docs/running-collections/intro-to-collection-runs/) \n[Postman Newman CLI](https://learning.postman.com/docs/running-collections/using-newman-cli/command-line-integration-with-newman/)\n\n[ \n](https://postman.postman.co/documentation/22517504-3302192d-87dd-4612-b381-61894de21203?entity=&branch=&version=)",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
"_exporter_id": "52523",
"_collection_link": "https://www.postman.com/what-is-api-first/api-testing-demo/collection/xidzitb/performance-testing?action=share&source=collection_link&creator=52523"
},
"item": [
{
"name": "Large Query Params",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Response time is less than 1000ms\", function () {",
" pm.expect(pm.response.responseTime).to.be.below(1000);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://postman-echo.com/get?foo1=bar1&foo2=bar2&foo2=bar2&foo3=bar3&foo4=bar4&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10&foo5=bar5&foo6=bar6&foo7=bar7&foo8=bar8&foo9=bar9&foo10=bar10",
"protocol": "https",
"host": [
"postman-echo",
"com"
],
"path": [
"get"
],
"query": [
{
"key": "foo1",
"value": "bar1"
},
{
"key": "foo2",
"value": "bar2"
},
{
"key": "foo2",
"value": "bar2"
},
{
"key": "foo3",
"value": "bar3"
},
{
"key": "foo4",
"value": "bar4"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
},
{
"key": "foo5",
"value": "bar5"
},
{
"key": "foo6",
"value": "bar6"
},
{
"key": "foo7",
"value": "bar7"
},
{
"key": "foo8",
"value": "bar8"
},
{
"key": "foo9",
"value": "bar9"
},
{
"key": "foo10",
"value": "bar10"
}
]
},
"description": "**Description \n**This request is designed to test an API endpoint with a large set of query parameters. By sending this request, you can assess how well your API handles complex requests and analyze its response times and performance under a significant load.\n\n**Request details \n**URL: [https://postman-echo.com/get](https://postman-echo.com/get) \nHTTP Method: GET \nQuery Parameters: Multiple instances of foo1 through foo10 with varying values of \"bar\"\n\n**Usage** \nTo use this request, simply replace the URL with your own API endpoint and modify the query parameters according to your requirements."
},
"response": []
},
{
"name": "Small Query Params",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"Response time is less than 500ms\", function () {",
" pm.expect(pm.response.responseTime).to.be.below(500);",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://postman-echo.com/get?foo1=bar1&foo2=bar2",
"protocol": "https",
"host": [
"postman-echo",
"com"
],
"path": [
"get"
],
"query": [
{
"key": "foo1",
"value": "bar1"
},
{
"key": "foo2",
"value": "bar2"
}
]
},
"description": "**Description** \nThis request is designed to test an API endpoint with a small set of query parameters. By sending this request, you can assess how well your API handles simple requests and analyze its response times and performance under a minimal load.\n\n**Request details** \nURL: [https://postman-echo.com/get](https://postman-echo.com/get) \nHTTP Method: GET \nQuery Parameters:\n\n- foo1: bar1\n- foo2: bar2\n \n\n**Usage** \nTo use this request, simply replace the URL with your own API endpoint and modify the query parameters according to your requirements."
},
"response": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment