Juju #07 – กระจายโหลดข้ามเครื่อง

ที่ผ่านมา เป็นการติดตั้ง Juju ซึ่งเบื้องหลังคือ LXD Container แต่ทั้งหมดยังอยู่บนเครื่องเดียวกัน

ภาพต่อไปนี้ เป็นการทดสอบความเร็วในการตอบสนองของ WordPress ซึ่งเป็น Post ที่มีภาพจำนวนมาก และมีขนาดในการ Download ทั้งหมด 5 MB ใช้เวลาประมาณ 1.24 วินาที

เมื่อใช้ jMeter ระดมยิงด้วยความเร็ว 100 Connections ต่อ 1 วินาที ต่อเนื่อง 10 วินาที ได้ผลว่า เวลาเฉลี่ยคือ 2.478 วินาที

ต่อมาลองเพิ่มจำนวน Container จาก 1 เครื่องไปเป็น 3 เครื่อง แต่ทำงานอยู่บน Physical Server เดียวกัน

แล้วทดลองยิงแบบเดิม ได้ผลออกมาคือ ใช้เวลาเฉลี่ย 1.663 วินาที

จากนั้น ทดสอบแยก Container ออกไป เป็น 3 Physical Servers

ได้ผลออกมาว่า ใช้เวลาลดลงเหลือเพียง 1.056 วินาทีเท่านั้น

สรุป การกระจายโหลดออกไปยังหลายๆ Physical Servers ทำให้สามารถรับโหลดจำนวนมากได้

ในบทความต่อไปจะมาลงรายละเอียดในการ Setup กัน

 

Reference:
https://www.digitalocean.com/company/blog/horizontally-scaling-php-applications/
https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in-ubuntu-16-04
http://php.net/manual/de/mysqlnd-ms.loadbalancing.php
https://serversforhackers.com/video/php-fpm-configuration-the-listen-directive
http://nginx.org/en/docs/http/request_processing.html
http://stackoverflow.com/questions/5328844/nginx-load-balance-with-dedicated-php-fpm-server
https://code.google.com/archive/p/sna/wikis/NginxWithPHPFPM.wiki
http://nginx.org/en/docs/http/load_balancing.html
– http://opensource.cc.psu.ac.th/KM-container