Bandwidth vs Data Transfer ต่างกันอย่างไร?
หลายคนสับสนระหว่างคำสองคำนี้ ซึ่งในทางเทคนิคมีความหมายต่างกัน:
- Bandwidth: ความเร็วสูงสุดในการรับส่งข้อมูล วัดเป็น Mbps (Megabits per second) เช่น เส้นทาง 100 Mbps หมายความว่าสามารถส่งข้อมูลได้สูงสุด 100 Megabit ต่อวินาที
- Data Transfer: ปริมาณข้อมูลที่รับส่งได้ทั้งหมดในช่วงเวลาหนึ่ง วัดเป็น GB หรือ TB เช่น 100 GB/เดือน
ในบริบทของ Hosting ไทย ผู้ให้บริการมักใช้คำว่า "Bandwidth" เพื่อหมายถึง Data Transfer รายเดือน เช่น "Bandwidth 100 GB/เดือน" นั่นหมายความว่าเว็บไซต์ของคุณสามารถรับส่งข้อมูลได้รวม 100 GB ในหนึ่งเดือน
เมื่อผู้เยี่ยมชมโหลดหน้าเว็บ 1 MB ครั้งหนึ่ง ก็ใช้ Data Transfer ไป 1 MB หากมีผู้เยี่ยมชม 10,000 คนต่อวัน แต่ละคนโหลด 1 MB จะใช้ไป 10 GB/วัน หรือ 300 GB/เดือน
คำนวณ Bandwidth ที่ต้องการ
สูตรง่ายๆ สำหรับประมาณการ Bandwidth รายเดือน:
Bandwidth = ขนาดหน้าเว็บเฉลี่ย × จำนวน Pageview/เดือน × Redundancy Factor
ตัวอย่าง:
- ขนาดหน้าเว็บ: 1.5 MB
- Pageview: 10,000/เดือน
- Redundancy Factor: 1.5 (เผื่อ Bots, Crawlers, Peak Traffic)
Bandwidth = 1.5 MB × 10,000 × 1.5 = 22,500 MB ≈ 22 GB/เดือน
ปัจจัยที่ทำให้ใช้ Bandwidth มากกว่าปกติ ได้แก่ การดาวน์โหลดไฟล์ขนาดใหญ่, Hotlinking รูปภาพจากเว็บอื่น, วิดีโอ Embed, และ Bot Traffic ที่ Crawl เว็บถี่เกินไป
ดู Bandwidth Usage ใน cPanel
เข้าไปที่ cPanel แล้วทำตามขั้นตอนนี้:
- ล็อกอิน cPanel ที่
yourdomain.com/cpanel - ในหมวด Metrics คลิก Bandwidth
- จะเห็นกราฟแสดง Transfer ในวันนี้, เดือนนี้ และปีนี้
- แยกดูได้ว่าส่วนไหนใช้มากสุด: HTTP, FTP, Email, SSL
- คลิก Month ย้อนหลังเพื่อดูประวัติ
นอกจากนี้ยังดูได้จาก AWStats หรือ Webalizer ใน Metrics ซึ่งแสดงรายละเอียด Traffic รวมถึง Bandwidth ต่อหน้า และ Bandwidth ที่ Bots ใช้
วิธีประหยัด Bandwidth
1. เปิดใช้งาน Gzip/Brotli Compression
การบีบอัดไฟล์ก่อนส่งสามารถลด Transfer ได้ 60–80% สำหรับไฟล์ Text เช่น HTML, CSS, JS เพิ่มใน .htaccess:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/json
</IfModule>
2. ตั้ง Browser Cache
ไฟล์ Static เช่น รูปภาพ, CSS, JS ที่ไม่เปลี่ยนบ่อย ควรตั้ง Cache Header ให้ Browser เก็บไว้นานๆ ลดการดาวน์โหลดซ้ำ:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
</IfModule>
3. ใช้ CDN เช่น Cloudflare
CDN จะ Cache ไฟล์ Static ที่ Edge Server ใกล้กับผู้ใช้ ทำให้ Request ส่วนมากไม่ต้องมาถึง Hosting ลด Bandwidth ที่ Hosting ต้องใช้ได้ถึง 50–80%
4. Optimize รูปภาพ
รูปภาพมักเป็นสิ่งที่กินพื้นที่มากสุดในหน้าเว็บ ใช้เครื่องมือเช่น TinyPNG, Squoosh หรือ WebP format เพื่อลดขนาดรูปโดยไม่เสียคุณภาพมากนัก รูป JPEG ทั่วไปสามารถลดขนาดได้ 40–70%
5. เปิด Hotlink Protection
ป้องกันเว็บอื่นฝัง URL รูปภาพของคุณไปใช้โดยตรง ซึ่งจะทำให้ Bandwidth หมดโดยไม่ได้ประโยชน์ ตั้งใน cPanel > Security > Hotlink Protection
ตรวจสอบ Bandwidth Usage ที่ทำงานถูกต้อง
# ดู Bandwidth รวมจาก Access Log
awk '{sum += $10} END {print sum/1024/1024 " MB"}' /home/user/logs/access_log
# ดูไฟล์ที่ถูกดาวน์โหลดมากสุด
awk '{print $7}' /home/user/logs/access_log | sort | uniq -c | sort -rn | head -20
# ตรวจ Gzip ทำงานหรือไม่
curl -sI -H "Accept-Encoding: gzip" https://example.com | grep content-encoding
# ตรวจ Cache Header
curl -sI https://example.com/style.css | grep -E "cache-control|expires"
แก้ปัญหาที่พบบ่อย
Bandwidth หมดก่อนสิ้นเดือน
ตรวจสอบ Access Log หา Traffic ผิดปกติ เช่น Bot ที่ Crawl มากเกินไปหรือการ Hotlink ตรวจสอบได้จาก AWStats ว่า IP ไหน หรือ Referrer ไหน Generate Traffic มาก จากนั้นบล็อกด้วย .htaccess หรือ Firewall
ใช้ Bandwidth มากกว่าที่คำนวณไว้
หลายครั้งเกิดจาก Email ที่มี Attachment ขนาดใหญ่, FTP Backup ที่รันรายวัน, หรือ WordPress Plugin ที่ดาวน์โหลด Update อัตโนมัติบ่อยเกินไป ตรวจสอบ Breakdown ใน cPanel Bandwidth ว่าส่วนไหนใช้มากสุด
Bandwidth แสดงว่าหมดทั้งที่ Traffic ปกติ
อาจเกิดจาก DDoS Attack หรือ Brute Force Attack ที่ส่ง Request มาจำนวนมาก ตรวจสอบ Real-time Traffic ใน cPanel หรือ Cloudflare Analytics และเปิด WAF เพื่อบล็อก Traffic ไม่พึงประสงค์
คำถามที่พบบ่อย
"Unlimited Bandwidth" ของ Hosting หมายความว่าอะไร?
ในทางปฏิบัติ Unlimited Bandwidth หมายความว่าไม่มีการคิดค่าใช้จ่ายเพิ่มเติมสำหรับ Data Transfer แต่ยังคงมีข้อจำกัดด้าน CPU และ Memory ของ Server ถ้าเว็บคุณใช้ทรัพยากรมากเกินไป Hosting Provider อาจระงับบัญชีหรือขอให้อัปเกรดแผน
Bandwidth กับ Disk Space ต่างกันอย่างไร?
Disk Space คือพื้นที่จัดเก็บไฟล์บน Server (เช่น 10 GB สำหรับเก็บไฟล์เว็บ รูปภาพ ฐานข้อมูล) ส่วน Bandwidth คือปริมาณข้อมูลที่ส่งออกจาก Server ให้ผู้เยี่ยมชมรายเดือน ทั้งสองเป็นทรัพยากรคนละประเภทและถูกนับแยกกัน
ถ้า Bandwidth หมดจะเกิดอะไรขึ้น?
ขึ้นอยู่กับ Hosting Provider บางรายจะหยุดให้บริการเว็บชั่วคราวจนกว่าจะถึงรอบบิลใหม่ บางรายคิดค่าเกินแบบ Pay-per-GB และบางรายส่ง Email แจ้งเตือนให้อัปเกรดแผน ควรอ่าน Terms of Service ของ Hosting ให้ชัดเจน