Giter Site home page Giter Site logo

Comments (4)

tsenart avatar tsenart commented on August 23, 2024

Instead of conflating the intent of functionality of the attack command output, why don't you just send the targets.txt file along with the command to whoever wants to run it again? If it's a single URL it becomes easier!

echo "GET http://localhost:999" | vegeta attack -duration=10s -rate=2 | vegeta report

If the problem is missing information in the reports, please let me know what exactly you are missing.

from vegeta.

spier avatar spier commented on August 23, 2024

Damn you are fast with the replies :)

I was thinking of this scenario:
I have a targets.txt file with 100 URLs. Now I run an attack for 10s with 2 calls/second, so I just use 20 URLs in total. If I have used -ordering=random, then I don't know which URLs were used, meaning it is hard to repeat the exact same attack.

As for missing information in the output:
After the facts I don't know the duration, the rate, and the URLs that were attacked.

from vegeta.

tsenart avatar tsenart commented on August 23, 2024

As to the first paragraph, you can use -ordering=sequential to solve your determinism problem.
On the missing information in the text report, by adding the duration which is indeed now missing, you can know the rate as the number of requests is already there.
On the URLs, Vegeta was built with the purpose of hitting homogenous sets of URLs per attack, all belonging to the same logical endpoint. If you mix and match different endpoints, your results are not going to be statistically representative.

from vegeta.

spier avatar spier commented on August 23, 2024

I understand the purpose that you are describing.

vegeta can be used for other scenarios as well though. e.g. I am simulating the behaviour of one mobile client. That client might fire different API calls in different order. Therefore the response time of every individual requests matters as much as the overall experience of the user. With that purpose in mind, I have indeed used target files that contain API calls for different endpoints.

Either way, it is definitely possible to work around this issue by creating different sets of target files. Just though it might be an interesting idea to explore.

from vegeta.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.