getanteon / anteon

Anteon (formerly Ddosify) - Effortless Kubernetes Monitoring and Performance Testing. Available on CLI, Self-Hosted, and Cloud
https://getanteon.com
GNU Affero General Public License v3.0
8.39k stars 379 forks source link

Incremental type in manual_load #32

Closed danivela closed 2 years ago

danivela commented 2 years ago

Hi all,

First of all, thank you for this useful load testing tool. since its usage is decreasing the testing time in my project. On the other hand, I have a question related to the tool usage: ¿Is it possible to launch a load test in manual mode but with the incremental or waved type?. For now, I can specify a single load test with the three variants or a manual test with a different number of requests or duration. In this way, I would plot four different kinds of graphics: (1) Linear (2) Incremental (3) Waved (as is shown in the README.md) or (4) piecewise function (every stage of the function corresponds with a line in the manual_load JSON field). What I wanted to know is if I could create a request/seconds graphic with different forms. For example, the first step is a lineal load with X request during Y seconds and the second step is a waved load with J request in K seconds. I want something just like this: "manual_load": [ {"duration": Y, "count": X, "load_type": "linear"}, {"duration": K, "count": J, "load_type": "incremental"} ],

Thank you once again. Best regards, Daniel.

kursataktas commented 2 years ago

Hi @danivela

I'm glad to hear that Ddosify helps to reduce your testing time.

The actual purpose of the Manual Load is to let the users create their own load type instead of using predefined load types (linear, incremental, and waved). There is no built-in support to indicate the type of the load in manual load types stages. All stages in manual load type is using linear load type. So you can easily simulate any load strategies. For example, let's say you want an incremental load type in the first 5 seconds for 150 requests.

Instead of this;

{
  "manual_load": [
    {
      "duration": 5,
      "count": 150,
      "load_type": "incremental"
    }
  ]
}

You can use this;

{
  "manual_load": [
    {
      "duration": 1,
      "count": 10
    },
    {
      "duration": 1,
      "count": 20
    },
    {
      "duration": 1,
      "count": 30
    },
    {
      "duration": 1,
      "count": 40
    },
    {
      "duration": 1,
      "count": 50
    }
  ]
}

The second one is longer than the first one. But it is more flexible for creating custom load types. Also, you can make it smaller by increasing the duration of the stages.

Please, let me know if this solution is enough for your requirements or not.

kursataktas commented 2 years ago

I'm closing this issue. Let me know if you need further help.

danivela commented 2 years ago

Hi,

Sorry for the late reply. Thank you so much for your response!

Your response gives us some key aspects to focus on our next load tests.

Best regards, Daniel V.

El lun, 13 dic 2021 a las 8:19, Kürşat Aktaş @.***>) escribió:

Closed #32 https://github.com/ddosify/ddosify/issues/32.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ddosify/ddosify/issues/32#event-5754670261, or unsubscribe https://github.com/notifications/unsubscribe-auth/APQGNYWYAWBJ5KGBY7IKM63UQWM77ANCNFSM5JJOZXVA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.