Java Performance in Containers Performance Tuning of the JVM inside Containers We'd like to learn your experience with running and tuning JVM-based microservices inside containers. OK Question Title * 1. Do you deploy JVM-based microservices inside containers? Yes No OK Question Title * 2. How best would you characterize the majority of these microservices? CPU intensive (e.g. 3D rendering, financial, scientific models, machine learning models, audio/video processing, data mining) Memory intensive (e.g. big data analysis, in-memory data grids) I/O intensive (e.g. file processing, network calls) I don't know OK Question Title * 3. Do you give a limit of CPUs to the containers? Yes No OK Question Title * 4. If you do provide CPU limits, how many CPUs on average do you limit your containers to? 1 CPU 2 CPUs 3 CPUs 4 CPUs 8 CPUs More than 8 CPUs I do not limit CPUs on my containers Other (please specify) OK Question Title * 5. Do you give a limit of Memory to the containers? Yes No OK Question Title * 6. If you do provide Memory limits to the container, how much memory on average do you limit them to? 64 MB 128 MB 256 MB 512 MB 1 GB 2 GB 4 GB 8 GB 16 GB 32 GB I do not limit RAM for the containers Other amount (please specify MB/GB/TB) OK Question Title * 7. Do you adjust the JVM Heap Size to better fit in the container? No Yes, with -Xmx Yes, with -XX:MaxRAMPercentage Yes, with a different flag (please comment) OK Question Title * 8. Do you know which Garbage Collector is ultimately used by the JVM on your microservices? Yes, all of them Yes, most of them Yes, some of them No, none of them OK Question Title * 9. Which Garbage Collector are your workloads described above using the most? SerialGC ParallelGC ParallelOldGC CMS G1GC ZGC Shenandoah GC Zing C4 Epsilon GC I do not know Other (please specify) OK Question Title * 10. JVM Ergonomics: If you do NOT explicitly select a Garbage Collector, how satisfied are you with the JVM Ergonomics for the workloads described above? Very satisfied Satisfied Neither satisfied nor dissatisfied Dissatisfied Very dissatisfied OK Question Title * 11. GC Tuning: If you DO explicitly select a specific Garbage Collector for your workloads, or you know which one is in use, how are you satisfied with this garbage collector? Very satisfied Satisfied Neither satisfied nor dissatisfied Dissatisfied Very dissatisfied OK Question Title * 12. GC Tuning: Do you know if a specific value for GC Threads is provided? Yes, GC Threads is manually tuned. No, GC Threads is not manually tuned. I do not know I do not specify a GC OK Question Title * 13. Could you provide more insights into what most of your microservices are doing on average and how are they implemented (choice of framework, Java version, etc) OK Question Title * 14. Would you like to be contacted by the Microsoft Java Engineering Group for an in-depth discussion on this topic and share your experience and feedback? Name Email Address OK DONE