เล่าประสบการณ์ หลังย้ายมาใช้ Vultr $3.5 แทน DigitalOcean $5
ทำไมถึงย้าย ?
เดิมทีผมใช้ VPS ของค่าย DigitalOcean ที่ราคา $5/เดือน ใช้มานานหลายปีก็แฮปปี้ดี ไม่เคยมีปัญหาในการใช้งานแต่อย่างใด แต่มาวันนึงผมก็เริ่มคิดขึ้นมาว่า อาจจะมี VPS ค่ายอื่น ที่มีราคา/เดือนถูกกว่านี้ก็เป็นได้
ผมจึงพยายามหาผู้ให้บริการ VPS รายใหม่ ที่ราคาถูกลง และเชื่อถือได้ โดยค้นหาด้วยตัวเองบ้าง ลองถามจากในกลุ่ม Facebook บ้าง และผมก็ได้พบกับ Vultr ที่มีราคาสุดดึงดูดใจเพียง $2.5/เดือนเท่านั้น (สุดท้ายเลือกใช้ $3.5 เพราะตอบโจทย์มากกว่า)
เปรียบเทียบสเปค
สเปคของ DigitalOcean ที่ราคา $5 (Vultr ที่ราคา $5 ก็สเปคเดียวกัน)
- 1GB RAM
- 1 CPU
- 25GB SSD
- 1,000GB Bandwidth
- Linux
สเปคของ Vultr ที่ราคา $2.5 และ $3.5
- 512MB RAM
- 1 CPU
- 10GB SSD
- 500GB Bandwidth
- Linux
- สำหรับราคา $2.5 จะได้เป็น IPv6 only

ซึ่งถ้าดูจากสเปคแล้ว อาจกล่าวได้ว่า ราคาลดลงมาครึ่งหนึ่ง สเปคก็ลดลงมาครึ่งหนึ่งด้วยเช่นกัน (ยกเว้นตรงๆ SSD ที่ลดมาเกินครึ่งเล็กน้อย) และข้อมูลสำคัญอีกหนึ่งจุดที่ต้องพิจารณาคือ Vult ที่ราคา $2.5 จะได้เป็น IPv6 only ซึ่งอาจจะเป็นปัจจัยสำคัญที่ทำให้ใครหลายๆ คนขยับไปใช้ Vultr ที่ราคา $3.5 แทน
Vultr ที่ราคา $2.5 และ $3.5 มีจุดประสงค์เพื่อเอาไว้ใช้ทดสอบระบบ หรือใช้กับระบบที่อยู่ในช่วงเริ่มต้นการพัฒนา สเปคจะเป็นแบบแค่พอใช้งานได้ ไม่ได้รองรับการใช้งานแบบที่มีผู้ใช้เข้ามาใช้งานเยอะๆ และนอกจากนี้ Vultr ยังจำกัดให้ 1 account สามารถสร้าง server ราคา $2.5 ได้เพียง 2 server และสามารถสร้าง server ราคา $3.5 ได้เพียง 5 server เท่านั้น ดังนั้นใครจะสร้าง server ราคา $2.5 และ $3.5 ใช้งานพร้อมกันหลายๆ server คงหมดสิทธิ์ครับ
*** ดู plan อื่นๆ ได้ที่ Vultr Plans & Pricing และ Pricing on DigitalOcean ***
IPv6 only หมายความว่าอย่างไร ?
IPv6 only หมายความว่า VPS จะได้รับเฉพาะ IPv6 เท่านั้น ไม่มี IPv4 มาให้ ส่งผลให้เกิดข้อจำกัดว่าอุปกรณ์อีกฝั่งที่จะมาสื่อสารด้วย ก็จะต้องเป็น IPv6 เหมือนกันจึงจะสื่อสารกันได้ เช่น
- หากคอมพิวเตอร์/มือถือของคุณ ไม่รองรับ IPv6 และคุณต้องการรีโมท SSH เข้าไปที่ VPS คุณจะไม่สามารถเชื่อมต่อโดยวิธีปกติเข้าไปได้ คุณอาจจำเป็นต้องเข้าใช้งานผ่าน web console แทน ซึ่งก็คงไม่สะดวกนัก
- หากคุณใช้ VPS เพื่อเปิดให้บริการเว็บไซต์ และคอมพิวเตอร์/มือถือของผู้เยี่ยมชมไม่รองรับ IPv6 ผู้เยี่ยมชมก็จะไม่สามารถเข้าถึงเว็บไซต์ได้ (อาจแก้ไขโดยใช้ Cloudflare เป็นตัวกลางระหว่าง VPS ที่เป็น IPv6 และผู้เยี่ยมชมที่เป็น IPv4 ก็ได้ แต่อย่างไรก็ตามหากคุณมี service อื่นๆ ที่เปิดใช้งานอยู่บน VPS คุณก็จำเป็นต้องเข้าถึง service นั้นๆ ด้วย IPv6 อยู่ดี)
ดังนั้นผมจึงเลือกใช้ Vultr ที่ราคา $3.5 ซึ่งราคาสูงขึ้นมาอีกเล็กน้อย แต่ยังสามารถรองรับการเชื่อมต่อจากผู้ใช้งานที่ยังไม่รองรับ IPv6

