« Home « Kết quả tìm kiếm

Một số thực nghiệm để xác định tải cho ứng dụng thi trực tuyến trên Moodle


Tóm tắt Xem thử

- Moodle Quiz là một môđun của hệ thống quản lý học tập trực tuyến mã nguồn mở Moodle.
- Tuy nhiên khi số lượng người tham gia thi đồng thời lớn, hệ thống triển khai Moodle Quiz thường dễ rơi vào tình trạng quá tải, người tham gia thi không thể thực hiện được bài thi của mình, ảnh hưởng nghiêm trọng đến kỳ thi.
- Bài báo này trình bày kết quả nghiên cứu về việc xác định mối quan hệ giữa tải sinh ra tương ứng với một số lượng người dùng tham gia thi trực tuyến trên Moodle.
- phí khi triển khai hình thức thi trắc nghiệm khách quan, nhiều phần mềm [3] đã được xây dựng để giúp giảng viên thực hiện các thao tác như biên soạn câu hỏi, xây dựng ngân hàng câu hỏi, tạo đề, trộn đề tự động, cho người học thi trực tuyến bằng máy tính nối mạng và tự chấm điểm bài thi,… Bên cạnh các phần mềm kể trên, Moodle [4] là một hệ thống quản lý học tập trực tuyến nguồn mở được sử dụng phổ biến nhất hiện nay.
- Hệ thống này giúp giảng viên có thể tổ chức một cách dễ dàng nhiều đợt đánh giá cho một học phần, góp phần tăng chất lượng giảng dạy.
- Tuy nhiên với hệ thống hiện tại khi số lượng sinh viên tham gia thi đồng thời lớn (khoảng hơn 120 sinh viên) thì hệ thống bị quá tải, sinh viên không thể truy cập vào hệ thống để nhận bài thi và làm bài..
- Với mong muốn triển hệ thống Moodle Quiz có thể phục vụ được một lượng lớn sinh viên, nhiều câu hỏi cần phải được trả lời, chẳng hạn “Hệ thống Moodle Quiz đang triển khai có đảm bảo được N thí sinh tham gia thi đồng thời hay không.
- “Hệ thống Moodle hiện tại cho phép tối đa bao nhiêu thí sinh có thể tham gia thi đồng thời một cách an toàn.
- Kết quả thực nghiệm xác định mối quan hệ giữa tải và số lượng người dùng thi trực tuyến trên Moodle Quiz trong trường hợp người dùng thật và người.
- Theo [7] tải (Workload hay load) của một hệ thống/ứng dụng được xác định bởi số lượng và bản chất của các yêu cầu gửi đến hệ thống/ứng dụng..
- Số lượng yêu cầu gửi đến một hệ thống trong một đơn vị thời gian được gọi là mật độ tải (Intensity of load).
- Khi mật độ tải tăng, hiệu năng của hệ thống có xu hướng giảm.
- Hiệu năng của hệ thống còn phụ thuộc vào bản chất của yêu cầu (nature of request).
- Những yêu cầu như chỉ lấy một trang web thì thường ít làm ảnh hưởng đến hiệu năng của hệ thống so với một yêu cầu như truy cập dữ liệu hay một yêu cầu có tính toán phức tạp..
- Để kiểm soát được hiệu năng của một hệ thống/ứng dụng thì cần thiết phải đo được lượng tải mà hệ thống/ứng dụng đang chịu đựng.
- Thước đo tải là lượng có thể đo được để ghi nhận chính xác những gì chúng ta muốn đo hệ thống..
- Người ta có thể chia thước đo tải thành 2 nhóm: Thước đo tải xây dựng dựa trên sự trải nghiệm của người dùng và thước đo tải dựa trên mức độ sử dụng tài nguyên của hệ thống..
- Thước đo tải xây dựng dựa trên sự trải nghiệm của người dùng có thể dùng các đại lượng như thông lượng của hệ thống (throughput) (số lượng tác vụ hoàn thành trong một đơn vị thời gian, số lượng người dùng đã được phục vụ trong một đơn vị thời gian.
- Thước đo tải dựa trên mức độ sử dụng tài nguyên của hệ thống chủ yếu dựa vào mức độ sử dụng tài nguyên (computational resources), ví dụ như mức độ sử dụng CPU, RAM, băng thông mạng, số lượng nối kết đến máy chủ,… Trong trường hợp này, một thước đo có thể gồm một bộ nhiều giá trị.
- Ước lượng tải nhằm để xác định trạng thái tải của một hệ thống/ứng dụng.
- Thông thường một hệ thống sẽ có những trạng thái tải như tải bình thường (normal), rãnh rỗi (idle) và quá tải (overloaded) [8].
- Để ước lượng tải công việc đầu tiên là phải xác định thước đo tải cho hệ thống, sau đó tiến hành đo giá trị tải hiện tại của hệ thống/ứng.
- Hai giá trị ngưỡng thấp và ngưỡng cao phải được xác định để biết được với giá trị tải hiện tại thì hệ thống đang ở trạng thái tải nào.
- Như Hình 1, nếu giá trị tải hiện hành dưới ngưỡng thấp thì hệ thống đang ở trạng tái nhàn rỗi.
- Nếu giá trị tải hiện hành của hệ thống nằm giữa ngưỡng thấp và ngưỡng cao thì hệ thống đang ở trạng thái bình thường.
- Nếu giá trị tải hiện hành của hệ thống nằm trên ngưỡng cao thì hệ thống đang ở trong tình trạng quá tải..
- Hình 1: Ước lượng trạng thái tải của hệ thống.
- 3 TIẾP CẬN XÁC ĐỊNH MỐI QUAN HỆ GIỮA TẢI VÀ SỐ LƯỢNG NGƯỜI DÙNG SỬ DỤNG HỆ THỐNG.
- Các hành động của người dùng, ví dụ nhấp chuột vào một nút, tải một tập tin xuống,… là nguồn tạo ra tải cho hệ thống.
- Nhiều người sử dụng hệ thống sẽ tạo ra nhiều tải cho hệ thống và hệ thống có nguy cơ chuyển về trạng thái quá tải.
- Bên cạnh đó, tải của hệ thống còn phụ thuộc vào hạ tầng phần cứng triển khai hệ thống/ứng dụng.
- Ví dụ, xét hệ thống gồm 100 người sử dụng đồng thời, mỗi người dùng sẽ chiếm 1Mbyte bộ nhớ RAM..
- Hệ thống được triển khai trên hai máy chủ.
- Máy chủ thứ nhất có bộ nhớ RAM với dung lượng 200 Mbytes.
- Máy chủ thứ hai có dung lượng RAM là 400 Mbytes.
- Trong trường hợp này, trạng thái tải theo RAM của máy chủ thứ nhất là 50%, trạng thái máy chủ thứ hai là 25%.
- Ta nói máy chủ thứ hai đang nhẹ tải hơn máy chủ thứ nhất..
- Như vậy, để trả lời được câu hỏi “hệ thống Moodle Quiz đang triển khai có thể đảm bảo được N thí sinh tham gia thi đồng thời hay không.
- hoặc “Hệ thống Moodle hiện tại cho phép tối đa bao nhiêu thí sinh có thể tham gia thi đồng thời một cách an toàn.
- thước đo tải được chọn sẽ là mức độ sử dụng tài nguyên của hệ thống.
- Việc xác định mối quan hệ giữa tải và số lượng người sử dụng hệ thống thực chất là xác định mức độ sử dụng tài nguyên hệ thống tương ứng với một số lượng người dùng hệ thống đồng thời tại một thời điểm.
- Các tài nguyên được xem xét trong hệ thống này là Mức độ sử dụng CPU, mức độ sử dụng.
- RAM, mức độ sử dụng băng thông, số lượng nối kết đến dịch vụ web, số lượng nối kết đến hệ quản trị cơ sở dữ liệu..
- Ngoài ra do Moodle là một ứng dụng phân tán nên có thể triển khai Moodle trên một hoặc nhiều máy chủ vật lý khác nhau.
- Với mục tiêu hiểu rõ thành phần nào của Moodle dễ bị quá tải, Moodle sẽ được triển khai theo cấu hình gồm 3 máy chủ: máy chủ ứng dụng thực thi mã nguồn Moodle, máy chủ cơ sở dữ liệu MySQL và máy chủ chứng thực LDAP..
- 4 MÔI TRƯỜNG THỰC NGHIỆM XÁC ĐỊNH MỐI QUAN HỆ GIỮA TẢI VÀ SỐ LƯỢNG NGƯỜI THAM GIA THI TRỰC TUYẾN TRÊN MOODLE.
- Như đã trình bày ở phần trước, xác định mối quan hệ giữa tải và số lượng người sử dụng hệ thống thực chất là xác định mức độ sử dụng tài nguyên hệ thống tương ứng với một số lượng người dùng hệ thống đồng thời tại một thời điểm..
- Chúng tôi tiến hành thực nghiệm để thu thập mức độ sử dụng tài nguyên của Moodle quiz tương ứng với các đợt thi mà số lượng người tham thi trực tuyến tăng dần 20 người cho mỗi đợt.
- Số liệu của các đợt sẽ được nghiên cứu để rút ra quy luật về mối quan hệ giữa tải và số lượng người tham gia thi trực tuyến.
- Hệ thống Moodle dùng để thực nghiệm được triển khai trên một hạ tầng gồm 03 máy chủ như mô tả ở Hình 2.
- Ngoài ra còn có một máy chủ để cài đặt Nagios làm nơi lưu trữ dữ liệu về tải thu được từ các máy chủ.
- Máy chủ ứng dụng và máy chủ cơ sở dữ liệu có RAM dung lượng 4GB.
- Máy chủ chứng thực và máy chủ Nagios có RAM chỉ 2GB.
- Phần mềm Version sử dụng Linux Operating.
- Sau khi tiến hành thi xong, dữ liệu về tải của ba máy chủ sẽ được lưu lại trong cơ sở dữ liệu của Nagios.
- Sử dụng phần mềm Nagios Graph có thể xem lại các giá trị tải trong suốt thời gian thi trực tuyến.
- Dưới đây là một số hình ảnh các giá trị tải tạo ra từ đợt kiểm tra trên máy chủ ứng dụng Moodle..
- Hình 3: Mức độ sử dụng RAM của máy chủ Moodle.
- Hình 4: Mức độ sử dụng CPU của máy chủ Moodle.
- Hình 5: Số bytes yêu cầu gửi đến Apache của máy chủ Moodle Các biểu đồ ở các Hình 3, 4 và 5 cho thấy rằng.
- các đại lượng như Lượng RAM được sử dụng, Mức độ sử dụng CPU và Mức độ sử dụng đường truyền mạng trên máy chủ Moodle có sự biến thiên lớn khi người dùng thực hiện các tác vụ thi trực tuyến.
- Tải của hệ thống tăng lên ở những thao tác như người dùng Đăng nhập vào hệ thống Moodle, người dùng nhập mật khẩu để mở đề thi và khi hết thời gian làm bài người dùng đồng loạt nộp bài thi hoặc hệ thống tự động thu bài..
- Đối với máy chủ cơ sở dữ liệu, thực nghiệm cho thấy rằng mức độ sử dụng RAM trên máy chủ cơ sở dữ liệu không thay đổi khi có sự tham gia người dùng thi trực tuyến.
- Ngược lại mức độ sử dụng CPU, mức độ sử dụng đường truyền và số lượng nối kết có sự thay đổi mạnh khi người dùng tham gia thi trực tuyến.
- Các đại lượng này sẽ tăng lên ở những thao tác như người dùng Đăng nhập vào hệ thống Moodle, người dùng nhập mật khẩu để mở đề thi và khi hết thời gian làm bài người dùng đồng loạt nộp bài thi hoặc hệ thống tự động thu bài.
- Đối với máy chủ LDAP, mức độ sử dụng CPU, RAM hầu như không thay đổi chỉ có băng thông tạo ra từ LDAP thay đổi khi có người dùng tham gia thi trực tuyến, các đại lượng tải khác hầu như không thay đổi..
- Mặc dù, việc sử dụng người thật trong kiểm thử tải cho hệ thống thường cho lòng tin cao về tính chính xác của tải tạo ra.
- Tuy nhiên sử dụng người thật để tạo ra tải cho hệ thống thường gặp những khó khăn như: rất khó huy động một lượng lớn người tham gia thử nghiệm.
- tốn kém và khó thử nghiệm cho nhiều kịch bản khác nhau: số lượng người tham gia khác nhau, đề thi khác nhau, hoặc lặp lại cùng một kịch bản nhiều lần để lấy giá trị quân bình,… Từ những khó khăn trên, phần mềm Jmetter đã được sử dụng để giả lập người dùng thi trực tuyến trên hệ thống Moodle..
- cho đến khi hệ thống không còn khả năng đáp ứng được.
- Các số liệu về tải của hệ thống trong từng kịch bản sẽ được lên các đồ thị hai chiều để tìm ra mối quan hệ giữa một đại lượng ước lượng tải với số lượng người dùng tham gia thi trực tuyến nhằm rút ra những quy luật về mối quan hệ giữa tải và số lượng người dùng tham gia thi.
- Phần này sẽ trình bày các mối quan hệ giữa các đại lượng ước lượng tải có biến động theo số lượng người tham gia thi trực tuyến..
- 6.1 Mối quan hệ giữa mức độ sử dụng RAM và số lượng người tham gia thi trực tuyến trên máy chủ Moodle.
- Biểu đồ ở Hình 6 cho thấy rằng mức độ sử dụng RAM trên máy chủ Moodle có quan hệ tuyến tính với số lượng sinh viên tham gia thi trực tuyến..
- Hình 6: Mối quan hệ giữa RAM và số lượng người thi trực tuyến trên máy chủ Moodle 6.2 Mối quan hệ giữa mức độ sử dụng CPU.
- và số lượng người tham gia thi trực tuyến Theo biểu đồ ở Hình 7, mức độ sử dụng CPU trên máy chủ Moodle và máy chủ cơ sở dữ liệu có.
- quan hệ tuyến tính với số lượng sinh viên tham gia thi trực tuyến.
- Trung bình cứ mỗi 20 user mức độ sử dụng CPU trên Moodle sẽ tăng lên 4% và mức độ sử dụng CPU trên máy chủ cơ sở dữ liệu sẽ tăng lên 3.5%..
- Hình 7: Mối quan hệ giữa mức độ sử dụng CPU và số lượng người thi trực tuyến trên máy chủ Moodle và máy chủ cơ sở dữ liệu.
- 6.3 Mối quan hệ giữa băng thông và số lượng người tham gia thi trực tuyến.
- Mối quan hệ giữa băng thông trên cả ba máy chủ với số lượng người dùng thi trực tuyến được mô tả như Hình 8.
- Theo biểu đồ trên ta thấy rằng băng thông mạng tạo ra trên ba máy chủ có quan hệ tuyến tính với số lượng sinh viên tham gia thi trực.
- Trong đó, máy chủ Moodle chiếm đường truyền cao nhất, gần gấp đôi so với máy chủ cơ sở dữ liệu, riêng máy chủ LDAP chiếm một lượng rất nhỏ đường truyền.
- Trung bình cứ mỗi 20 user thì máy chủ Moodle tạo ra thêm 215Kb, máy chủ cơ sở dữ liệu sẽ tạo ra thêm 140Kb và máy chủ LDAP chỉ tạo ra 2,3Kb..
- Hình 8: Mối quan hệ giữa băng thông và số lượng người thi trực tuyến trên máy chủ Moodle và máy chủ cơ sở dữ liệu.
- 6.4 Mối quan hệ giữa số lượng nối kết trên máy chủ cơ sở dữ liệu và số lượng người tham gia thi trực tuyến.
- đến máy chủ cơ sở dữ liệu và số lượng sinh viên tham gia thi trực tuyến có quan hệ tuyến tính..
- Hình 9: Mối quan hệ giữa số lượng nối kết của máy chủ cơ sở dữ liệu với số lượng người tham gia thi trực tuyến.
- Thông qua so sánh giá trị biến đổi tải trong quá trình thi thử cũng như chạy giả lập bằng Jmeter có thể nhận thấy được mức độ tiêu thụ tài nguyên của 3 máy chủ theo số lượng người tham gia thi trực tuyến.
- Máy chủ Moodle tiêu thụ rất nhiều RAM, trung bình 35MB cho mỗi người dùng.
- CPU của máy chủ LDAP hầu như không tiêu tốn cho quá trình thi.
- Máy chủ Moodle sử dụng CPU xấp xỉ gấp đôi so với máy chủ cơ sở dữ liệu.
- giá trị tiêu thụ CPU của máy chủ cơ sở dữ liệu (xấp xỉ 30.
- đồng thời với mỗi user thì máy chủ Moodle tăng khoảng 0.4% CPU và máy chủ cơ sở dữ liệu tăng khoảng 0.3% giá trị CPU.
- Băng thông sử dụng bởi cả 3 máy chủ đều tăng theo số lượng user.
- Theo đó cứ mỗi user tăng lên thì băng thông máy chủ Moodle tăng thêm khoảng 10.75Kb, máy chủ cơ sở dữ liệu tăng thêm 7Kb và máy chủ LDAP tăng lên khoảng 0.115Kb.
- Như vậy, để triển khai máy chủ cho quá trình thi trực tuyến cần đầu tư máy chủ Moodle nhiều về RAM cũng như khả năng xử lý CPU phải gấp đôi so với máy chủ cơ sở dữ liệu.
- Máy chủ LDAP chỉ cần thiết lập cơ chế an toàn bảo mật cao mà không cần đầu tư nhiều về cấu hình.
- Với cấu hình phần cứng cũng như phần mềm đã đưa ra thì hệ thống có thể đáp ứng nhu cầu cho khoảng 120 sinh viên thực hiện thi trực tuyến.
- mà máy chủ vẫn hoạt động với đề thi thử nghiệm là 20 câu