Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

Java 10 เป็นมิตรกับ Docker แล้วนะ

$
0
0

สำหรับระบบงานที่ run ใน JVM (Java Virtual Machine) นั้น ไม่ว่าจะเป็น Java Spring, Apache Spark, Apache Kafka และอื่น ๆ มีนำมาอยู่ในโลกของ container แล้วนั้น พบว่าจะมีปัญหาเรื่องการจัดการและใช้งาน memory และ CPU เป็นอย่างมาก ทั้งกิน memory และใช้ CPU เกินขนาดที่กำหนด ทำให้ประสิทธิภาพการทำงานใน container แย่มาก ๆ แต่ใน Java 10 พบว่ามีการแก้ไขและปรับปรุงให้แล้ว ประกอบไปด้วย
  • กำหนด memory limit ในแต่ละ container
  • กำหนดจำนวน CPU ในแต่ละ container
น่าจะทำให้ชีวิตดีขึ้นมาอีกพอสมควร ตัวอย่างการกำหนด memory limit ให้แต่ละ container ทำการกำหนด memory ขนาด 512M ขนาดของ Heap ต้องมีขนาด 1/4 ของที่จองไว้ แน่นอนว่าใน Java 10 แก้ไขแล้ว นั่นคือมีขนาดประมาณ 130M ดังนี้ [gist id="24f2e19000d1607de00da4048f220644" file="1.txt"] ตัวอย่างการกำหนดจำนวน CPU ให้แต่ละ container ทำการกำหนด CPU ไป 2 ดังนี้ [gist id="24f2e19000d1607de00da4048f220644" file="2.txt"] จากการใช้งานพบ Java 10 ทำให้เราไม่ต้องมาพะวงเรื่องเหล่านี้ต่อไปอีกแล้ว ไปทำ profiling กันดีกว่า ว่าระบบงานในแต่ละ container ต้องใช้ resource เท่าไรกันแน่ ขอให้สนุกกับการ coding นะครับ Reference Websites https://blog.docker.com/2018/04/improved-docker-container-integration-with-java-10/

Viewing all articles
Browse latest Browse all 1997

Trending Articles