ประสิทธิภาพของ Vultr $3.5 เป็นอย่างไร ?
ผมใช้ VPS เพื่อเปิดเว็บไซต์ โดยติดตั้ง Ubuntu18.04 + Nginx + MyriaDB + PHP7 + WordPress ต้องบอกเลยว่า RAM 512MB ไม่พอใช้ครับ หลังจากที่ผมย้ายมาใช้ Vultr ที่ราคา $3.5 ได้เพียง 2 วัน เว็บไซต์ของผมก็แสดงเป็นหน้าว่างๆ พร้อมกับมีข้อความบอกว่าติดต่อกับฐานข้อมูลไม่ได้ แสดงเป็นหน้าว่างๆ แบบนั้นอยู่นานหลายชั่วโมงเลยครับ จนกระทั่งผมรู้ตัวและ reboot ระบบ
เมื่อเว็บไซต์กลับมาใช้งานได้ ผมก็ลองใช้คำสั่ง htop เพื่อดูการใช้ CPU และ RAM เลยสังเกตเห็นว่า RAM ถูกใช้ไปจนเกือบหมด ซึ่ง RAM ส่วนใหญ่ถูกใช้ไปโดย MariaDB ผมก็เลยลองหาข้อมูล และพบบทความที่เกี่ยวข้องกับการใช้งาน MariaDB บนอุปกรณ์ที่มี RAM น้อยครับ ซึ่งดูวิธีการตั้งค่าได้จากบทความเรื่อง Starting MySQL On Low Memory Virtual Machines
นอกจากนี้ผมก็ยังสังเกตเห็นอีกว่า swap partition ไม่ได้ถูกสร้างไว้ ผมก็เลยเพิ่ม swap partitionเข้าไป 1GB เพื่อที่ว่าระบบจะได้เอา swap partition ซึ่งเป็น SSD มาใช้ทดแทน RAM ในกรณีที่ RAM ไม่พอใช้ ถึงแม้ว่าประสิทธิภาพจะลดลงบ้าง แต่ก็ขอให้โปรแกรม และ service ต่างๆ ยังคงทำงานอยู่ได้เป็นพอครับ
และหลังจากที่ผมแก้ไขปัญหาตามที่อธิบายไปข้างต้น เว็บไซต์ของผมก็ไม่พบปัญหาดังกล่าวอีกเลย (อย่างน้อยก็ในประมาณผู้เยี่ยมชมที่มีอยู่ในปัจจุบัน)
หากต้องการเพิ่มประสิทธิภาพ ก็อัปเกรดได้
เมื่อวันหนึ่งเราต้องการประสิทธิภาพของ VPS ที่เพิ่มขึ้น อาจจะเนื่องจากผู้ใช้งานที่เพิ่มมากขึ้น หรือเหตุผลอะไรก็แล้วแต่ คุณก็สามารถอัปเกรด plan ได้ (แต่ดาวน์เกรดไม่ได้) เพียงเข้าไปที่ my.vultr.com > Servers > “Server name” > Settings > Change Plan

สรุป
- ผมย้ายจาก DigitalOcean มาใช้ Vultr ด้วยเหตุผลที่อยากจะลดค่าใช้จ่ายเท่านั้น ไม่ได้เกี่ยวข้องกับประสิทธิภาพ หรือปัญหาการใช้งานแต่อย่างใด
- Vultr มี plan ที่ราคาถูกกว่า $5 อยู่ 2 ตัว คือ $2.5 และ $3.5 ซึ่งมีสเปคลดลงจากราคา $5 อยู่ครึ่งหนึ่ง
- ขั้นตอนการ Deploy server หากไม่เจอตัวเลือก $2.5 และ $3.5 แปลว่าราคานี้ขายหมดแล้วใน Location นั้นๆ ให้ลองเลือก Location อื่นดู เช่น Atlanta หรือ New York (Location มีผลต่อความเร็วในการเชื่อมต่อ และส่งข้อมูล)
- Vultr VPS ที่ราคา $2.5 จะได้รับเฉพาะ IPv6 เท่านั้น หมายความว่าเครื่อง client จะต้องได้รับ IPv6 จาก ISP ด้วย จึงจะสามารถสื่อสารกันได้ ดังนั้นถ้าไม่อยากมีปัญหากับ client ที่ไม่รองรับ IPv6 ก็จำเป็นต้องปรับ plan ขึ้นมาเป็นราคา $3.5
- Vultr ที่ราคา $2.5 และ $3.5 มี RAM เพียง 512MB เท่านั้น ดังนั้นถ้าเปิดเว็บไซต์ และรัน service เยอะๆ อาจมีปัญหา RAM ไม่พอจน service หยุดทำงานได้ ควรเพิ่ม swap partition สัก 1GB เพื่อแก้ปัญหา RAM ไม่พอ (ถึงแม้มี RAM มากกว่า 512MB ก็ควรเพิ่ม swap partition)
ข้อมูลเพิ่มเติม
- FAQ – Vultr.com
- Configuring IPv6 on your VPS – Vultr.com
- Any way to connect to a IPv6 server with a IPv4 client? – Linus Tech Tips
- List of IPv6 tunnel brokers – Wikipedia
- 6to4 – Wikipedia
- MySQL :: MySQL 5.5 Reference Manual :: 22 MySQL Performance Schema
- How do I add a swap file?