/อ่าน 12 นาที

ทำไมเว็บไซต์ถึงล่ม? Website Monitoring และ Uptime ทำงานอย่างไร

เมื่อเว็บไซต์โหลดไม่ได้ คำถามแรกมักเป็น “เว็บล่มสำหรับทุกคน หรือเป็นแค่เรา?” การเข้าใจสาเหตุที่เว็บไซต์ล่ม วิธีตรวจสอบสถานะ และความหมายจริงของ uptime จะช่วยให้วิเคราะห์ปัญหาได้เร็วขึ้น ไม่ว่าคุณจะเป็นผู้ใช้งานทั่วไปหรือเจ้าของเว็บไซต์

เว็บล่มสำหรับทุกคนหรือแค่เรา?

เมื่อเว็บไซต์โหลดไม่ได้ ปัญหาอาจอยู่ฝั่งคุณ เช่น เครือข่ายในบ้าน ISP, DNS, เบราว์เซอร์ แคช ไฟร์วอลล์ หรือ VPN หรืออาจอยู่ฝั่งเซิร์ฟเวอร์ที่เว็บไซต์ไม่พร้อมใช้งานจริง ๆ การแยกให้ออกสำคัญมาก เพราะวิธีแก้คนละแบบกัน

เว็บล่มสำหรับทุกคนหรือแค่เรา?

กรณี A: ล่มสำหรับทุกคน
  คุณและผู้ใช้คนอื่นเข้าเว็บไม่ได้เหมือนกัน
  เซิร์ฟเวอร์ตอบกลับ 503, timeout หรือไม่ตอบสนอง
  ปัญหาอยู่ฝั่งเซิร์ฟเวอร์ ผู้เข้าชมมักทำได้แค่รอ

กรณี B: ล่มเฉพาะคุณ
  คนอื่นเข้าเว็บได้ แต่คุณเข้าไม่ได้
  เซิร์ฟเวอร์ยังออนไลน์อยู่ แต่ DNS, ISP, เบราว์เซอร์, ไฟร์วอลล์, แคช หรือ VPN ของคุณอาจขวางเส้นทาง

วิธีแยกสถานการณ์:
  1. ลองใช้เครือข่ายอื่น เช่น mobile data แทน Wi-Fi
  2. ใช้เครื่องมือออนไลน์ประเภท "Is It Down"
  3. ให้คนอื่นลองเปิดเว็บไซต์เดียวกัน
  4. ตรวจสอบ status page อย่างเป็นทางการของเว็บไซต์นั้น ถ้ามี

ทำไมเว็บไซต์ถึงล่ม

เว็บไซต์คือห่วงโซ่ของหลายระบบ ถ้าส่วนสำคัญส่วนใดล้มเหลว หน้าเว็บก็อาจโหลดไม่ได้ โดยทั่วไปขั้นตอนเหล่านี้ต้องทำงานได้ก่อนที่คุณจะเห็นหน้าเว็บ:

สิ่งที่ต้องทำงานเพื่อให้เว็บไซต์โหลดได้:

คุณพิมพ์: example.com

ขั้นตอน 1: DNS resolution
  DNS resolver หา IP address ของเซิร์ฟเวอร์
  ถ้าล้มเหลวมักเห็นเป็น DNS_PROBE_FINISHED หรือ NXDOMAIN

ขั้นตอน 2: TCP connection
  อุปกรณ์ของคุณเปิดการเชื่อมต่อไปยังเซิร์ฟเวอร์ โดยปกติผ่านพอร์ต 443
  ถ้าล้มเหลวมักเห็นเป็น connection timed out

ขั้นตอน 3: TLS handshake
  เบราว์เซอร์และเซิร์ฟเวอร์ตรวจสอบรายละเอียดการเข้ารหัสและ certificate
  certificate หมดอายุหรือตั้งค่าผิดอาจทำให้เกิดคำเตือนด้านความปลอดภัย

ขั้นตอน 4: HTTP request
  เบราว์เซอร์ส่ง GET / พร้อมชื่อ host
  เซิร์ฟเวอร์ตอบกลับด้วย HTTP status code

ขั้นตอน 5: Application processing
  Web server, app server, database และ API สร้างหน้าเว็บ
  บั๊กหรือระบบที่รับโหลดไม่ไหว มักกลายเป็น error 500, 502 หรือ 503

ขั้นตอน 6: Response delivery
  HTML, CSS, JavaScript, รูปภาพ และ asset จาก CDN ถูกส่งกลับมา
  ถ้าบางส่วนล้มเหลว หน้าเว็บอาจพังหรือ timeout

HTTP Status Codes: ตัวเลขเหล่านี้หมายถึงอะไร

