0
Tải bản đầy đủ (.pdf) (68 trang)

Thời gian trung bình duyệt mỗi trang

Một phần của tài liệu KIỂM THỬ HIỆU NĂNG DỊCH VỤ PHẦN MỀM QUẢN LÝ TRƯỜNG HỌC (Trang 43 -43 )

Theo thống kê của Google Analytics về thời gian trung bình người dùng duyệt một trang:

Hình 3.7: Thông tin thời gian trung bình duyệt trên từng trang.

Từ thống kê của Google Analytics về thời gian trung bình (Avg.Time on page) của mỗi trang như trong Hình 3.7 chúng ta có thể sử dụng thời gian này là thời gian nghĩ (think time) của người dùng trên từng trang. Thời gian nghĩ (think time) sẽ được sủ dụng để cài đặt thời gian nghĩ trong các kịch bản kiểm thử hiệu năng.

Trong giới hạn luận văn chỉ thông kê thời gian nghĩ của một vài trang được sử dụng thường xuyên. Thông tin về thời gian nghĩ này sẽ được cài đặt trong kịch bản kiểm thử để đảm bảo tạo được kịch bản kiểm thử mô phỏng người sử dụng ảo như trong thực tế.

Bảng 3.1: Thời gian nghĩ (think time) trên các trang

Thời gian nghĩ trên các trang (think time)

Đƣờng dẫn đến trang Thời gian nghĩ (Think time) (giây)

/login/ 34

/school/ 39

/school/classes 51

/school/report 37

/school/count1/number_id/number_id 90

/school/markTable/number_id1/number_id2 90 3.4 Môi trƣờng kiểm thử

Kiểm thử thử nghiệm được thực hiện với mảy chủ ảo ở trang web http://cntt.dyndns.info:8851 với cấu hình máy chủ web và cơ sở dữ liệu trên cùng một máy như sau:

Bảng 3.2: Cấu hình máy chủ triển khai trang web và máy chủ dữ liệu

Cấu hình máy chủ Phần cứng (Hardware) Phần mềm (Software) Model Number of CPUs CPU speed (MHZ) Memor y HDD capacity

Chip set Operation System Oracl e AS QEMU Virtual CPU version 0.12.3 6 2.6 Ghz DDRA M 3Gb GenuineIn tel 3.5 Kịch bản kiểm thử

Theo lý thuyết chọn kịch bản cho kiểm thử hiệu năng được trình bầy trong Chương 2 thì chúng ta chỉ nên kiểm thử hiệu năng cho các chức năng được sử dụng nhiều nhất. Số lượng chức năng kiểm thử chỉ chiếm 20% trong tổng số chức năng của hệ thống. Các luồng chức năng được nhiều người sử dụng nhất khi sử dụng trang web quản lý trường học được trình bầy chi tiết trong mục 3.3.2. Trong phần áp dụng thử nghiệm này tôi chọn 2 luồng chức năng chính để thực hiện kiểm thử tải cho trang web quản lý trường học là: NHẬP ĐIỂM, BÁO CÁO.

Bảng 3.3: Miêu tả kịch bản kiểm thử

# Tên kịch bản Các bƣớc trong kịch bản Miêu tả

1 Giáo viên nhập điểm cho học sinh cho một môn học

(NHẬP ĐIỂM)

Đăng nhập vào hệ thống Đăng nhập thành công Chọn lớp học cần nhập điểm Chọn thành công được một

lớp cần nhập điểm

Chọn môn cần nhập điểm Chọn thành công môn cần nhập điểm

Nhập thông tin điểm cho từng học sinh

Lần lượt nhập các điểm cho từng học sinh

Lưu thông tin điểm đã nhập Lưu thông tin điểm thành công Thoát khỏi hệ thống Thoát khỏi hệ thống thành

công 2 Giáo viên/ Hiệu

trưởng/Sở giáo dục và đào tạo xuất báo cáo (BÁO CÁO)

Đăng nhập vào hệ thống Đăng nhập thành công Vào chức năng báo cáo Chọn thành công được một

lớp cần nhập điểm Chọn loại báo cáo: thống kê

điểm cuối kỳ

Chọn thành công thống kê điểm cuối kỳ

Chọn môn cần xuất ra báo cáo Chọn thành công môn cần nhập điểm

