Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jun 28 22:54
    nullpainter opened #8
  • Jun 24 11:41

    AntyaDev on master

    fixed API to work with NBomber … version: 2.0.0-beta6 simplified HTTP API: removed al… and 13 more (compare)

  • Jun 24 11:40

    AntyaDev on fix-send

    (compare)

  • Jun 24 10:52

    AntyaDev on dev

    updated examples (compare)

  • Jun 24 10:50

    AntyaDev on dev

    updated README.md (compare)

  • Jun 24 10:48

    AntyaDev on dev

    updated README.md (compare)

  • Jun 24 10:40

    AntyaDev on v2.0.1

    (compare)

  • Jun 24 10:38

    AntyaDev on dev

    version 2.0.1 (compare)

  • Jun 24 10:34

    AntyaDev on dev

    version 2.0.1 (compare)

  • Jun 23 08:46

    AntyaDev on dev

    fixed cast issue in send (#21) (compare)

  • Jun 23 08:46
    AntyaDev closed #21
  • Jun 22 05:12
    Yaroshvitaliy opened #21
  • Jun 22 05:12
    Yaroshvitaliy review_requested #21
  • Jun 22 05:11

    Yaroshvitaliy on fix-send

    fixed cast issue in send (compare)

  • May 18 16:16

    Yaroshvitaliy on add-grafana

    - updated NBomber version to 2.… (compare)

  • May 17 06:20

    AntyaDev on dev

    version: 2.0.0 (compare)

  • May 17 06:19

    AntyaDev on dev

    version: 2.0.0 (compare)

  • May 16 21:30

    AntyaDev on dev

    version: 2.0.0-rc6 (compare)

  • May 16 21:29

    AntyaDev on dev

    version 2.0.0-rc6 (compare)

  • May 14 16:16

    Yaroshvitaliy on add-grafana

    added grafana (compare)

Shahab Mokhtari
@shahab1363

Hi @shahab1363
https://github.com/PragmaticFlow/NBomber/blob/dev/examples/CSharpProd/HttpTests/AdvancedHttpTest.cs#L54

Thanks @AntyaDev,
So, request check failures are soft failures and will not fail the whole tests, right?

Shahab Mokhtari
@shahab1363
Based on my tests, the WithCheck extension just fails the test, it's almost same as returning fail response on step level, right?
image.png
I just want to send the check result with some tags and labels down to Sink without failing the scenario if it's possiblew
SkynetKoks
@SkynetKoks
@AntyaDev Hello, Anton! My name is Mykola. I find your solution of Load testing for those who loves .Net is really great! I joined this room in order to ask one question related to the case that confuses me. I wonder how to achieve the real number of request in my load test, what I'm doing wrong? Or at least what is the root cause of such behavior? (all details on the screenshot) https://www.screencast.com/t/kL4kPfm8w
SkynetKoks
@SkynetKoks
Snag_2ec5d3dd.png
Anton Moldovan
@AntyaDev
Hi @SkynetKoks , @shahab1363
I am on vacation at the moment and will try to answer next week.
Stefano
@stefanoIT
Hello @AntyaDev NBomber looks awesome, great job. I may have a question tho: how can I implement load testing for an OpenID (azure) connect secured area? Do I have to carry all the bearer token logic into HttpClient or is there a shortcut on your framework? Or just a best practice to implement it maybe? Thanks in advance
Anton Moldovan
@AntyaDev
Hi @stefanoIT
thanks for feedback!
How many unique users (tokens) you should provide?
Stefano
@stefanoIT
A single token should be enough for all concurrent requests
Anton Moldovan
@AntyaDev
I see
then you can create HTTP client with predefined JWT token and inject it within HttpClientFactory.create(httpClient)
Step.create("step", clientFactory: httpClientFactory)
Stefano
@stefanoIT
Thanks for your suggestion @AntyaDev, take care
Anton Moldovan
@AntyaDev
you are welcome)
IOI-Peterr
@PeterrIoi_twitter

Hi @AntyaDev
I just upgraded Nbomber to 2.1.0 and noticed that NBomberRunner.WithApplicationType() is deprecated.
Previously I was always running the tests WithApplicationType(ApplicationType.Process) so that I don't get the huge ConsoleReport when the run is finished.
That is not working any more - I'm always seeing the ConsoleReport.

Is there any way to turn off the ConsoleReport?