เมื่อเซิร์ฟเวอร์ตอบกลับ มันจะส่ง status code ซึ่งเป็นตัวเลขสามหลักที่บอกว่าเกิดอะไรขึ้น นี่เป็นวิธีที่เร็วมากในการวิเคราะห์ว่าเว็บไซต์ทำงานผิดปกติตรงไหน

การตอบกลับสำเร็จและการ Redirect

CodeNameความหมาย
200OKเว็บไซต์ทำงานได้และ request สำเร็จ
301Moved Permanentlyหน้านี้ย้ายไป URL ใหม่ และเบราว์เซอร์ควร redirect ตามไป
304Not Modifiedเวอร์ชันในแคชยังใหม่อยู่ เบราว์เซอร์จึงไม่ต้องดาวน์โหลดซ้ำ

ข้อผิดพลาดฝั่ง Client

CodeNameความหมาย
400Bad Requestrequest มีรูปแบบผิดจนเซิร์ฟเวอร์อ่านไม่เข้าใจ
401Unauthorizedต้องยืนยันตัวตนก่อนจึงจะเข้าถึงได้
403Forbiddenคุณไม่มีสิทธิ์เข้าถึง resource นี้
404Not Foundไม่มีหน้านี้ URL ผิด หรือหน้าถูกลบไปแล้ว
408Request Timeoutเซิร์ฟเวอร์รอนานเกินไปกว่า request จะเสร็จ
429Too Many Requestsถูกจำกัดความถี่ เพราะส่ง request เร็วหรือถี่เกินไป

ข้อผิดพลาดฝั่ง Server: เว็บล่มหรือระบบไม่ปกติ

CodeNameความหมาย
500Internal Server Errorมีบางอย่าง crash บนเซิร์ฟเวอร์ เช่น บั๊ก การตั้งค่าผิด หรือ exception ที่ไม่ได้จัดการ
502Bad Gatewayproxy หรือ load balancer ได้รับคำตอบที่ไม่ถูกต้องจาก upstream server
503Service Unavailableเซิร์ฟเวอร์โหลดหนัก อยู่ระหว่าง maintenance หรือไม่พร้อมตอบสนองชั่วคราว
504Gateway Timeoutproxy หรือ load balancer รอ upstream server นานเกินไป

Website Monitoring ทำงานอย่างไร

Website monitoring คือการตรวจเว็บไซต์ตามรอบเวลา แล้วแจ้งเตือนเจ้าของเว็บเมื่อเว็บไม่พร้อมใช้งาน ช้าเกินไป หรือส่งคำตอบผิดจากที่ควรเป็น

Website monitoring โดยทั่วไปทำงานแบบนี้:

1. บริการ monitoring ตรวจ URL ทุก 1-5 นาที
2. บันทึก HTTP status code, response time และ error message
3. ยืนยันความล้มเหลวจากมากกว่าหนึ่ง location เพื่อลด false alarm
4. ส่งแจ้งเตือนผ่าน email, SMS, Slack, PagerDuty หรือช่องทางอื่น
5. เก็บรายงาน uptime สำหรับ incident, SLA และแนวโน้มความเสถียรระยะยาว

Monitoring ที่ดีไม่ได้ดูแค่ว่า "หน้าเว็บโหลดไหม":
  - status code ถูกต้องหรือไม่
  - response เร็วพอหรือไม่
  - หน้าเว็บมีข้อความที่คาดไว้หรือไม่
  - SSL certificate ยัง valid หรือไม่
  - DNS ยัง resolve ถูกต้องหรือไม่

คำนวณ Uptime: “99.9%” หมายถึงอะไรจริง ๆ

Uptime คือเปอร์เซ็นต์เวลาที่บริการพร้อมใช้งาน ความต่างของเปอร์เซ็นต์เล็ก ๆ อาจแปลเป็น downtime จำนวนมากกว่าที่คิด

Uptimeชื่อที่เรียกกันDowntime/ปีDowntime/เดือนDowntime/สัปดาห์
99%Two nines3.65 วัน7.3 ชั่วโมง1.68 ชั่วโมง
99.9%Three nines8.76 ชั่วโมง43.8 นาที10.1 นาที
99.95%Three and a half4.38 ชั่วโมง21.9 นาที5.04 นาที
99.99%Four nines52.6 นาที4.38 นาที1.01 นาที
99.999%Five nines5.26 นาที26.3 วินาที6.05 วินาที
การคำนวณ uptime:

Uptime % = (เวลาทั้งหมด - Downtime) / เวลาทั้งหมด x 100

ตัวอย่าง: เว็บไซต์ downtime 2 ชั่วโมงในเดือนที่มี 30 วัน
  เวลาทั้งหมดเป็นนาที = 30 x 24 x 60 = 43,200
  Downtime เป็นนาที = 120
  Uptime = (43,200 - 120) / 43,200 x 100 = 99.72%

