Code Monkey home page Code Monkey logo

Comments (9)

ks1990cn avatar ks1990cn commented on September 26, 2024 1

Thanks @adityamandaleeka let me go through these docs and understand how it works. Will comeback here.

from eshop.

sebastienros avatar sebastienros commented on September 26, 2024 1

The wrk load generator is able to run custom scripts before any request. This example https://github.com/wg/wrk/blob/master/scripts/auth.lua shows how a token can be injected in the request. And a pre-flight request can authenticate on eshop before that.

Maybe you can already get something in place while using anonymous endpoints? That would be a first step as it will also require to setup all the micro services as job instances.

from eshop.

ks1990cn avatar ks1990cn commented on September 26, 2024

Interesting, how we can do this? Do you accept results by postman?

from eshop.

adityamandaleeka avatar adityamandaleeka commented on September 26, 2024

@ks1990cn The intent here is to get automated scale/load tests going for eShop. We have some performance infrastructure that we use for ASP.NET Core (see https://github.com/dotnet/crank, which powers the benchmarks whose results are displayed on https://aka.ms/aspnet/benchmarks).

Given that, one approach here would be to identify a couple of flows in eShop and turn those into automated scenarios that Crank can run.

Once we have those, we can get fancier and do things like max latency tests (e.g. answering questions like "how high can you drive RPS while maintaing P95 latency below 5 ms?").

I suspect that as we get visibility into these numbers, we'll discover a bunch of low-hanging performance improvements that we can make since this isn't an area that people have spent much time on for this app.

from eshop.

ks1990cn avatar ks1990cn commented on September 26, 2024

I've never used https://github.com/dotnet/crank, trying to understand how we can do it. I've used https://github.com/dotnet/BenchmarkDotNet before, is both similar?

from eshop.

adityamandaleeka avatar adityamandaleeka commented on September 26, 2024

Not quite. BenchmarkDotNet is great and we use it too, but while it really shines with microbenchmarking, Crank's strength is in running tests with multiple nodes (e.g. client/server) and different load patterns, and the general coordination of things running in a dedicated performance testing environment. You can actually run BenchmarkDotNet benchmarks with Crank too.

You can find more info about Crank here and in the docs for it.

from eshop.

adityamandaleeka avatar adityamandaleeka commented on September 26, 2024

cc @sebastienros

from eshop.

ks1990cn avatar ks1990cn commented on September 26, 2024

@adityamandaleeka I have question here similar question I've also asked at crank repo but here its quite specific to eshop.

How we can benchmark through crank, when authentication across APIs are present in microservice architecture. Do crank provide way to test through WebApp or you want through API level only. But again I've question, what if we have authentication enabled for that API or any dependent API, do crank will be able to hit that API give right results?

from eshop.

ks1990cn avatar ks1990cn commented on September 26, 2024

@sebastienros wrk is any other tool than crank? I thought we are discussing how we can do this with crank. 😕 😕

I agree on that all services must be different jobs but how crank yml file can have token passed, bit confused here!

from eshop.

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.