คำนวณ RAM ที่ต้องการสำหรับ VPS และ Web Server

เครื่องมือช่วยประเมิน RAM ที่เหมาะสมสำหรับ VPS หรือ Dedicated Server โดยคำนวณจากองค์ประกอบจริง เช่น Web Server, PHP-FPM, MySQL, Redis และ Node.js ช่วยให้คุณเลือก VPS Plan ได้อย่างแม่นยำ ไม่ซื้อเกินความจำเป็นและไม่ขาดแคลน RAM จน Server ค้าง กรอกข้อมูล Stack ที่คุณใช้งานแล้วกด "คำนวณ" เพื่อดูผลลัพธ์ทันที

ตั้งค่า Stack ของคุณ

102,5005,00010,000
workers
MB pool

+64 MB สำหรับ WP core overhead

instances

~150 MB ต่อ instance

วิธีใช้งาน

  1. เลือก Web Server ที่คุณใช้งาน (Nginx, Apache หรือ LiteSpeed)
  2. ปรับ Slider Concurrent Users ให้ตรงกับจำนวนผู้ใช้พร้อมกันสูงสุดที่คาดการณ์
  3. เปิด PHP-FPM หากรันเว็บ PHP และกำหนดจำนวน Workers ให้เหมาะสม
  4. เปิด MySQL / MariaDB แล้วใส่ค่า InnoDB Buffer Pool ที่ต้องการ
  5. เปิดรายการเพิ่มเติม เช่น WordPress, Redis, Elasticsearch หรือ Node.js ตามที่ใช้งานจริง
  6. กดปุ่ม คำนวณ RAM เพื่อดูผลลัพธ์และ Breakdown รายส่วน

สูตรคำนวณและหลักการ

การคำนวณแบ่ง RAM ออกเป็นส่วนย่อยของแต่ละ Service แล้วนำมารวมกัน จากนั้นเพิ่ม buffer เพื่อรองรับ spike และ kernel overhead

Component สูตร
Apache (prefork/event)8 MB × max(4, ⌈users÷4⌉) workers
Nginx~13 MB (asynchronous base)
LiteSpeed~50 MB base
PHP-FPM30 MB × จำนวน Workers
MySQL / MariaDBInnoDB Buffer Pool + 200 MB
WordPress / CMS+64 MB overhead
RedisMemory Limit + 50 MB
ElasticsearchJVM Heap + 200 MB
Node.js150 MB × จำนวน Instances
OS + Kernel256 MB (fixed overhead)
Safety Buffer× 1.25 (RAM ขั้นต่ำ), × 1.5 (แนะนำ)

ค่า "ควรซื้อ VPS" คือ Power of 2 ที่ใกล้เคียงที่สุดและมากกว่าค่า RAM แนะนำ ได้แก่ 1, 2, 4, 8, 16 หรือ 32 GB เนื่องจาก VPS Provider ส่วนใหญ่จำหน่าย Plan ตามมาตรฐานนี้

ตัวอย่างการใช้งาน

ตัวอย่างที่ 1 — WordPress Blog ทั่วไป

เว็บบล็อก WordPress ที่ใช้ Nginx + PHP-FPM 10 Workers + MySQL (InnoDB Buffer 128 MB) + Redis 64 MB รองรับ 100 Concurrent Users

ขั้นต่ำ
~1.0 GB
แนะนำ
~1.2 GB
ควรซื้อ
2 GB
ตัวอย่างที่ 2 — E-Commerce ขนาดกลาง

ร้านค้าออนไลน์ที่ใช้ Apache + PHP-FPM 25 Workers + MySQL (InnoDB 512 MB) + WordPress + Redis 128 MB + Elasticsearch (Heap 512 MB) รองรับ 500 Concurrent Users

ขั้นต่ำ
~3.6 GB
แนะนำ
~4.3 GB
ควรซื้อ
8 GB
ตัวอย่างที่ 3 — API Server + Node.js Microservices

ระบบ Backend ที่ใช้ Nginx + MySQL (InnoDB 256 MB) + Redis 256 MB + Node.js 5 Instances รองรับ 1,000 Concurrent Users ไม่มี PHP

ขั้นต่ำ
~1.7 GB
แนะนำ
~2.0 GB
ควรซื้อ
4 GB

คำถามที่พบบ่อย (FAQ)

สูตรง่ายที่นิยมใช้คือ RAM ที่เหลือ ÷ 30 MB เช่น VPS 2 GB ที่ให้ MySQL ใช้ 400 MB และ OS 256 MB จะเหลือ RAM ราว 1.3 GB หาร 30 MB ได้ ~43 Workers อย่างไรก็ตามหากเว็บมี Traffic ไม่มาก เริ่มต้นที่ 10–20 Workers แล้วค่อยปรับเพิ่มตาม pm.max_children ใน www.conf จะดีกว่าการตั้งสูงไว้ล่วงหน้าโดยไม่จำเป็น เพราะแต่ละ Worker จะกินหน่วยความจำตลอดเวลาที่ Process ทำงานอยู่

Prefork MPM สร้าง Process แยกต่างหากสำหรับทุก Connection ทำให้กิน RAM สูงมากเมื่อ Traffic เพิ่ม เหมาะสำหรับ PHP แบบ mod_php เท่านั้น Event MPM ใช้ Thread และ Async I/O สามารถรองรับ Connection ได้มากขึ้นด้วย RAM น้อยกว่า แนะนำให้ใช้ร่วมกับ PHP-FPM ซึ่งเป็น Best Practice ในปัจจุบัน โดยทั่วไป Nginx มี Memory Footprint ต่ำที่สุดในบรรดา Web Server ทั้งสาม เนื่องจากออกแบบมาเพื่อ Asynchronous I/O โดยเฉพาะ

Redis ทำหน้าที่เป็น Object Cache เก็บผลลัพธ์ของ Database Query หรือ Page Fragment ไว้ใน RAM โดยตรง ทำให้ PHP Process ไม่ต้องสร้าง Database Connection และประมวลผลซ้ำในทุก Request ส่งผลให้ PHP-FPM Worker แต่ละตัวทำงานเสร็จเร็วขึ้นและถูกปล่อยให้รับ Request ใหม่ได้เร็วกว่า จึงสามารถรองรับ Traffic ได้มากขึ้น ด้วย Worker จำนวนน้อยลง ซึ่งเท่ากับประหยัด RAM โดยรวมได้แม้ว่า Redis เองก็ใช้ RAM เพิ่มขึ้นบ้าง

สัญญาณที่บ่งบอกว่าถึงเวลาอัปเกรด ได้แก่ ค่า free -m แสดง Available RAM ต่ำกว่า 10% อย่างต่อเนื่อง, ระบบ Swap ถูกใช้งานบ่อยครั้ง (ทำให้ Response Time ช้าลงมาก), PHP-FPM ขึ้น Error "max_children reached", หรือ OOM Killer เริ่ม Kill Process ต่างๆ สามารถติดตามด้วย vmstat หรือเครื่องมือ Monitoring เช่น Netdata, Prometheus ก่อนอัปเกรดควรตรวจสอบว่าปรับค่า Configuration ให้เหมาะสมแล้วหรือยัง

เครื่องมือที่เกี่ยวข้อง

คำนวณ RAID
คำนวณความจุจริงและ Redundancy ของ RAID แต่ละระดับ
คำนวณ Bandwidth
ประมาณ Bandwidth ที่ต้องการสำหรับเว็บไซต์หรือ Application
ประมาณเวลาโหลดเว็บ
คำนวณเวลาโหลดหน้าเว็บจาก Page Size และ Connection Speed