Resource ที่ Shared Hosting จำกัด
Shared Hosting มีข้อจำกัด Resource หลักหลายประเภทที่เจ้าของเว็บมักไม่รู้จนกว่าจะเจอปัญหา:
- CPU Usage — จำนวน CPU ที่ใช้ได้ต่อช่วงเวลา มักวัดเป็น CPU Seconds หรือเปอร์เซ็นต์
- RAM / Physical Memory — หน่วยความจำที่ PHP Process ใช้ได้พร้อมกัน
- I/O Usage (Disk Read/Write) — ความเร็วในการอ่าน/เขียน Disk
- Entry Processes — จำนวน PHP Process ที่รันพร้อมกันได้ (concurrent)
- Inode — จำนวนไฟล์สูงสุดที่เก็บได้
- MySQL Connections — จำนวน Database Connection พร้อมกัน
เมื่อ Resource เกิน Limit เว็บมักแสดง Error 503 (Service Unavailable) หรือโหลดช้ามาก บางครั้ง Host Provider ระงับ Account ชั่วคราว
ดู Resource Usage ใน cPanel
Resource Usage Dashboard
Login cPanel → มองหา "Resource Usage" หรือ "CPU and Concurrent Connection Usage" ใน Section "Metrics" จะแสดงกราฟ CPU, RAM, I/O, Entry Processes แบบ Real-time และ Historical Data ย้อนหลัง 24 ชั่วโมง
Error Log
ถ้าเว็บแสดง 503 บ่อย ให้ตรวจสอบ Error Log ที่ cPanel → Errors หรือ Logs → Error Log จะเห็น Error ที่เกิดจาก Resource Limit เช่น "Resource temporarily unavailable" หรือ "killed by signal 9 (OOM Killer)"
สาเหตุที่ใช้ Resource สูง
ปัญหาที่พบบ่อยที่ทำให้ Resource สูง:
- Plugin WordPress ที่ไม่ Optimize — บาง Plugin รัน Database Query ทุก Page Load
- ไม่มี Cache — WordPress สร้าง PHP Process ใหม่ทุก Request
- Image ไม่ Optimize — Upload รูปขนาดใหญ่ทำให้ I/O สูงเมื่อ Resize
- Cron Job ซ้ำซ้อน — WP-Cron ที่ค้างสะสมหรือรันบ่อยเกินไป
- Bot Traffic — Bot ที่ไม่ดี Crawl เว็บอย่างหนัก
- Database ไม่ได้ Optimize — Table ขนาดใหญ่ที่ไม่มี Index ที่เหมาะสม
- PHP Memory Leak — Code ที่เขียนไม่ดีทำให้ Memory สูงขึ้นเรื่อยๆ
วิธีลด Resource Usage
1. ติดตั้ง Cache Plugin
Cache Plugin ลด CPU และ RAM ได้มากที่สุดสำหรับ WordPress เพราะไม่ต้องรัน PHP ทุก Request แนะนำ W3 Total Cache หรือ LiteSpeed Cache
2. ปิด Plugin ที่ไม่จำเป็น
ทดสอบปิด Plugin ทีละตัวแล้วดู Resource ว่าลดลงไหม Plugin ที่มักใช้ Resource สูง: SEO Plugins ที่ Scan ทุก Page, Security Plugin แบบ Real-time Scan, Social Media Auto-Post Plugin
3. Optimize Database
# Login MySQL แล้วรัน Optimize
mysqlcheck -u dbuser -p --optimize dbname
# หรือผ่าน phpMyAdmin: เลือก Tables ทั้งหมด → Optimize Table
4. ลด WP-Cron
เพิ่มใน wp-config.php เพื่อปิด WP-Cron อัตโนมัติและตั้ง Real Cron แทน:
// ใน wp-config.php
define('DISABLE_WP_CRON', true);
แล้วตั้ง Cron Job ใน cPanel ให้เรียก wp-cron.php ทุก 5 นาทีแทน
5. Block Bad Bots ใน .htaccess
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*(SemrushBot|AhrefsBot|MJ12bot|DotBot).*$ [NC]
RewriteRule ^ - [F,L]
ตรวจสอบ Resource Usage ทำงานถูกต้อง
# ดู PHP Process ที่รันอยู่ (SSH)
ps aux | grep php | wc -l
# ตรวจสอบ MySQL Query ที่ช้า
mysql -u root -p -e "SHOW FULL PROCESSLIST;" | head -20
# ดู Memory Usage ของ PHP
php -r "echo ini_get('memory_limit');"
# ตรวจสอบ Error Log ล่าสุด
tail -50 ~/logs/error.log | grep -i "resource\|kill\|memory"
แก้ปัญหาที่พบบ่อย
Error: "Resource Limit Is Reached" หน้าเว็บไม่โหลด
เกิดจาก Entry Processes เกิน Limit ให้ตรวจสอบว่า Traffic ปกติหรือมี Bot Attack ผิดปกติ ลอง Purge Cache ทั้งหมดและตรวจสอบว่า Cache ทำงานอยู่ ถ้า Traffic ปกติแต่เกิดบ่อย แสดงว่าต้องอัพเกรดแผน Hosting
Error: "Out of Memory" PHP Fatal Error
ขยาย PHP Memory Limit ใน cPanel → PHP Selector หรือเพิ่มใน .htaccess: php_value memory_limit 256M แต่ถ้า Plugin หรือ Theme ต้องการ Memory มากกว่า 256MB อาจมีปัญหาที่ Code ที่ต้องแก้ไข
เว็บช้าในช่วงเวลาเฉพาะ เช่น กลางคืน
อาจเป็น Cron Job ที่ทำงานหนักในช่วงนั้น ตรวจสอบ Cron Jobs ใน cPanel และดู Log เพื่อหาว่า Job ไหนใช้ Resource มาก
เมื่อไหร่ควรอัพเกรดเป็น VPS
สัญญาณที่บอกว่าถึงเวลาอัพเกรด:
- Resource เกิน Limit บ่อยกว่า 3 ครั้งต่อสัปดาห์แม้ Optimize แล้ว
- เว็บรับ Traffic มากกว่า 10,000 Pageviews/วัน
- ต้องการ Custom PHP Configuration
- ธุรกิจโต รายได้จากเว็บสำคัญ Downtime มี Cost สูง
หากเว็บโตขึ้นและ Resource บน Shared Hosting ไม่เพียงพอ ลองเปรียบเทียบ VPS Thailand จาก asiagb.com ที่มี Resource dedicated ไม่ต้องแย่งกับเว็บอื่น
คำถามที่พบบ่อย
Q: Resource "Unlimited" ของ Hosting หมายความว่าอะไร?
A: "Unlimited" มักหมายถึง Disk Space และ Bandwidth แต่ CPU, RAM, Entry Processes ยังมี "Fair Use Limit" ซ่อนอยู่ในนโยบาย ถ้าใช้มากเกินไปจะถูกจำกัดหรือระงับ Account
Q: WordPress ใช้ Resource มากกว่า Static Website แค่ไหน?
A: มากกว่าหลายเท่าตัว Static Website แทบไม่ใช้ CPU เพราะส่งไฟล์โดยตรง WordPress ต้องรัน PHP + Database ทุก Request ถ้าไม่มี Cache WordPress ใช้ CPU มากกว่า Static Website ราว 10-50 เท่า
Q: เปลี่ยน PHP Version ช่วยลด Resource ได้ไหม?
A: ได้มาก PHP 8.x เร็วกว่า PHP 7.x อย่างมีนัยสำคัญ ลด CPU Usage ได้ 20-40% สำหรับ WordPress ควรใช้ PHP 8.1 หรือ 8.2 เป็นอย่างน้อย