Avatar
1
Nguyễn Minh Thuận Beginner
Stress test Login Server in Ezyfox
Xin chào mọi người, em hiện tại đang gặp một số vấn đề về stress test login của Ezyfox. Em có một số câu hỏi như sau:
  1. Khi mà em run stress test TCP login thì Server có thể nhận và phản hồi hơn 20k request. Nhưng khi em run UDP thì chỉ đạt ngưỡng tầm hơn 4k request thì bị nghẽn server (CPU đạt tới 100% do không remove User, ở Stress Test UDP thì bị lost Ping và try connected liên tục). Ở hình dưới, em thử chạy 6000 request UDP trong vòng 300s, nhưng số liệu request thực thì chỉ có 4641 và respone về login chỉ có 3820. Em có thể giải quyết vấn đề test UDP login như thế nào ạ?
  2. Cả TCP và UDP đều gặp vấn đề remove User rất chậm nếu User tự động ngắt kết nối số lượng lớn (Tắt stress test hoặc run xong stress test). Bên em thì không có luồng code socket về Remove User. Anh có thể hướng dẫn hoặc gửi tài liệu cho em đọc để fix vấn đề này được không ạ?

Em cám ơn mọi người đã đọc

363805065_1013847862944408_8675372891581784208_n.png
  • Answer
Remain: 5
1 Answer
Avatar
tvd12 Beginner
tvd12 Beginner
Nhìn như này số lượng request và response thật khủng khiếp đó em, anh đoán là em đang test client và server trên cùng 1 máy nhỉ?

Remove user thì là do cấu hình có thể đang là 15 giây mà user không có session thì mới remove em ạ, chứ nó sẽ không ngay lập tức remove user đâu, nó chỉ ngay lập tức remove session bị disconnect thôi.

Em thử update user management thế này xem sao:

EzyUserManagementSettingBuilder userManagementSettingBuilder = new EzyUserManagementSettingBuilder()
    .maxSessionPerUser(1)
    .userMaxIdleTimeInSecond(0)
    .allowChangeSession(true)
    .allowGuestLogin(false);

EzyZoneSettingBuilder zoneSettingBuilder = new EzyZoneSettingBuilder()
    .name("example")
    .userManagement(userManagementSettingBuilder.build())
    .application(appSettingBuilder.build())
    .plugin(pluginSettingBuilder.build());
  • 0
  • Reply