☕️ کندی اپلیکیشنهای Java در Docker و راهحل آن
یک تیم توسعهدهنده گزارش داد که اجرای اپلیکیشنهای Java در محیط Docker باعث کاهش چشمگیر کارایی و کندی تا ۱۰ برابر شده است. بررسیها نشان داد علت این مشکل به نحوهی مدیریت منابع در Docker برمیگردد.
بهطور پیشفرض، Docker تمام منابع CPU و RAM میزبان را در اختیار کانتینر قرار نمیدهد. در نتیجه، JVM قادر به شناسایی دقیق میزان منابع موجود نیست و تنظیمات حافظه و Garbage Collector را نادرست انجام میدهد.
✅ برای حل این مشکل از فلگهای زیر در JVM استفاده کنید
-XX:+UnlockExperimentalVMOptions
-XX:+UseCGroupMemoryLimitForHeap
با این تنظیمات، JVM محدودیتهای cgroup را شناسایی کرده و منابع را به درستی مدیریت میکند. پس از اعمال این تغییرات، سرعت و کارایی اپلیکیشنها به حالت عادی باز می گردد
https://medium.com/javarevisited/docker-made-our-java-apps-10x-slower-until-we-fixed-this-one-thing-d2cc8fcbea07
@TryCodeBox
#Docer #Java
یک تیم توسعهدهنده گزارش داد که اجرای اپلیکیشنهای Java در محیط Docker باعث کاهش چشمگیر کارایی و کندی تا ۱۰ برابر شده است. بررسیها نشان داد علت این مشکل به نحوهی مدیریت منابع در Docker برمیگردد.
بهطور پیشفرض، Docker تمام منابع CPU و RAM میزبان را در اختیار کانتینر قرار نمیدهد. در نتیجه، JVM قادر به شناسایی دقیق میزان منابع موجود نیست و تنظیمات حافظه و Garbage Collector را نادرست انجام میدهد.
✅ برای حل این مشکل از فلگهای زیر در JVM استفاده کنید
-XX:+UnlockExperimentalVMOptions
-XX:+UseCGroupMemoryLimitForHeap
با این تنظیمات، JVM محدودیتهای cgroup را شناسایی کرده و منابع را به درستی مدیریت میکند. پس از اعمال این تغییرات، سرعت و کارایی اپلیکیشنها به حالت عادی باز می گردد
https://medium.com/javarevisited/docker-made-our-java-apps-10x-slower-until-we-fixed-this-one-thing-d2cc8fcbea07
@TryCodeBox
#Docer #Java
👍4