ที่ผ่านมา เป็นการติดตั้ง 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