Xuất ra báo cáo ra file Excel Lần lượt nhập các loại điểm cho từng học sinh

Thoát khỏi hệ thống Thoát khỏi hệ thống thành công

3.6 Chiến lƣợc kiểm thử

Trong giới hạn luận văn này tôi chỉ thực hiện kiểm thử tải cho phần mềm quản lý trường học được xây dựng trên nền web (truongnha.com). Vì là áp dụng thực nghiệm nên tôi chọn ra 2 kịch bản tiêu biểu và thực hiện kiểm thử hiệu năng của hệ thống trong 2 mức tải là 50 và 100 người sử dụng đồng thời.

Bảng 3.4: Số lượng người kiểm thử trong kịch bản

Kịch bản kiểm thử Ngƣời sử dụng Thời gian tải ổn định

NHẬP ĐIỂM/BÁO CÁO 1

NHẬP ĐIỂM/BÁO CÁO 50 30 phút

NHẬP ĐIỂM/BÁO CÁO 100 30 phút

3.7 Tạo và cài đặt kịch bản kiểm thử sử dụng phần mềm Jmeter

Sử dụng phần mềm mã nguồn mở Jmeter để ghi lại các luồng chức năng cho 2 kịch bản: NHẬP ĐIỂM, BÁO CÁO trên trình duyệt IE. Để sử dụng các chức năng của trang web quản lý trường học người dùng phải có một tài khoản đăng nhập vào hệ thống. Khi người dùng vào trang đăng nhập (http://cntt.dyndns.info:8851/login/) thì máy chủ gửi lại cho máy khách một Cookie. Máy khách sẽ lưu trữ Cookie này và gửi lại máy chủ mỗi khi máy khách gửi một yêu cầu khác tới máy chủ. Giá trị Cookie do máy chủ sinh ra nên ta phải cài đặt tham số Cookie trong mỗi kịch bản để đảm bảo kịch bản chạy đúng.

Ngoài ra để đảm bảo kịch bản kiểm thử của ta mô phỏng người dùng ảo giống như trong thực tế chúng ta phải thực hiện cài đặt thời gian nghĩ (think time) cho từng yêu cầu máy khách gửi đến máy chủ. Thời gian nghĩ cho từng yêu cầu trong 2 kịch bản kiểm thử đã được phân tích và chỉ rõ trong Bảng 3.1.

Phần mềm Jmeter cung cấp một số biểu đồ và thông tin về thời gian phản hồi, thông lượng, lỗi của hệ thống (nếu có), v.v… để chúng ta có thể thấy kết quả kiểm thử một cách trực quan và cụ thể. Do Jmeter là phần mềm mã nguồn mở nên ngoài biểu đồ cơ bản (core) thì có một vài thư viện mở (plugin) cũng được phát triển và tích hợp vào Jmeter để cung cấp cho chúng ta nhiều dạng biểu đồ và thông tin để ta phân tích hiệu năng của hệ thống dưới nhiều góc nhìn khác nhau. Trong phần kiểm thử thực nghiệm này tôi cũng dùng thêm 1 thư viện mở rộng của Jmeter để thực hiện kiểm thử: JMeterPlugins-0.5.1.zip. Gói thư viện mở JMeterPlugins-0.5.1.zip cung cấp ta nhiều biểu đồ và thông tin. Trong phần trình bầy kết quả kiểm thử tôi có trình bầy một vài loại biểu đồ như: biểu đồ thời gian phản hồi, sử dụng CPU, số đĩa đọc/ghi, sử dụng bộ nhớ.

3.8 Kết quả kiểm thủ

Với kịch bản kiểm thử đã được ghi và cài đặt bằng phần mềm mã nguồn mở Jmeter chúng ta thực hiện kiểm thử. Trước khi thực hiện kiểm thử chúng ta có thể cài đặt một vài thông số cho kịch bản như: số người dùng ảo (thread), thời gian đạt hệ thống trong tải ổn định (luôn luôn có x người sử dụng hệ thống), khoảng thời gian x

người truy cập hệ thống (rum-up), v.v…Trong phần thực hiện kiểm thử tải thực nghiệm này tôi cũng lần lượt cài đặt các thông số này trong kịch bản kiểm thử rồi thực hiện kiểm thử tải. Dưới đây tôi chỉ ra các thông số được cài đặt trong kịch bản kiểm thử tải.

Hình 3.8: Cài đặt kịch bản kiểm thử.

Dựa vào Hình 3.8 chúng ta thấy số người dùng ảo được mô phỏng bởi phần mềm Jmeter là 50 người và thời gian đặt hệ thống trong tải ổn định 100 người sử dụng đồng thời là 1800 giây (30 phút).

Trong thực tế tôi thực hiện kiểm thử tải cho trang web với 2 mức tải là 50 và 100 người sử dụng đồng thời nhưng trong giới hạn luận văn khi trình bầy kết quả kiểm thử tôi chỉ trình bầy kết quả kiểm thử với mức tải 100 người sử dụng đồng thời. Trong phần tổng kết báo cáo kết quả tôi có thống kê kết quả kiểm thử với mức tải 50 người sử dụng đồng thời.

3.8.1Kịch bản kiểm thử NHẬP ĐIỂM

Hình 3.9: Kết quả kiểm thử cơ sở với kịch bản NHẬP ĐIỂM.

Dựa vào Hình 3.9 chúng ta thấy không có lỗi xảy ra khi thực hiện kiểm thử cơ sở. Như vậy kịch bản kiểm thử được tạo ra là chạy đúng khi mô phỏng 1 người dùng ảo.

Kết quả kiểm thử tải: với 100 ngƣời sử dụng

(1) Biểu đồ thời gian phản hồi và thông lượng

Dựa vào Hình 3.10 chúng ta thấy thời gian phản hồi trên từng trang khi hệ thống đặt trong tải ổn định 100 người dùng đồng thời với kịch bản NHẬP ĐIỂM

Hình 3.11: Thời gian phản hồi và thông lƣợng với kịch bản NHẬP ĐIỂM.

Dựa vào Hình 3.11 chúng ta sẽ thấy được thời gian phản hồi, thông lượng trung bình, lỗi (nếu có) của của hệ thống trên từng trang trong điều kiện tải 100 người sử dụng đồng thời.

Thu thập số liệu về 90% (line) thời gian phản hồi và thông lượng hệ thống trong điều kiện tải 100 người sử dụng đồng thời dựa theo Hình 3.10 và Hình 3.11.

Bảng 3.5: Kết quả kiểm thử cho 100 người dùng với kịch bản NHẬP ĐIỂM

Kết quả kiểm thử cho 100 ngƣời sử dụng đồng thời NHẬP

ĐIỂM

Trang /Yêu cầu Thời gian

phản hồi (90% line) (Response time) (msec) Thông lượng trung bình (throughput) (/min) Số lỗi Trang chủ(/) 274 34.5 0 (Không

Đăng nhập hoàn thành (/login/post)

733 17.4 có lỗi xảy ra )

Trang thông tin về trường (/school/)

269 17.4

Trang thông tin về lớp

(/school/viewClassDetail/254)

231 17.6

Trang vào điểm

(/school/markTable/41/254)

200 17.6

Trang điểm cho một môn học (/school/markTable/41/254/3415)

479 17.4

Lưu thông tin điểm (/school/saveMark)

76 7.9

Thoát khỏi hệ thống (/logout) 137 17.4

(2) Biểu đồ sử dụng CPU, đọc/ghi ổ đĩa và bộ nhớ trên máy chủ.

Hình 3.12: Sử dụng CPU trên máy chủ với kịch bản NHẬP ĐIỂM.

Dựa vào Hình 3.12 chúng ta thấy mô hình sử dụng CPU của hệ thống được đặt trong tải ổn định 100 người sử dụng đồng thời trong 30 phút. Trong thời gian tải ổn định mức độ sử dụng CPU máy chủ có những lúc lên đến trên 100% CPU. Mức độ sử dụng CPU trung bình trong khoảng từ 30% - 60% CPU.

Hình 3.13: Số đĩa đọc/ghi trên máy chủ với kịch bản NHẬP ĐIỂM.

Dựa vào Hình 3.13 chúng ta thấy mô hình sử dụng đĩa để đọc/ghi của hệ thống với điều kiện tải 100 người sử dụng đồng thời trong kịch bản NHẬP ĐIỂM. Trong thời gian tải ổn định số đĩa (number of disk access/sec) sử dụng lớn nhất là 14 đĩa/giây (disks/sec) cho việc đọc ghi, mức giao động trung bình trong khoảng từ 1 đĩa/giây đến 6 đĩa/giây.

Hình 3.14: Sử dụng bộ nhớ trên máy chủ với kịch bản NHẬP ĐIỂM.

Dựa vào Hình 3.14 chúng ta thấy mô hình sử dụng bộ nhớ của hệ thống trên máy chủ trong điều kiện tải 100 người sử dụng đồng thời. Trong thời gian tải ổn định hệ thống sử dụng tối đa là 3000MB bộ nhớ, mức giao động trung bình trong khoảng là: 2400MB - 3000MB.

3.8.2 Kịch bản kiểm thử Báo cáo

Hình 3.15: Kết quả kiểm thử cơ sở với kịch bản BÁO CÁO.

Dựa vào Hình 3.15 chúng ta thấy kết quả kiểm thử cơ sở là không có lỗi xảy ra. Như vậy đảm bảo kịch bản không có lỗi khi mô phỏng 1 người sử dụng ảo.

Kết quả kiểm thử với 100 ngƣời sử dụng đồng thời

(1) Biểu đồ thời gian phản hồi và thông lượng:

Dựa vào Hình 3.16 chúng ta thấy thời gian phản hồi từng trang trong thời gian tải ổn định 100 người sử dụng đồng thời.

Hình 3.17: Thông lượng và thời gian phản hồi với kịch bản BÁO CÁO.

Dựa vào Hình 3.17 chúng ta sẽ thấy được thời gian phản hồi và thông lượng trung bình của của hệ thống trên từng trang trong điều kiện tải 100 người sử dụng đồng thời.

Thu thập số liệu về thời gian phản hồi và thông lượng hệ thống trong điều kiện tải 100 người sử dụng đồng thời dựa theo Hình 3.16 và Hình 3.17 cho kịch bản BÁO CÁO.

Bảng 3.6: Kết quả kiểm thử cho 100 người dùng với kịch bản BÁO CÁO

Kết quả kiểm thử cho 100 ngƣời dùng đồng thời BÁO

CÁO

Trang /Yêu cầu Thời gian

phàn hồi (90% line) (Response time) (msec) Thông lượng trung bình (throughput) (/min) Số lỗi Trang chủ (/) 322 48.8 0 (Không có lỗi xảy ra )

Trang đăng nhập (/login_get) 223 24.8

Trang thông tin về trường (/school/) 347 25

Trang chọn loại báo cáo(/school/report/)

231 25.5

Chọn thông tin học kỳ và môn học(school/count2/2/1)

207 24.7

Xem thông tin báo cáo (/school/count2/2/1/14/2/2)

859 24.6

Xuất ra báo cáo ra tập tin excel 24.6 24.6

Thoát khỏi hệ thống (/logout/) 196 24.6

(2) Biểu đồ mức sử dụng CPU, đĩa đọc/ghi (disk I/O) và bộ nhớ máy chủ

Hình 3.18: Sử dụng CPU trên máy chủ với kịch bản BÁO CÁO.

Dựa vào Hình 3.18 chúng ta thấy mô hình sử dụng CPU của hệ thống trên máy chủ với điều kiện tải 100 người sử dụng đồng thời trong kịch bản BÁO CÁO. Trong thời gian tải ổn định mức sử dụng CPU lớn nhất là 100% CPU, mức giao động trung bình trong khoảng từ 40% CPU đến 80% CPU.

Hình 3.19: Sử dụng bộ nhớ trên máy chủ với kịch bản BÁO CÁO.

Dựa vào Hình 3.19 chúng ta thấy mô hình sử dụng bộ nhớ của hệ thống trên máy chủ với điều kiện tải 100 người sử dụng đồng thời trong kịch bản BÁO CÁO. Trong thời gian tải ổn định mức sử dụng bộ nhớ lớn nhất là 3100MB, mức giao động trung bình trong khoảng từ 2100 MB đến 2600MB.

Hình 3.20: Số đĩa đọc/ghi với kịch bản BÁO CÁO.

Dựa vào Hình 3.20 chúng ta thấy mô hình sử dụng ổ đĩa đọc/ghi của hệ thống trên máy chủ với điều kiện tải 100 người sử dụng đồng thời trong kịch bản BÁO CÁO. Trong thời gian tải ổn định số đĩa (number of disk access/sec) sử dụng để đọc/ghi lớn nhất là 36 đĩa/giây, mức giao động trung bình trong khoảng từ 4 đĩa/giây đến 12 đĩa/giây.

3.9 Phân tích kết quả kiểm thử

Trong phần áp dụng kiểm thử hiệu năng thử nghiệm này tôi đã hoàn thành việc kiểm thử tải cho hệ thống với 2 mức tải là 50 và 100 người sử dụng đồng thời. Trong trình bầy kết quả kiểm thử ở mục 3.8 tôi không trình bầy kết quả kiểm thử với mức tải 50 người sử dụng đồng thời. Nhưng tôi cũng đã thực hiện kiểm thử mức tải này cho hệ

thống trong thực tế. Trong phần báo cáo này tôi thống kê các kết quả kiểm thử tải cho hệ thống với 2 mức tải là 50 và 100 người sử dụng đồng thời.

3.9.1Thời gian phản hồi

Bảng 3.7: So sánh 90% thời gian phản hồi trong các kịch bản kiểm thử

Bảng 90% thời gian phản hồi trong từng kịch bản kiểm thử (ms)

Tên kịch bản

Trang 1 Người 50 Người 100

Người

NHẬP ĐIỂM

Trang chủ (/home) 335 240 274

Trang đăng nhập (/login_get) 147 168 138

Đăng nhập hoàn thành (/login/post) 529 649 733

Trang thông tin về trường (/school/)

468 293 269

Trang thông tin về trường (/school/viewClassDetail/254)

140 281 231

Trang vào điểm

(/school/markTable/41/254)

368 195 200

Trang điểm cho một môn học (/school/markTable/41/254/3415)

366 415 479

Lưu thông tin điểm (/school/saveMark)

75 92 76

Thoát khỏi hệ thống (/logout) 92 134 137 BÁO

CÁO

Trang chủ (/home) 215 229 322

Trang đăng nhập (/login_get) 352 132 223

Đăng nhập hoàn thành (/login/post) 539 632 832

Trang thông tin về trường (/school/)

258 266 347

Trang chọn loại báo cáo (/school/report/)

Chọn thông tin học kỳ và môn học (school/count2/2/1)

195 147 207

Xem thông tin báo cáo (/school/count2/2/1/14/2/2)

865 704 859

Xuất ra báo cáo ra tập tin excel 541 582 667

Thoát khỏi hệ thống 96 128 196

Dựa vào Bảng 3.7 chúng ta thấy sự khác nhau thời gian phản hồi ở các mức tải khác nhau trong kịch bản kiểm thử NHẬP ĐIỂM và BÁO CÁO.

Hình 3.21: So sánh 90% thời gian phản hồi kịch bản kiểm thử NHẬP ĐIỂM.

Dựa vào Hình 3.21 chúng ta thấy một cách rất trực quan sự khác nhau thời gian phản hồi với các mức tải khác nhau trong kịch bản NHẬP ĐIỂM.

Hình 3.22: So sánh 90% thời gian phản hồi kịch bản kiểm thử BÁO CÁO.

Dựa vào Hình 3.22 chúng ta thấy một cách rất trực quan sự khác nhau thời gian phản hồi với các mức tải khác nhau trong kịch bản BÁO CÁO.

3.9.2 Sử dụng CPU trên máy chủ

Hình 3.23: So sánh sử dụng CPU trong kịch bản BÁO CÁO & NHẬP ĐIỂM.

Dựa vào Hình 3.23 ta thấy với cùng mức tải 100 người sử dụng đồng thời nhưng mức sử dụng CPU trên máy chủ với kịch bản kiểm thử BÁO CÁO lớn hơn với kịch bản NHẬP ĐIỂM.

Bảng 3.8: So sánh mức sử dụng CPU với kịch bản NHẬP ĐIỂM & BÁO CÁO

So sánh mức sử dụng CPU trên máy chủ

Mức sử dụng CPU Kịch bản NHẬP ĐIỂM Kịch bản BÁO CÁO

Lớn nhất 100% CPU 100% CPU

Hình 3.24: Sử dụng CPU với tải 50 và 100 người dùng với kịch bản BÁO CÁO.

Một phần của tài liệu KIỂM THỬ HIỆU NĂNG DỊCH VỤ PHẦN MỀM QUẢN LÝ TRƯỜNG HỌC (Trang 43 -43 )

×