SLA ย่อมาจาก Service Level Agreement
ถ้าผู้ให้บริการทำ uptime ไม่ได้ตามสัญญา ลูกค้ามักได้ service credits ไม่ใช่เงินสดคืนโดยตรง

กับดักของตัวเลข “Nines”

ผู้ให้บริการที่สัญญา uptime 99.9% ยังมี downtime ได้ประมาณ 8.76 ชั่วโมงต่อปี ฟังดูอาจยอมรับได้ จนกว่ามันจะเกิดรวดเดียวในวันที่ยอดขายสูงที่สุดของคุณ เปอร์เซ็นต์ uptime ไม่ได้บอกว่า downtime เกิดเมื่อไร และเวลาที่เกิดมักสำคัญกว่าจำนวนรวม

วิธีเช็กว่าเว็บไซต์ล่มหรือไม่

มีหลายวิธีที่ใช้ตรวจได้ว่าเว็บไซต์ล่มจริงหรือไม่:

วิธีตรวจว่าเว็บไซต์ล่มหรือไม่:

1. เครื่องมือออนไลน์ประเภท "Is It Down"
   เซิร์ฟเวอร์ภายนอกจะลองโหลดเว็บไซต์แทนคุณ
   ช่วยยืนยันว่าปัญหาเกิดทั่วโลกหรือเฉพาะการเชื่อมต่อของคุณ

2. Browser developer tools
   เปิด DevTools แล้วดูแท็บ Network
   ดู status code ของ request หลัก
   200 คือ OK, 5xx คือ server error, และ failed มักแปลว่าเบราว์เซอร์เชื่อมต่อไม่ได้

3. ตรวจจาก command line
   curl -Is https://example.com
   ping example.com

4. Status pages
   หลายบริการมีหน้ารายงานสถานะแบบ real-time เช่น GitHub Status, AWS Health และ Google Cloud Service Health

5. รายงานจากผู้ใช้
   ค้นหาโพสต์ล่าสุดเกี่ยวกับบริการนั้นล่ม หรือดูเว็บรวมรายงาน outage จากผู้ใช้

สาเหตุที่พบบ่อยของ Downtime

สาเหตุความถี่รายละเอียด
เซิร์ฟเวอร์โหลดหนักหรือ traffic พุ่งพบบ่อยมากคอนเทนต์ไวรัล DDoS หรือ server capacity ไม่พอ อาจทำให้เกิด 503 errors
บั๊กจากการ deploy codeพบบ่อยมากrelease ใหม่อาจทำให้ระบบ crash, 500 errors, redirect ผิด หรือ query database พัง
Database ล้มเหลวพบบ่อยdatabase อาจ down, connection เต็ม, ข้อมูลเสีย, lock ค้าง หรือช้าจาก query หนัก
ปัญหา DNSพบบ่อยDNS records ผิด nameserver ล่ม หรือ domain หมดอายุ ทำให้เซิร์ฟเวอร์ที่ยังทำงานอยู่เข้าผ่านชื่อโดเมนไม่ได้
SSL certificate หมดอายุพบบ่อยเบราว์เซอร์อาจบล็อกการเข้าถึงเมื่อ certificate หมดอายุหรือ certificate chain ไม่ครบ
Infrastructure หรือ hosting outageเกิดเป็นครั้งคราวเหตุขัดข้องของ cloud provider หรือ data center อาจกระทบหลายเว็บไซต์พร้อมกัน
DDoS attackเกิดเป็นครั้งคราวผู้โจมตีส่ง traffic ปลอมจำนวนมากจนผู้ใช้จริงเข้าเว็บไม่ได้
Domain หมดอายุพบไม่บ่อยแต่รุนแรงถ้า domain registration หมดอายุ เว็บไซต์ทั้งเว็บอาจหายไปทันที
Hardware failureพบไม่บ่อยdisk, power หรือ network device อาจเสีย แม้จะพบลดลงในระบบ cloud hosting

ควรทำอย่างไรเมื่อเว็บไซต์โหลดไม่ได้

ก่อนสรุปว่าเว็บไซต์ล่มสำหรับทุกคน ลองทำขั้นตอนเหล่านี้เพื่อตัดปัญหาฝั่งคุณออกก่อน:

Checklist สำหรับผู้เข้าชม:

1. Hard refresh หน้าเว็บ
   Windows/Linux: Ctrl + Shift + R
   Mac: Cmd + Shift + R

2. ลองใช้เบราว์เซอร์อื่นหรือ private window
   ช่วยตัดปัญหา extension, cache เก่า และ cookies

3. เช็กว่าเว็บอื่นโหลดได้ไหม
   ถ้าเว็บอื่นก็โหลดไม่ได้ ปัญหาอยู่ที่ internet connection ของคุณ

4. ลองเครือข่ายอื่น
   สลับระหว่าง Wi-Fi และ mobile data

