Is Gatling suitable for testing Frontend / Kyma platform?

Our app is using the Kyma platform for FE - it is a platform from SAP that runs on top of Kubernetes.
Is Gatling a suitable tool to do a performance test of Kyma? I so, how would it be done? Do you have some directions? If not, can you recommend some sources to be checked? Does my question even make sense, not just in terms of Gatling but also in terms of performance testing of something like this platform - basically testing the performance of Kubernetes … Please help and advise :slight_smile:

Hi @mrukavina,

I don’t personally know anything about Kyma.

Gatling is a Load testing tool about protocols, that mean Gatling can simulate a lot of users accessing to your servers.
On the other hand, Gatling won’t execute javascript code in your browser.

So, I assume that FE is for Front End. So, if you want to test the time the received script will take for the browser correctly display your page. Gatling is not for you.

If you want to simulate the connections that this front end will perform to the server (hosted in kubernetes), Here, Gatling will help you.

My first idea would be to use the recorder to see what happens when I connect to your platform. Only to have an idea if this connection are worth testing.
If it only loads static resources, there is no need to test that with gatling (you’re not developing apache, nginx or other static files provider I guess).

If it make a bunch of requests for data specific to your customization of Kyma, then it worth to test that.

Do you really want to test the performance of Kubernetes? Or testing your Kyma customization that is hosted in Kubernetes?

What are your assumptions? Your requirements?
The answer is of no interest for our community, but will help you to decide if you want to test the communication (with Gatling) or the javascript part of your platform.

I hope this helps.
Cheers!

1 Like

@sbrevet Thanks for the quick feedback. Since this is a customer project, we are concerned with sharing the Gatling recording here on the chat. I did record the example of the user journey and would like to share it with you, but as mentioned before, I wouldn’t share it here publicly. Is there a way to share it with you privately? If this is something you would be willing to do?
Also, what if I would like to access the login page (through my website URL) and do it 1000 times just to see how it performs? We would like to target Kyma in that way and would like to see if it auto-scales well (with some max limits in mind) with the configuration we have at the moment. Would that be possible with Gatling?
Sorry if I sound crazy and confused, it is because it is not clear to me entirely as well. :smiley:
Yeah, so our requirement is to actually check the scaling capabilities of Kyma under heavy load.
We do have a current test that is targeting our backend but unfortunately, they don’t cover the Kyma part.

Sorry, but the community is public and should remain public.
If you really want, I can get you in touch with our Sales people for a private contract.

If you used the recorder, you have a injection profile (in the setUp call at the end of the generated code). You can change this injection profile.

Cheers!

@sbrevet ok, thanks. I will align with the team and see if we can have a private contract thing.
One more question though.
What do you think about when loading just the login page and doing all necessary requests that were recorded by Gatling recorder but also including static resources? And running the test like that with a heavy load.
I guess you will say Gatling was not made for this or …? :slight_smile:

Gatling is made for such kinds of scenario (much more, but it is a start).
In the other hand, is this (static resources mainly) what you want to test?

On personal taste, I will go only for dynamic resources because static resources are usually better managed by CDN or other static web servers. But it is only a matter of personal taste.

Cheers!

@sbrevet I would like to test the scenario which would behave like when the user navigates to the login page via URL - so all of the things that happen in this case I would like to mimic with Gatling.
So similar to what happens when they are redirected to the login page in the browser - with a URL like https://my-app/account/login. Not just the request doing that but also everything else that the browser loads with it to be as much as similar to the case when redirected to this URL in the browser.
The reasoning behind it is that we want the load to go through Kyma and that’s why I want it to do everything that browser does when user navigates through it