"เซิร์ฟเวอร์ช้า" อาจหมายถึงสามเรื่องที่ต่างกัน: เครือข่ายหนาแน่น มีบางอย่างบนเซิร์ฟเวอร์ใช้แบนด์วิดท์ หรือการทดสอบเองไม่ถูกต้อง เจ็ดขั้นตอนนี้ช่วยแยกแยะ คำสั่งใช้กับ Linux ชื่อแพ็กเกจใช้กับระบบที่ใช้ apt
1. ดูกราฟในแดชบอร์ด
เปิดเซิร์ฟเวอร์ในแดชบอร์ดแล้วไปที่แท็บ เมตริก กราฟเครือข่ายแสดงทราฟฟิกขาเข้าและขาออกต่อวินาทีของชั่วโมง วัน หรือสัปดาห์ที่ผ่านมา ข้อมูลมาจากชั้น virtualization จึงยังเห็นได้แม้ OS ในเซิร์ฟเวอร์ค้าง
มีสองอย่างที่กราฟไม่แสดง: ยอดรวมเป็นกิกะไบต์ และโปรแกรมใดเป็นตัวสร้างทราฟฟิก ขั้นตอนต่อไปมีไว้สำหรับเรื่องนี้
ข้อมูลชุดเดียวกันดึงได้ผ่าน API รวมถึงเดือนที่ผ่านมา:
curl -s "https://api.eqvps.com/api/v1/eqvps/services/SERVICE_ID/metrics?timeframe=month" \
-H "Authorization: Bearer $EQVPS_API_KEY"
2. หาอินเทอร์เฟซเครือข่ายของคุณ
คำสั่งส่วนใหญ่ด้านล่างต้องใช้ชื่ออินเทอร์เฟซ:
ip -br addr
ให้หาอินเทอร์เฟซที่มีที่อยู่สาธารณะของคุณ (หรือที่อยู่ส่วนตัวบนเซิร์ฟเวอร์ NAT) มักเป็น eth0 หรือ ens18 ถ้าของคุณชื่ออื่น ให้แทน eth0 ด้านล่าง
3. นับทราฟฟิกรายวันและรายเดือนด้วย vnStat
apt install -y vnstat
vnstat -l -i eth0 # live rate, Ctrl+C to stop
vnstat -d # per day
vnstat -m # per month
vnStat อ่านตัวนับอินเทอร์เฟซจากเคอร์เนล เก็บข้อมูลไว้หลังรีบูต และแทบไม่ใช้ทรัพยากร มันเริ่มนับตั้งแต่ตอนติดตั้ง จึงควรติดตั้งไว้ก่อนที่จะต้องใช้ตัวเลข
4. ดูว่าโปรเซสไหนใช้แบนด์วิดท์
apt install -y nethogs
nethogs eth0
nethogs แสดงรายการโปรเซสพร้อมอัตราการส่งและรับปัจจุบัน ถ้าเห็นโปรเซสที่ไม่รู้จักกำลังส่งทราฟฟิก ให้ตรวจดูให้ดี: ตัวอัปโหลดหนักที่ไม่คาดคิดอาจหมายถึงเซิร์ฟเวอร์ถูกเจาะ
ดูการเชื่อมต่อโดยตรง:
ss -tunap | head -30
5. ทดสอบความเร็วให้มีความหมาย
วิธีที่เชื่อถือได้คือ iperf3 ระหว่างสองเครื่องที่คุณควบคุมได้ บนอีกเครื่องให้เริ่มเซิร์ฟเวอร์:
iperf3 -s
บนเซิร์ฟเวอร์ของคุณ ทดสอบทั้งสองทิศด้วย 4 สตรีมนาน 30 วินาที:
iperf3 -c OTHER_HOST -P 4 -t 30 # upload from this server
iperf3 -c OTHER_HOST -P 4 -t 30 -R # download to this server
เซิร์ฟเวอร์ NAT รับการเชื่อมต่อขาเข้าเฉพาะบนพอร์ต SSH จึงต้องรัน iperf3 -s บนอีกเครื่อง และให้เซิร์ฟเวอร์ NAT เป็นไคลเอนต์อย่างข้างบน
ไม่มีเครื่องที่สองใช่ไหม ดาวน์โหลดไฟล์ใหญ่จาก mirror ที่เร็วและอยู่ใกล้คุณ แล้วอ่านค่าเฉลี่ย:
curl -o /dev/null -w "%{speed_download}\n" https://mirror.example.net/1GB.bin
ผลลัพธ์มีหน่วยเป็นไบต์ต่อวินาที คูณ 8 เพื่อให้เป็นบิตต่อวินาที: 110000000 เท่ากับราว 880 Mbit/s
6. ตรวจความหน่วงและการสูญเสียแพ็กเก็ต
ปริมาณข้อมูลต่ำในระยะไกลมักเป็นปัญหาความหน่วงหรือการสูญเสียแพ็กเก็ต ไม่ใช่แบนด์วิดท์:
apt install -y mtr-tiny
mtr -rwc 100 example.com
ดูคอลัมน์ Loss% ในบรรทัดสุดท้าย การสูญเสียที่ปรากฏที่ hop เดียวตรงกลางแล้วหายไปหลังจากนั้น มักหมายความว่าเราเตอร์ตัวนั้นให้ความสำคัญกับการตอบ ping ต่ำ ไม่ใช่การสูญเสียจริง
7. เทียบกับค่าที่ควรเป็น
| แพ็กเกจ | พอร์ต | ผลทั่วไปแบบ 4 สตรีม สายว่าง |
|---|---|---|
| Linux VPS | 1 Gbit/s | ราว 900–940 Mbit/s ต่อทิศ |
| Windows VPS | 150 Mbit/s | ราว 140 Mbit/s |
เมื่อหลายเซิร์ฟเวอร์บนเครื่องจริงเดียวกันใช้งานหนักพร้อมกัน อัปลิงก์จะถูกแบ่งให้แต่ละเครื่องเท่า ๆ กัน ตัวเลขที่ต่ำลงในช่วงคนใช้เยอะจึงเป็นเรื่องปกติ ไม่มีแพ็กเกจไหนมีโควตาทราฟฟิก วิธีแบ่งอธิบายไว้ใน ทราฟฟิกและความเร็วเครือข่าย
บนเซิร์ฟเวอร์ Windows ให้ดูอัตราสดที่ Task Manager → Performance → Ethernet และดูทราฟฟิกรายโปรเซสที่ Resource Monitor → Network
ถ้าตัวเลขต่ำจริง
รันขั้นตอนที่ 5 กับเซิร์ฟเวอร์ทดสอบสองแห่งที่ต่างกัน จดเวลาไว้ แล้วเปิดทิกเก็ตพร้อมคำสั่งและผลลัพธ์ เราจะตรวจอัปลิงก์ ณ เวลานั้นได้ตรงจุด
ที่เกี่ยวข้อง
- ทราฟฟิกและความเร็วเครือข่าย: ความเร็วพอร์ต การแบ่งอย่างเป็นธรรม พอร์ตอีเมลขาออก
- เครือข่ายและพอร์ต: การส่งต่อพอร์ตของ NAT และพอร์ตที่เปิดอยู่
- ถ้า vnStat หรือล็อกทำให้ดิสก์เต็ม: เพิ่มพื้นที่ว่างบนดิสก์
ความคิดเห็น
ยังไม่มีความคิดเห็น เป็นคนแรกสิ