Skip to content

Commit 0afa13a

Browse files
authored
docs: readme note for gke deployment configuration (#185)
* docs: note for gke deployment This change contains a note for deployment in GKE. If no configuration is provided the JVM in CoS detects only 1 CPU/Core, which restrain the number of channels resulting in performance loss. * docs: rephrased the readme notes Added grpc thread sharing note
1 parent 1da2497 commit 0afa13a

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

README.md

+19
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,25 @@ Add the following to your project's pom.xml.
345345
</dependencyManagement>
346346
```
347347

348+
## Container Deployment
349+
350+
While deploying this client in [Google Kubernetes Engine(GKE)](https://cloud.google.com/kubernetes-engine) with [CoS](https://cloud.google.com/container-optimized-os/docs/). Please make sure to provide CPU configuration in your deployment file. With default configuration JVM detects only 1 CPU, which affects the number of channels with the client, resulting in performance repercussion.
351+
352+
Also, The number of `grpc-nio-worker-ELG-1-#` thread is same as number of CPUs. These are managed by a single `grpc-default-executor-#` thread, which is shared among multiple client instances.
353+
354+
For example:
355+
```yaml
356+
appVersion: v1
357+
...
358+
spec:
359+
...
360+
container:
361+
resources:
362+
requests:
363+
cpu: "1" # Here 1 represents 100% of single node CPUs whereas other than 1 represents the number of CPU it would use from a node.
364+
```
365+
see [Assign CPU Resources to Containers](https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/#specify-a-cpu-request-and-a-cpu-limit) for more information.
366+
348367
## Troubleshooting
349368
350369
To get help, follow the instructions in the [shared Troubleshooting

0 commit comments

Comments
 (0)