5. Flush DNS cache
   Windows: ipconfig /flushdns
   macOS: sudo dscacheutil -flushcache
   Linux: sudo systemd-resolve --flush-caches

6. ลอง DNS resolver อื่น
   ตัวเลือกที่พบบ่อยคือ 8.8.8.8 ของ Google และ 1.1.1.1 ของ Cloudflare

7. ปิด VPN หรือ proxy ชั่วคราว
   route ของ VPN อาจถูกบล็อก โหลดหนัก หรืออยู่ผิด region

8. ใช้ online checker
   เพื่อยืนยันว่าปัญหาอยู่ฝั่งคุณหรือฝั่งเว็บไซต์

การป้องกัน Downtime

ถ้าคุณดูแลเว็บไซต์ แนวทางเหล่านี้ช่วยลดโอกาสและผลกระทบของ downtime:

Checklist ป้องกัน downtime:

Infrastructure:
  - ใช้ CDN สำหรับ static assets
  - ใช้ load balancing ข้ามหลายเซิร์ฟเวอร์
  - ใช้ auto-scaling รองรับ traffic ที่พุ่งขึ้น
  - deploy ข้ามหลาย availability zones หรือ regions
  - มี database replicas สำหรับ failover

Monitoring:
  - ตรวจ uptime ทุก 1-5 นาที
  - monitor จากหลาย location
  - แจ้งเตือนผ่าน SMS, Slack, PagerDuty หรือช่องทางที่เชื่อถือได้
  - เฝ้าระวัง SSL certificate expiration
  - ติดตาม response time ก่อนความช้าจะกลายเป็น outage

Deployment:
  - ใช้ blue-green หรือ canary deployments
  - ทำ rollback ให้ง่ายและเร็ว
  - รัน automated tests ก่อน release
  - deploy ในช่วง traffic ต่ำกว่า

DNS และ domain:
  - เปิด auto-renewal สำหรับ domain registration
  - ใช้ DNS providers สำรองเมื่อเหมาะสม
  - ตั้งค่า TTL อย่างตั้งใจ
  - monitor DNS resolution

Backups:
  - ทำ backup database และ files อัตโนมัติ
  - ทดสอบ restore เป็นประจำ
  - เก็บ backup ไว้คนละ region หรือคนละ provider

ต้นทุนของ Downtime

Downtime ไม่ใช่แค่ความไม่สะดวก แต่มันมีต้นทุนด้านรายได้ การดำเนินงาน SEO และความไว้วางใจ

ผลกระทบรายละเอียด
รายได้หายเว็บ e-commerce และ SaaS เสีย conversion, subscription และ transaction ระหว่างที่ระบบใช้งานไม่ได้
SEO เสียหายoutage ที่นานหรือเกิดซ้ำพร้อม 5xx errors อาจทำให้ search engine ลดการ crawl หรืออันดับตก
ความไว้วางใจของผู้ใช้ผู้เข้าชมอาจออกจากเว็บ มองว่าธุรกิจไม่น่าเชื่อถือ และเลือกคู่แข่งแทน
ค่าปรับตาม SLAผู้ให้บริการที่มี SLA commitments อาจต้องคืนเงินหรือให้เครดิตแก่ลูกค้า
ต้นทุนทีมงานวิศวกรต้องถูกดึงไปแก้ incident เร่งด่วน แทนที่จะทำงานตามแผน

Outage ที่น่าจดจำ

แม้แต่บริษัทขนาดใหญ่ก็เคยเจอ outage สำคัญ เช่น Facebook ล่มประมาณ 6 ชั่วโมงในเดือนตุลาคม 2021 จากเหตุเกี่ยวกับ BGP, Cloudflare มี outage 27 นาทีในเดือนมิถุนายน 2022 และเหตุขัดข้องของ AWS us-east-1 เคยกระทบอินเทอร์เน็ตเป็นวงกว้างหลายครั้ง

เช็กว่าเว็บไซต์ใด ๆ ล่มหรือไม่

ใช้ Website Down Checker ฟรีของเราเพื่อตรวจอย่างรวดเร็วว่าเว็บไซต์ยังใช้งานได้หรือกำลังล่ม ดู HTTP status codes, response time และผลยืนยันจากเซิร์ฟเวอร์ของเรา โดยไม่ต้องติดตั้งอะไร

ลองใช้ Website Down Checker

แหล่งอ้างอิง

  1. Fielding, R. et al. (2022). RFC 9110 - HTTP Semantics (Status Codes). https://datatracker.ietf.org/doc/html/rfc9110#section-15
  2. Google. How Google handles server connectivity issues. https://developers.google.com/search/docs/crawling-indexing/http-network-errors
  3. Cloudflare. What is a 5xx server error?. https://developers.cloudflare.com/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-5xx-errors/
  4. AWS. Amazon Compute Service Level Agreement. https://aws.amazon.com/compute/sla/
USTHJP