c) Tính toán độ trễ mạng và tìm nạp
3.2. Triển khai thực nghiệm
Công cụ Artillery.io: Artillery.io được thiết kế để thử nghiệm các hệ thống
phụ trợ, chẳng hạn như dịch vụ API, phụ trợ thương mại điện tử, hệ thống trò chuyện, phụ trợ trò chơi, cơ sở dữ liệu, môi giới tin nhắn và hàng đợi, và bất kỳ thứ gì khác có thể được giao tiếp qua mạng. Nó có thể được sử dụng để kiểm tra bất kỳ chương trình phụ trợ nào bất kể giao thức nói hay ngôn ngữ được viết bằng ngôn ngữ nào. Pháo binh hỗ trợ HTTP, WebSocket và Socket.io. Hỗ trợ cho các giao thức bổ sung có thể được thêm vào thông qua giao diện plugin của Artillery.
Demo:
• Hệ thống: Máy chủ ứng dụng đặt xe GODY
• Module kiểm thử: API tìm kiếm xe gần nhất (giao thức HTTP)
• Công cụ kiểm thử: Artillery
• Yêu cầu: Hệ thống có phản hồi nhanh, ổn định khi có lượng truy cập lớn cùng lúc.
Kịch bản:
• Người dùng trung bình/giây: 50
Hình 3.29.Biểu đồ thời gian phản hồi theo realtime
Hình 3.30.Biểu đồ chi tiết
Chú thích:
• Thời gian phản hồi nhanh nhất: 86 mili giây
• Thời gian phản hồi lâu nhất: 9895 mili giây
• Thời gian phản hồi trung bình: 6836 mili giây
Hình 3.31.Thống kê thái phản hồi
Đánh giá:
Thời gian phản hồi tỉ lệ thuận với lượng người dùng và tăng dần theo thời gian. Với thời gian gian phản hồi trung bình hơn 6 giây, tỉ lệ phản hồi thành công là 67.75%. Hệ thống chưa đáp ứng được về yêu cầu về thời gian, không thể chịu tải với lượng người dùng lớn hơn. Với giao thức HTTP, phía máy khách phải chờ đợi phản hổi từ máy chủ. Trong trường hợp máy chủ phản hồi quá lâu sẽ dẫn đến trải nghiệm của người dùng không mượt, ổn định.
Giải pháp:
• Sử dụng phương thức socket thay vì HTTP
• Cấu hình cân bằng tải
• Sử dụng cache dữ liệu
Kiểm thử sau khi áp dụng giải pháp:
Hình 3.33. Bảng tổng hợp kết quả
Chú giải:
• Thời gian phản hồi lâu nhất: 17.6 mili giây
• Thời gian phản hồi trung bình: 0.1mili giây
Đánh giá: Thời gian phản hồi ổn định. Thời gian phản hồi nhanh, trung bình
là 0.1 mili giây đáp ứng được lượng người dùng lớn, giúp trải nghiệm người dùng tốt hơn.
3.3. Kết luận chương 3
Ở chương này, nhóm chúng em đã triển khai được một ví dụ đơn giản để demo được chức năng đánh giá hệ thống bằng công cụ hỗ trợ Artillery.io. Qua ví dụ này có thể đánh giá và đưa ra các giải pháp kịp thời để tối ưu hóa cho hệ thống của ứng dụng, nhằm tăng trải nghiệm người dùng.
KẾT LUẬN
Qua quá trình tìm hiểu và thực hiện tài liệu và tiểu luận, chúng ta cần hiểu về kết nối vô tuyến mạng được sử dụng hầu hết hiện nay: Wi-Fi là gì? Kết nối vô tuyến di động là gì? Máy trạng thái RRC điều khiển kết nối vô tuyến là gì? Ở đây, nhóm em đã tổng hợp và cung cấp các khái niệm, các công cụ, các kỹ thuật và nhiều các phương pháp tối ưu mạng trên ứng dụng di động.
Ta có thể sử dụng các công cụ để bắt và nhận định các gói tin truyền qua mạng:
• Wireshark
• Fiddler
• AT&T ARO đánh giá ứng dụng
Các kỹ thuật nâng cao hiệu suất mạng ứng dụng di động trong quá trình phát triển:
• Kỹ thuật Caching, File Caching, nén dung lượng File
• Tối ưu truyền và hiển thị file ảnh, video
• Sử dụng Caching và CDNs phân phối dữ liệu
• Sử dụng kiến trúc FNA – nhận biết mạng linh hoạt trong quá trình phát triển ứng dụng
• Bảo mật dữ liệu cũng quan trọng
Các công cụ thu thập và phân tích dữ liệu người dùng ứng dụng, đánh giá, báo cáo: • Google Analytics • Firebase Crashlytics • Crittercism • New Relic • Artillery.io
Để thực hiện tối ưu mạng trên thiết bị di động, bên cạnh việc sử dụng các phương pháp, kỹ thuật lập trình để xây dựng và biên dịch ứng dụng, ta cũng cần sử dụng các công cụ đã và đang được cung cấp và phát triển rộng khắp để phân tích, thu thập các dữ liệu, để lấy ra các đánh giá, tổng hợp báo cáo từ người dùng. Bằng việc phân tích các báo cáo, đánh giá dữ liệu từ người dùng ứng dụng, nhà quản trị, nhà sản xuất cùng các nhà phát triển có thể đưa ra nhiều những phương án, kế hoạch phát triển ứng dụng của mình cũng như cung cấp các dịch vụ tốt hơn và mạnh mẽ hơn tới người dùng ứng dụng của họ.