Anton Moldovan
@AntyaDev
Hi @PeterrIoi_twitter
Sorry to hear this. We have seen requests regarding the confusion that, for some reason, console reports weren't printed, and we wanted to fix it.
It's actually a very confusing thing that you don't see any reports (tables) in output.
We think that NBomber should always print output with tables of statistics.
Is there any way to turn off the ConsoleReport?
I am afraid but we removed this functionality
Lee Baker
@lee-baker

Hi @AntyaDev, this library is awesome.
I am having a problem generating reports for a scenario where the step is long running but shorter than the timeout. It doesn't seem to capture the results from these steps.

My setup is
`var step = Step.Create("test", async context =>
{
await Task.Delay(TimeSpan.FromSeconds(10));
return Response.Ok();
}, TimeSpan.FromSeconds(20));

var scenario = ScenarioBuilder.CreateScenario("Test Scenario", step)
.WithWarmUpDuration(TimeSpan.FromSeconds(5))
.WithLoadSimulations(Simulation.InjectPerSec(40, TimeSpan.FromSeconds(5)));

NBomberRunner
.RegisterScenarios(scenario)
.Run();
`

I get a result that looks like this with only "ok stats" and no "fail stats"
scenario: 'Test Scenario' duration: '00:00:05', ok count: 0, fail count: 0, all data: 0 MB load simulation: 'inject_per_sec', rate: 40, during: '00:00:05'

Anton Moldovan
@AntyaDev

Hi @lee-baker
you specefied

await Task.Delay(TimeSpan.FromSeconds(10));

but the whole Scenario duration is:

.WithLoadSimulations(Simulation.InjectPerSec(40, TimeSpan.FromSeconds(5)));
so you are waiting 10 sec but the whole scenario is only 5 sec
Lee Baker
@lee-baker
Ok, thanks. I thought it might have been something like that. Is there a way to configure it to send 40 requests a second for 5 seconds? Where those requests might take 5 seconds each?
Anton Moldovan
@AntyaDev
you mean 40request per second during 5 sec?
WithLoadSimulations(Simulation.InjectPerSec(40, TimeSpan.FromSeconds(5)));
it's correct
but then change
await Task.Delay(TimeSpan.FromSeconds(1));
await Task.Delay(TimeSpan.FromSeconds(0.5));
Lee Baker
@lee-baker

Ok, I see what you are saying.

I have a problem where:

  • I want to make 40 requests a second for 5 seconds.
  • I want to make (40x5 = 200) requests
  • I want to wait for all those requests to complete/timeout and they might take up to 20 seconds to complete each

Is this a use case that is outside the current configurations?

Anton Moldovan
@AntyaDev
@lee-baker NBomber doesn't support load simulation like Total Request Count
For now NBomber works only based on duration
Lee Baker
@lee-baker
Thanks for clarifying. I think I can use the .KeepConstant extension and run for a longer duration to get close enough to what I want
Anton Moldovan
@AntyaDev
are you testing HTTP service?
Lee Baker
@lee-baker
yep, trying to test out a request limit in a downstream service.
Anton Moldovan
@AntyaDev
I would suggest to use InjectperSec
Lee Baker
@lee-baker
I have a maximum number of requests I am aloud to make in the load test, which is why I was trying to have a total request count type of restriction
I agree that an Open System test and using InjectPerSecond is the way to go, but I am also really interested in the response times and codes and I can't get that data but still keep under a maximum number of requests
Anton Moldovan
@AntyaDev
@lee-baker
I hope in the next version we start working on total count load simulation
Lee Baker
@lee-baker
Thanks, that would be awesome.
For now I have come up with a solution I think will work.
In my Step I am checking the InvocationCount and if its above my max request limit I am failing it with a specific response status code.
That way I can still run the InjectPerSec and run for 120 seconds but not go over my max requests
Lee Baker
@lee-baker
Hi @AntyaDev, one more question. Is it possible to tell the scenario to wait for all the requests it has made, or for them to timeout. I'm finding when I have lots of long running requests the last requests don't end up getting reported on because the run finishes before the requests return.
Anton Moldovan
@AntyaDev
Hi @lee-baker
maybe you can set longer timeout duration?
Step.create("step", timeout = 5 sec) ?
igoldin74
@igoldin74
Hi all, thanks for the great tool, it really is awesome! I was trying to find out more about real time reporting @ https://nbomber.com/docs/general-concepts/reporting-overview but it appears that the page is missing.
Anton Moldovan
@AntyaDev
thanks @igoldin74 for informing, I will take a look.
igoldin74
@igoldin74
@AntyaDev is there a way to make Step return Feed or GetPreviousStepResponse without making a request .WithCheck?
Anton Moldovan
@AntyaDev
HI @igoldin74
can you pls elaborate more?