4.4.1.1. Mô hình đánh giá
Hình 4.2. Mô hình đánh giá năng lực hệ thống
4.4.1.2. Thực hiện đánh giá
Với mô hình trên ta đánh giá lần lượt các tổng đài FusionPBX và FreePBX, kịch bản đánh giá được thực hiện như sau:
- Luồng dữ liệu: SIPp thực hiện cuộc gọi (có xác thực); Thực hiện cuộc gọi đến số cố định (số cố định này được cấu hình trả lời tự động khi thực hiện kiểm thử năng lực hệ thống) qua FreePBX (hoặc FusionPBX); Chạy media qua RTP với file g711a.pcap (mặc định có trên SIPp); Khoảng thời gian thực hiện một cuộc gọi trong 60s (giả định với một cuộc gọi trung bình trong khoảng 1 phút).
- Xác thực cuộc gọi: sử dụng file .CSV chứa các thông tin tài khoản đính kèm (tài khoản đã được tạo trên hệ thống tổng đài) trong câu lệnh SIPp để xác thực khi có yêu cầu. Các thông tin chính gồm: Số gọi đi, IP tổng đài, username, password và số được gọi đến.
- Số lượng cuộc gọi: Dự kiến có 600 số điện thoại trên tổng đài mới bao gồm: 570 số cho Cục Thuế (trung bình mỗi Cục Thuế sẽ có 9 số, riêng Hà Nội, Hồ Chí Minh và Đà Nẵng sẽ có 10 số), 30 số cho đội hỗ trợ tại Tổng cục Thuế. Thời gian thực hiện một cuộc gọi trung bình 60s. Do đó, lần lượt thực hiện đánh giá tải với 10%, 20%, 30% và 50% số cuộc gọi đồng thời theo cách tính sau:
Với 10% trong 600 số thì có 60 số thực hiện cuộc gọi đồng thời (60 số luôn gọi trong vòng 60s).
Với 20% trong 600 số thì có 120 số thực hiện cuộc gọi đồng thời.
Với 30% trong 600 số thì có 180 số thực hiện cuộc gọi đồng thời.
Với 50% trong 600 số thì có 300 số thực hiện cuộc gọi đồng thời.
52
Với 100% trong 600 số thì có 600 số thực hiện cuộc gọi đồng thời.
- Mỗi lần kiểm tra tải thực hiện 1000 cuộc gọi để đánh giá xem có bao nhiêu cuộc gọi thành công hay lỗi.
Các tham số cơ bản của kịch bản kiểm thử theo bảng 4.6 dưới đây. Bảng 4.6. Các tham số thực hiện kiểm thử hiệu năng % Số điện thoại
đang thực hiện gọi
Số cuộc gọi đồng thời/60s
Số cuộc gọi được thực hiện
Tham số thực hiện (theo dòng lệnh SIPp) 10% 60 1000 r = 1, m =1000 20% 120 1000 r = 2, m =1000 30% 180 1000 r = 3, m =1000 50% 300 1000 r = 5, m =1000 80% 480 1000 r = 8, m =1000 100% 600 1000 r = 10, m =1000
Với r: là số cuộc gọi được thực hiện trong vòng 1s, m là tổng số cuộc gọi. Một số tham số lấy log trong quá trình chạy SIPP gồm:
- trace_screen: dump trạng thái màn hình kết quả của quá trình chạy SIPp, sử dụng để thống kê số cuộc gọi thành công, thất bại và các tham số response time.
- trace_rtt: thống kê các response theo kịch bản, được sử dụng để vẽ biểu đồ response time theo số lượng cuộc gọi.
- trace_err: đưa ra các thông tin lỗi gặp phải trong quá trình chạy SIPp.
4.4.1.3. Kết quả
Kết quả thực hiện kiểm thử hiệu năng theo kịch bản trên đối với hai tổng đài mã nguồn mở được cài đặt như sau:
- Tổng đài FreePBX: kết quả kiểm thử hiệu năng được tổng hợp theo bảng 4.7 và biểu đồ thời gian đáp ứng cho các cuộc gọi theo hình 4.3.
Bảng 4.7. Kết quả kiểm thử hiệu năng trên tổng đài FreePBX Số cuộc gọi đồng thời trong 60s Tổng số cuộc gọi được thực hiện Số cuộc gọi thành công Số cuộc gọi không thành công Trung bình 01 CPU được sử dụng 60 1000 1000 0 4,2% 120 1000 1000 0 7% 180 1000 1000 0 12,8%
53
300 1000 1000 0 22,2%
480 1000 1000 0 33,6%
600 1000 984 16 38,4%
Hình 4.3. Thời gian đáp ứng cho các cuộc gọi của FreePBX
- Tổng đài FusionPBX: kết quả kiểm thử hiệu năng được tổng hợp theo bảng 4.8 và biểu đồ thời gian đáp ứng cho các cuộc gọi theo hình 4.4.
Bảng 4.8. Kết quả kiểm thử hiệu năng trên tổng đài FusionPBX Số cuộc gọi đồng thời trong 60s Tổng số cuộc gọi được thực hiện Số cuộc gọi thành công Số cuộc gọi không thành công Trung bình 01 CPU được sử dụng (max) 60 1000 1000 0 5,1% 120 1000 1000 0 12,1% 180 1000 1000 0 19,3% 300 1000 1000 0 35,1%
54
480 1000 1000 0 56,5%
600 1000 895 105 59,6%
Hình 4.4. Thời gian đáp ứng cho các cuộc gọi của FusionPBX
Đối với các trường hợp chạy 600 cuộc gọi đồng thời trong vòng 60s, do có số lượng cuộc gọi không thành công nên kết quả trên là kết quả trong trường hợp có lượng cuộc gọi không thành công ở mức giữa (trong 03 cuộc kiểm thử).
Nhìn vào biểu đồ thời gian đáp ứng, ta thấy: đối với FreePBX thời gian đáp ứng trung bình ở mức 30 - 40ms tốt hơn so với FusionPBX trung bình ở mức 60 - 70ms. Tuy nhiên, ở mức cao thì có một số cuộc gọi của FreePBX thời gian đáp ứng lên đến gần 700ms so với khoảng 350 của FusionPBX.
Kết luận: Với các kết quả đạt được theo thống kê ở trên, có thể kết quả kiểm thử chưa chính xác hoàn toàn do phụ thuộc vào nhiều yếu tố (môi trường kiểm thử, cấu hình kiểm thử...). Tuy nhiên, tôi có thể kết luận rằng hai tổng đài này đều phù hợp cho giải pháp ban đầu của tôi đưa ra. Để lựa chọn một trong hai tổng đài tiếp tục thực hiện các bước tiếp theo, tôi chọn tổng đài FreePBX do có thời gian đáp ứng trung bình và cuộc gọi không thành công ít hơn so với tổng đài FusionPBX.
55