Giter Site home page Giter Site logo

Doubt in rate and workers about vegeta HOT 14 CLOSED

tsenart avatar tsenart commented on August 23, 2024
Doubt in rate and workers

from vegeta.

Comments (14)

tsenart avatar tsenart commented on August 23, 2024

Most of the time, you shouldn't have to care about the -workers flag. It was added to limit the amount of concurrent go routines (green threads) used in long load tests. By default Vegeta spawns one go routine per request and that works very well for most input parameters.

from vegeta.

bmpandrade avatar bmpandrade commented on August 23, 2024

So, if I define 5 workers, they'll be spawned in total or as vegeta need them?

from vegeta.

tsenart avatar tsenart commented on August 23, 2024

They will usually be spawned faster than they'll be used. What's your issue / use-case?

from vegeta.

bmpandrade avatar bmpandrade commented on August 23, 2024

Basically I'm running some load tests agains ElasticSearch and Apache Solr REST API.

I'm have some doubts about vegeta...
does the workers simulate clients or I need to run different instances of Vegeta with --workers=1 ?

from vegeta.

tsenart avatar tsenart commented on August 23, 2024

The central unit of Vegeta is the rate, not workers. Don't think about
workers for now. Think about how many requests per second you want to throw
at Elastic Search and Apache Solr Index. For instance, assuming you'd want
to try out 1000 req/s:

echo "GET http://..." | vegeta attack -duration=60s -rate=1000 | tee
results.bin | vegeta report

On Fri, Dec 19, 2014, 11:13 Bruno Andrade [email protected] wrote:

Basically I'm running some load tests agains ElasticSearch and Apache Solr
REST API.

I'm have some doubts about vegeta...
does the workers simulate clients or I need to run different instances of
Vegeta with --workers=1 ?


Reply to this email directly or view it on GitHub
#107 (comment).

from vegeta.

bmpandrade avatar bmpandrade commented on August 23, 2024

basically I did a shell script to execute a lot of attacks, sequential, with different duration, rates and workers. The, I analize them via plot reporter.

I just have doubts on the workers. If each spawned worker connects itself, as a client, to Elasticsearch. Doing parallel requests

from vegeta.

tsenart avatar tsenart commented on August 23, 2024

Each worker will issue requests against the targets. HTTP Keepalive is
enabled by default so the underlying TCP connection is reused when not
blocked on waiting for a response from a previous request.

On Fri, Dec 19, 2014, 11:47 Bruno Andrade [email protected] wrote:

basically I did a shell script to execute a lot of attacks, sequential,
with different duration, rates and workers. The, I analize them via plot
reporter.

I just have doubts on the workers. If each spawned worker connects itself,
as a client, to Elasticsearch. Doing parallel requests


Reply to this email directly or view it on GitHub
#107 (comment).

from vegeta.

bmpandrade avatar bmpandrade commented on August 23, 2024

If a disable HTTP Keepalive and define some workers, probably I can simulate multi-client benchmark environment, right?

from vegeta.

tsenart avatar tsenart commented on August 23, 2024

What is your understanding of a multi-client benchmark environment?

On Fri, Dec 19, 2014, 11:54 Bruno Andrade [email protected] wrote:

If a disable HTTP Keepalive and define some workers, probably I can
simulate multi-client benchmark environment, right?


Reply to this email directly or view it on GitHub
#107 (comment).

from vegeta.

bmpandrade avatar bmpandrade commented on August 23, 2024

Simulation of a real situation where different clients are in different machines. In my case I just want to ensure that "clients" don't share connections...

from vegeta.

tsenart avatar tsenart commented on August 23, 2024

Are the kind of clients you're referring to Web browsers? If so, most
modern web browsers use HTTP Keepalive by default, when the server supports
it.

On Fri, Dec 19, 2014, 12:00 Bruno Andrade [email protected] wrote:

Simulation of a real situation where different clients are in different
machines. In my case I just want to ensure that "clients" don't share
connections...


Reply to this email directly or view it on GitHub
#107 (comment).

from vegeta.

bmpandrade avatar bmpandrade commented on August 23, 2024

Im focused on benchmarking elasticsearch and solr for an ingestion rate and how does they react when I increase the number of clients.

Later, I'll have a fluentd or bash/python script in different machines sending data in a stable rate to one of them. That's the reason why I want to test the both of them in a high-load and multi-client environment.

from vegeta.

tsenart avatar tsenart commented on August 23, 2024

Vegeta isn't a traditional benchmarking tool. It's meant to answer "How
does my service behave at X req/s" rather than benchmarking something at
it's peak capacity. If you want benchmarking, I'd suggest you use
https://github.com/wg/wrk

On Fri, Dec 19, 2014, 12:10 Bruno Andrade [email protected] wrote:

Im focused on benchmarking elasticsearch and solr for an ingestion rate
and how does they react when I increase the number of clients.

Later, I'll have a fluentd or bash/python script in different machines
sending data in a stable rate to one of them. That's the reason why I want
to test the both of them in a high-load and multi-client environment.


Reply to this email directly or view it on GitHub
#107 (comment).

from vegeta.

bmpandrade avatar bmpandrade commented on August 23, 2024

Thanks,

I'll give it a look.

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.