Bài viết nhằm hướng dẫn Admin kiểm tra các vấn đề của ứng dụng như: lag, người dùng không kết nối được.
1. Người dùng/Client không kết nối được
Trước tiên, đây bạn cần xác định người dùng gặp phải sự cố là người chơi trong nước hay nước ngoài?
- Nếu client trong nước không kết nối được đến ứng dụng sẽ xuất hiện 2 nguyên nhân thường gặp:
- Server ứng dụng có firewall tiến hành chặn IP người dùng do IP của họ có dấu hiệu ddos
- Hoặc tại mạng client không kết nối được tới IP của server chạy ứng dụng.
- Nếu client nước ngoài không kết nối được sẽ xuất hiện 3 nguyên nhân thường gặp:
- Đường truyền quốc tế của người chơi chặn IP server tại Việt Nam
- Server có firewall tiến hành chặn IP client do IP của họ có dấu hiệu ddos
- IP server đang bị chặn quốc tế
Cách xác định: IP người chơi, mạng (viettel, vnpt, fpt,…), client trong nước/quốc tế (thông qua IP), IP server có bị chặn quốc tế hay không
- Xác định IP client và mạng họ đang dùng: Nhờ client truy cập site https://www.whatismyip.com
- Xác định client trong nước hay quốc tế: Truy cập site https://www.iplocation.net và điền IP client vào để xác định
- Xác định IP Server có bị chặn quốc tế hay không: Truy cập site https://check-host.net và điền IP_Server:port và chọn TCP Port để kiểm tra
2. Cách kiểm tra Client lag/delay khi dùng ứng dụng hoặc không kết nối được
Vấn đề lag xảy ra thường xuyên nếu admin không quản lý một cách đúng đắn. Thường phát sinh do các nguyên nhân:
a. Nguyên nhân
- Server bị DDoS nhưng không có proxy hay firewall
- VPS/Server có dấu hiệu overload tài nguyên Ram, CPU, xung nhịp CPU, ổ cứng bị * full hoặc lỗi ổ cứng, ram, nguồn, cpu
Đường truyền
b. Vấn đề đường truyền
- Loại bỏ 2 vấn đề đầu tiên, ở đây tôi sẽ tập trung đề cập vấn đề “Đường truyền”. Tôi thường xuyên gặp vấn đề “Đường truyền” và 1 số admin thường xử lý không tốt vấn đề này.
- Về đường truyền được phân thành 3 loại nhỏ:
- Đường truyền tại Server => client: do nhà cung cấp dịch vụ quyết định (Ở VIETNIX tuỳ theo gói dịch vụ mà có đường truyền tương ứng)
- Đường truyền tại client => server: do nhà mạng của client quyết định
- Đường truyền tại Server => api: (trong nước/quốc tế) do api quyết định
c. Cách xử lý
Khi vấn đề lag/delay xảy ra, ngoài việc báo cho đội ngũ hỗ trợ từ nhà cung cấp dịch vụ vps/server/firewall, admin cần phối hợp với client và bên cung cấp api (nếu có) để giải quyết.
Cụ thể hãy thông báo lại với client thực hiện kiểm tra bằng 4 tools sau: ping, tracert, tcping, tcptrace. Với các mục tiêu
- ping: kiểm tra bằng giao thức ip kết nối client => server và tuyến đường client => server
- tcping: kiểm tra bằng giao thức tcp độ delay client => port ứng dụng
- tracetcp: kiểm tra bằng giao thức tcp đoạn đường client => port ứng dụng
Minh hoạ: IP server là 103.90.227.xxx và mình sẽ tiến hành kiểm tra như sau
Bước 1: Ping và tracert (kiểm tra kết nối client – server và tuyến đường client – server)
Mở cmd và tiến hành gõ:
ping ip_game_server
tracert ip_game_server
Minh hoạ bên dưới là 1 trường hợp kết nối thành công tới server
Trường hợp này, bạn đã thấy chính xác việc kết nối từ client tới server
Những trường xuất hiện vấn đề là ping không tới hoặc tới nhưng times rất cao, tracert không tới
Bước 2: tcping (kiểm tra bằng giao thức tcp độ delay client – port ứng dụng)
Để thực hiện cần cài đặt tcping tại link: https://www.elifulkerson.com/projects/tcping.php
Sau khi download, “Open” để chạy cài đặt
Tiếp đến copy lại đường dẫn tới file tcping.exe
Mở cmd và gõ “cd đường_dẫn_vừa_copy”
Cuối cùng tiến hành dùng command “tcping.exe -n 8 -p 49011 103.90.227.x”
Với
- -n 8 là số lần tcping kiểm tra
- -p 49011 là port ứng mà client đang dùng để truy cập.
Trường hợp này, bạn đã thấy chính xác độ phản hồi của port ứng dụng về IP người chơi, và kết quả cho ra rất nhanh chưa tới 1s
Những trường xuất hiện vấn đề là kết quả ở command này không nhận được phản hồi từ port của ứng dụng hoặc nhận được phản hồi nhưng độ delay rất cao
Bước 3: tracetcp (kiểm tra bằng giao thức tcp đoạn đường client – ứng dụng)
Để thực hiện cần cài đặt tracetcp tại link: https://simulatedsimian.github.io/tracetcp_download.html
Lưu ý khi cài đặt phải cài gói phụ trợ WinCap
Tải và cài gói phụ thuộc WinCap
Tải và cài tracetcp
Tiến hành tracetcp bằng command: tracetcp.exe 103.90.227.xxx:40911
Với
- 103.90.227.xxx là IP server
- 40911 là port của ứng dụng
Theo hình ảnh minh hoạ trên, bạn có thấy được rằng đoạn đường từ client đến port của ứng dụng là thành công và phản hồi rất nhanh chưa tới 1s.
Những trường xuất hiện vấn đề là ở command này không tới được port của ứng dụng hoặc tới nhưng kết quả phản hồi rất chậm