Auto-Scaling เป็นวิธีการเพิ่มความสามารถในการรองรับความต้องการของผู้ใช้งานแอปพลิเคชันที่อาจมีการใช้งานมากขึ้นเมื่อไหร่ก็ได้
ติดตั้ง Cloud Foundry Command Line Tool และ Login เข้า Bluemix ด้วยคำสั่ง

cf api https://api.eu-gb.bluemix.net

cf login -u user_name

โดยทำการเปลี่ยน user_name เป็นบัญชีผู้ใช้ Bluemix ที่ได้สมัครไว้
ดาวน์โหลด Source ที่จะใช้ในการทดสอบครั้งนี้ที่ https://hub.jazz.net/project/shiyan/Samples4AutoScaling/overview

แตกไฟล์ที่ดาวน์โหลดมาด้วยคำสั่ง

sudo unzip shiyan_Samples4AutoScaling-master.zip -d /home/user/autoscaling

โดยทำการเปลี่ยนค่า user เป็นชื่อของผู้ใช้งานจากนั้นเข้าไปที่ไดเร็กทอรี่ที่ได้ทำการแตกไฟล์มาและทำการสร้างแอปพลิเคชัน Push Code ขึ้นไปยัง Bluemix ของเราด้วยคำสั่ง

cd /home/user/autoscaling/Sample4AutoScaling/Deploy

cf push app _name -m 512m -p Sample4AutoScaling.war

โดยทำการแก้ไข app_name เป็นชื่อแอปพลิเคชันที่ต้องการเช่น

cf push atscaling -m 512m

ทำการตรวจสอบการสร้างแอปพลิเคชันพร้อมทั้งเริ่มต้นการทำงานของแอปพลิเคชันโดยไปที่หน้า Bluemix Dashboard กดที่แอปพลิเคชันที่ได้สร้างแล้วดูสถานะ “Your app is running” จากนั้นกดที่ ADD A SERVICE เลือกที่ Auto-Scaling แล้วกดปุ่ม CREATE เพื่อเพิ่มความสามารถ Auto-Scaling ให้แอปพลิเคชัน

เลือกที่ Auto-Scaling จากนั้นกดปุ่ม CREATE AUTO-SCALING POLICY เพื่อตั้งค่ากฏของการ Auto-Scaling (Auto-Scaling Policy) โดยใส่ค่าต่างๆดังนี้

  • The name of the policy: ชื่อของ Policy
  • The minimum number of application instances: จำนวนต่ำสุดของ Instance ที่แอปพลิเคชันสามารถทำงานได้
  • The maximum number of application instances: จำนวนสูงสุดของ Instance ที่แอปพลิเคชันสามารถทำงานได้

ในส่วนของ Scaling Rule(s) นั้นเป็นการกดหนำค่าของแต่ละ Instances เช่น จำนวน CPU, RAM ถ้าต้องการกำหนดมากกว่า 1 อย่างให้ทำการกด ADD A RULE เพื่อทำการกำหนดเพิ่มเติม สามารถอ่านการกำหนดค่าเพิ่มเติมได้ที่ Bluemix Docs
ใน How-To ครั้งนี้จะกำหนดค่า CPU โดยกำหนดให้ทำการเพิ่มขึ้น 1 Instances เมื่อมการใช้งาน CPU 60 % (Scale Out) และทำการลดลง 1 Instance เมื่อ CPU ทำงานต่ำกว่า 10% (Scale In)
จากนั้นทำการกด SAVE

ทำการทดสอบ Auto-Scaling Policy โดยทำการดาวน์โหลด Jmeter tool ก่อนการใช้งาน Jmeter tool ต้องทำการติดตั้ง JRE ก่อนด้วยคำสั่ง

sudo apt-add-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

ทำการดาวน์โหลด Jmeter tool ด้วยคำสั่ง

wget http://mirror.issp.co.th/apache//jmeter/binaries/apache-jmeter-2.12.zip

unzip apache-jmeter-2.12.zip

เริ่มต้นการทำงานของ Jmeter tool ด้วยคำสั่ง

cd apache-jmeter-2.12/bin

sudo chmod 775 jmeter.sh

./ jmeter.sh

ไปที่ File > Open เลือก Sample4AutoScaling.jmx ไฟล์จะอยู่ในไดเร็กทอรี่เดียวกับที่เราทำการแตกไฟล์ shiyan_Samples4AutoScaling-master.zip แล้วกดปุ่ม Open

เลือกที่ Thread Group -> HTTP Request โดยทำการเปลี่ยน Server Name or IP : เป็น URL ของแอปพลิเคชันสามารถหาได้ที่หน้า Bluemix Dashboard จากนั้นกดปุ่ม Start

สามารถดูการทำงานได้ที่ Aggregate Report

กลับมาที่ Bluemix Dashboard เลือกที่ Mertric Statistics แล้วรอสักพักเพื่อให้ CPU ทำงานและเข้าสู่ Auto-Scaling Policy สามารถดูรายงานได้ที่ Scaling History

Comments are closed.