Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: JVM_ARGS should be parameterised and configured on jmeter pods #69

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

rahul2393
Copy link
Collaborator

@rahul2393 rahul2393 commented Apr 17, 2023

  • Added support of passing JVM_ARGS to pods. Default = -Xms1g -Xmx1g if unset
  • Added configuration support for CPU/Memory resource request object. Default = 1000m CPU, 1Gi Memory if unset
  • Added configuration support for slave replicas. Default = 2 if unset

@rahul2393
Copy link
Collaborator Author

Screenshot 2023-04-17 at 10 45 09 AM

Setting the JVM_ARGS env in pods get reflected in jmeter process.

@@ -22,7 +22,8 @@
"nodeLocations": "us-central1-a,us-central1-b,us-central1-c",
"minCount": 3,
"maxCount": 3,
"initialNodeCount": 3
"initialNodeCount": 3,
"jvmArgs": "-Xms1g -Xmx1g"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should add a default value for jvmArgs in GKEConfig as -Xms1g -Xmx1g and not mention it in setup.json. Only when we want to override we should pass the value . WDYT?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -367,19 +372,14 @@ resource "kubernetes_stateful_set" "jmeter-slave" {
port {
container_port = 50000
}
resources {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we removing these resources, this would mean pod can take max availabe resources on a node. Instead we should have keep these values as default and have an option to override these from setup.json .

Copy link
Collaborator Author

@rahul2393 rahul2393 Apr 17, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recently we have seen people trying with lesser configuration node in which case if we go with the values as default Machmeter will through Unschedule errors, can you think of any scenario where we don't want the pods to use all the available resources on node?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In that case what we can do is have a smaller value for requests which can be the minimum requirement for running Jmeter and remove the limits section.

Keeping requests will make sure that when pod is getting scheduled it gets minimum resources to run Jmeter.

One can create 1000 slaves, but when they will try to run , it might fail.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sense, done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants