Performance issue

I’m submitting a…

  • [ ] Regression (a behavior that stopped working in a new release)
  • [ ] Bug report
  • [X] Performance issue
  • [ ] Documentation issue or request

Current behavior

I deployed squidex 7 helm chart by using AKS cluster cloud and used MongoDB bitnami helm chart version: 13.0.1 . It is running, but when testing the efficiency of performance using k6, it gives very poor results and squidex deployment and pod is crashed.

Expected behavior

Works well or high efficiency even in case of increased load

Minimal reproduction of the problem

Environment

App Name:

  • [ X ] Self hosted with Kubernetes
  • [ ] Self hosted with IIS
  • [ ] Self hosted with other version
  • [ ] Cloud version

Version: [squidex 7.0.2]

Browser:

  • [ X ] Chrome (desktop)
  • [ ] Chrome (Android)
  • [ ] Chrome (iOS)
  • [ ] Firefox
  • [ ] Safari (desktop)
  • [ ] Safari (iOS)
  • [ ] IE
  • [ ] Edge

Others:

Is it possible to best explain the architecture in which Squidex works?
What is the maximum and minimum load?
How long does it take the one request in the normal situation?

There is nothing special: One worker for background tasks and N API nodes. A little bit is described here:

The minimum load? What do you mean by that.

Depends on the requests and content items of course. But a normal API call to fetch your apps schould not take more than 10ms (without latency / ping)

It is very vague, I have no idea what kind of cluster you have and how you have measured your performance and what issues you have in particular.

The Squidex Cloud is running in k8 as well and it is working fine. But I am not saying there could not be a problem with the helm chart.

Good morning, think you are missing a link after:

Was it https://squidex.io/post/squidex-7.0-release-candidate-3-released you wanted to point to?

Yes, exactly :slight_smile: … thank you.

1 Like

I also recommend to enable Open Telemetry to gather performance data.

Thanks for your response, but when I send one api request to get one content by ID, it is take http_req_duration for p(95)=5.79ms

My k6 scripte like your script in this repo https://github.com/Squidex/squidex/blob/master/backend/tools/k6/get-content.js

this is my result for 500 VUS . it is very BAD :upside_down_face:

Also when run the script the squidex pod crashed more than once.
About mongoDB is deployed as stand alone architecture with one replica.

How do you even measure that? are you running the tests in the same cluster? Otherwise you cannot get faster than 50ms or so because of the latency.

yes I running in the same cluster. And I measured by run the same script for 1 VUs.

I used this helm: https://github.com/Squidex/squidex/blob/master/helm/squidex7-1.0.0.tgz

I have no idea what to answer here. I don’t know any details how you have configured the cluster and the deployment. I have not run k6 since a while because I do not have performance issues with the cloud, but I recommend not to run k6 in the same cluster. k6 is a great tool but very resource hungry. When I tested it locally 80% of the local CPU was consumed by k6 and not Squidex.

I used the Squidex as multi tenant. so I need measure the efficiency. Do you think the resource( cpu and memory) in helm chart it is enough for this case?

Do you think if I use another tool, am I likely to have the same issue?

Does [quote=“asayel_alsulami, post:10, topic:4579”]
I used the Squidex as multi tenant. so I need measure the efficiency. Do you think the resource( cpu and memory) in helm chart it is enough for this case?
[/quote]

Does the helm chat even set resource constraints?

yes, I set the limits like below

limits:
cpu: 250m
memory: 500Mi

250m CPU means 25% of a one Virtual Core, like 12.5% of a normal core. That’s not a lot. 500MB could be enough for your use case, but not for real production. I would at least assign 3 GB

ok thanks. I will try and tell you about the result :white_heart:

1 Like