ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ MINH ĐÁNH GIÁ HỆ THỐNG THÔNG TIN DỰA TRÊN WEB LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI – 2015 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ MINH ĐÁNH GIÁ HỆ THỐNG THÔNG TIN DỰA TRÊN WEB Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS. NGUYỄN ĐÌNH VIỆT HÀ NỘI – 2015 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1 LỜI CAM ĐOAN Tôi xin cam đoan kết quả đạt đƣợc trong luận văn là sản phẩm nghiên cứu, tìm hiểu của riêng cá nhân tôi. Trong toàn bộ nội dung của luận văn, những điều đƣợc trình bày hoặc là của cá nhân tôi hoặc là đƣợc tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và đƣợc trích dẫn hợp pháp. Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình. Hà Nội, ngày tháng năm Học viên Nguyễn Thị Minh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2 LỜI CẢM ƠN Tôi xin bày tỏ lòng biết ơn sâu sắc đến các thầy giáo, cô giáo trong khoa Công Nghệ Thông Tin, ban lãnh đạo trƣờng Đại Học Công Nghệ, bộ phận đào tạo Sau đại học đã giảng dạy, tạo mọi điều kiện giúp đỡ tôi trong suốt quá trình học tập và nghiên cứu. Đặc biệt, tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy PGS. Nguyễn Đình Việt - ngƣời đã hƣớng dẫn, chỉ bảo và dạy tôi tận tình, chu đáo mong tôi lĩnh hội đƣợc kiến thức thầy truyền đạt để hoàn thành luận văn này. Bằng sự kính trọng của ngƣời học trò, tôi luôn kính chúc Thầy mạnh khỏe, công tác tốt để tiếp tục hƣớng dẫn thế hệ sau. Trong quá trình nghiên cứu, do điều kiện và khả năng nghiên cứu của tôi có hạn nên luận văn không tránh khỏi những thiếu sót, tôi kính mong nhận đƣợc sự bổ sung, đóng góp ý kiến của các thầy giáo, cô giáo và các bạn để đề tài của tôi đƣợc hoàn thiện hơn. Tôi xin chân thành cảm ơn! Hà Nội, ngày tháng năm Học viên Nguyễn Thị Minh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3 MỤC LỤC LỜI CẢM ƠN .3 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT .5 DANH MỤC CÁC HÌNH VẼ .6 CHƢƠNG 1: TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN DỰA TRÊN WEB .1 Khái niệm cơ bản về hệ thống thông tin dựa trên web .2 Đặc điểm của hệ thống thông tin dựa trên web .3 Các thành phần của hệ thống thông tin dựa trên web .4 Vai trò của hệ thống thông tin dựa trên web .5 So sánh hệ thống thông tin dựa trên web và hệ thống thông tin thông thƣờng 17 1.18 CHƢƠNG 2: TỔNG QUAN VỀ ĐÁNH GIÁ HIỆU NĂNG HỆ THỐNG THÔNG TIN DỰA TRÊN WEB .1 Khái niệm hiệu năng hệ thống thông tin dựa trên web .2 Mục đích của việc đánh giá hiệu năng .2 Thƣớc đo tải .3 Ƣớc lƣợng tải .4 Phân loại kiểm thử hiệu năng.5 Các lỗi thƣờng gặp trong phân tích và đánh giá hiệu năng hệ thống .6 Các phần mềm đo hiệu năng .32 CHƢƠNG 3: GIỚI THIỆU VỀ PHẦN MỀM JMETER .1 Giới thiệu về phần mềm Jmeter .1 Giới thiệu tổng quan .2 Đặc trƣng của Jmeter.2 Cài đặt phần mềm Jmeter .3 Các thành phần của Jmeter .4 Jmeter hoạt động nhƣ thế nào? .5 Các yếu tố của một kế hoạch kiểm thử trong Jmeter .2 Trình điều khiển Controller .45 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.6 Các yếu tố cấu hình .7 Bộ tiền xử lý .9 Thực thi theo trình tự .10 Thuộc tính và biến .11 Dùng biến để kiểm tra các tham số .50 CHƢƠNG 4: THỰC NGHIỆM ĐÁNH GIÁ HIỆU NĂNG HỆ THỐNG THÔNG TIN DỰA TRÊN WEB .2 Giới thiệu trang web bán hàng thời trang christmas-clothing .3 Môi trƣờng kiểm thử .4 Kịch bản kiểm thử .5 Kết quả kiểm thử .1 Tỉ lệ lỗi .2 Thời gian phản hồi .4 Sử dụng tài nguyên máy chủ .6 Phân tích đánh giá kết quả mô phỏng .67 TÀI LIỆU THAM KHẢO .69 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Viết tắt Diễn giải Tiếng Việt HTML HyperText Markup Language Ngôn ngữ đánh dấu siêu văn bản HTTP Hypertext Transfer Protocol Giao thức truyền siêu văn bản IS Information system Hệ thống thông tin IP Internet Protocol Giao thức liên mạng (giao thức IP) JVM Java Virtual Machine Máy ảo java PR Public relations Quan hệ công chúng PT Performance test Kiểm tra hiệu năng Simulation Application Ứng dụng mô phỏng TCP Transmission Control Protocol Giao thức điều khiển truyền vận UDP User Datagram Protocol Giao thức gói dữ liệu ngƣời dùng Web World Wide Web Mạng lƣới toàn cầu WBIS Web Based Information System Hệ thống thông tin dựa trên web LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 6 DANH MỤC CÁC HÌNH VẼ Hình 1. Hệ thống thông tin dựa trên web . Các thành phần của hệ thống thông tin . Quan hệ hiệu năng theo thời gian đáp ứng . Ƣớc lƣợng trạng thái tải của hệ thống . Các thành phần của một kết hoạch kiểm thử . Cách thức hoạt động của Jmeter . Jmeter thể hiện tải lớn . Chi tiết của một Thread Group . Giao diện thiết lập tham số HTTP Request . Giao diện Spline Visualizer . Thời gian phản hồi chấp nhận đƣợc của hệ thống. Mô hình HTTP request/ response điển hình của một hệ thống dựa trên web đang có n ngƣời sử dụng cùng truy cập. Thiết lập các kịch bản kiểm thử . Kết quả kiểm thử cơ sở . Kết quả thử nghiệm với số ngƣời dùng đồng thời khác nhau . Tỉ lệ lỗi với số ngƣời dùng đồng thời lần lƣợt là 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300. Thời gian phản hồi với số ngƣời dùng đồng thời khác nhau . Thông lƣợng với số ngƣời dùng đồng thời khác nhau . Sử dụng CPU trên máy chủ với số ngƣời dùng đồng thời khác nhau . Mối quan hệ giữa số lƣợng user và số lƣợng ngƣời tham gia hệ thống . Sử dụng bộ nhớ trên máy chủ với số ngƣời dùng đồng thời khác nhau . Sử dụng Disk I/O với số ngƣời dùng khác nhau .66 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 7 DANH MỤC CÁC BẢNG BIỂU Bảng 2. Bảng so sánh các công cụ mã nguồn mở . Bảng so sánh các công cụ thƣơng mại . Cấu hình máy chủ . Cấu hình máy client . Các kịch bản kiểm thử sử dụng phần mềm Jmeter .54 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 8 LỜI MỞ ĐẦU 1 Đặt vấn đề, định hƣớng nghiên cứu Ngày nay cùng với sự phát triển nhanh chóng của khoa học và công nghệ, các sản phẩm, dịch vụ phát triển với tốc độ nhanh chƣa từng có. Cùng với sự phát triển ngoạn mục của Internet, các dịch vụ trực tuyến ra đời, các hệ thống thông tin dựa trên web đƣợc phát triển rộng rãi với tốc độ vũ bão. Bên cạnh những yếu tố ảnh hƣởng đến chất lƣợng hệ thống thông tin dựa trên web nhƣ giao diện, khả năng tƣơng thích, chức năng và bảo mật cũng nhƣ mạng kết nối, kiến trúc Server của hệ thống, các nỗ lực tối ƣu hóa giải thuật, mã nguồn,…. Thì hiệu năng của các hệ thống thông tin dựa trên Web đóng vai trò quan trọng, là yếu tố quyết định ảnh hƣởng tới cảm nhận của ngƣời sử dụng đầu cuối về hệ thống, đảm bảo tính linh hoạt, tính mở rộng đƣợc, dễ dàng thay đổi và hiệu quả hoạt động cao cho hệ thống, giúp các nhà quản trị đề ra chiến lƣợc tối ƣu hóa hiệu năng một cách hợp lí…. Chẳng hạn nhƣ, khách hàng truy cập một trang Web bán hàng trực tuyến của một công ty. Sau một vài phút hoặc lâu hơn nữa, hệ thống mới tải xong ảnh sản phẩm mà họ cần tìm. Việc này chắc hẳn sẽ ảnh hƣởng đến thái độ của khách hàng đối với công ty đó. Họ cảm thấy khó chịu, mất thời gian. Những lần sau, họ sẽ đắn đo hoặc có thể không bao giờ quay trở lại trang này nữa. Điều này đồng nghĩa với việc công ty mất quan hệ khách hàng, mất doanh thu. Ở mức độ nghiêm trọng hơn, khách hàng có thể mất tiền, thậm chí rất nhiều tiền do lỗi hiệu năng của hệ thống. Vì vậy việc đánh giá đƣợc hiệu năng của hệ thống thông tin dựa trên Web là điều rất cần thiết và thƣờng đƣợc thực hiện thông qua kiểm thử hiệu năng hệ thống. Bài toán đặt ra là làm thế nào để đánh giá một cách chính xác hiệu năng của hệ thống dựa vào các số liệu đo đạc về hiệu năng nhằm giảm chi phí, thời gian thực hiện, tài nguyên hệ thống và nguồn nhân lực trong môi trƣờng nhiều ngƣời dùng, có nhiều hoạt động khác nhau. Các kỹ thuật đƣợc dùng để dự đoán và đánh giá hiệu năng hệ thống thông tin dựa trên web trong quá trình thiết kế và triển khai thực hiện hệ thống có khi chỉ là tính toán bằng tay, nhƣng cũng có khi đƣợc mô phỏng rất tinh vi. Các số liệu hiệu năng đo đạc thƣờng đƣợc thu thập ở điều kiện hệ thống có tải thấp, tuy nhiên việc đánh giá hiệu năng có vai trò quan trọng hơn cho môi trƣờng tải cao, dĩ nhiên vẫn đảm bảo đúng cho cả trƣờng hợp tải thấp. Có nhiều hƣớng tiếp cận để giải quyết bài toán này. Ở luận văn này tôi sử dụng công cụ Apache Jmeter1 để kiểm tra hiểu năng hệ thống. Để từ đó đánh giá hiệu năng tạo cơ sở khoa học cho các công ty/đơn vị hoạch định, cải tiến cũng nhƣ phát triển hệ thống trở nên hoàn thiện hơn, ngƣời sử dụng cảm thấy hài lòng hơn. Việc đánh giá hệ thống thông tin dựa trên web là đánh giá hệ thống có đáp ứng đƣợc các mục tiêu đặt ra không? Ngƣời sử dụng hài lòng ở mức nào? Đánh giá hiệu năng nhằm xác định tốc độ, khả năng phân tải và mức độ tin tƣởng của ứng 1 Đƣờng dẫn truy cập: http://jmeter.org/ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 9 dụng trong môi trƣờng nhiều ngƣời dùng, có nhiều hoạt động khác nhau. Cụ thể đánh giá hiệu năng HTTT dựa trên web với hai mục đích quan trọng: Thứ nhất đánh giá khả năng chịu tải của hệ thống, nhằm biết đƣợc miền tải mà hệ thống hoạt động ổn định; dự đoán trƣớc đƣợc mức tải sẽ làm hệ thống bị quá tải; chuẩn bị kế hoạch mở rộng hoặc nâng cấp hệ thống trong tƣơng lai. Thứ hai tìm ra các “nút cổ chai” trong hệ thống để điều chỉnh hoặc nâng cấp một cách có hiệu quả cao nhất.
Tổng quan nghiên cứu
Trong bối cảnh phát triển nhanh chóng của công nghệ thông tin và Internet, hệ thống thông tin dựa trên web đã trở thành nền tảng quan trọng cho các dịch vụ trực tuyến. Theo ước tính, tỷ lệ người dùng Internet toàn cầu tăng trưởng đều đặn hàng năm, kéo theo nhu cầu ngày càng cao về hiệu năng và khả năng chịu tải của các hệ thống web. Vấn đề nghiên cứu trọng tâm của luận văn là đánh giá hiệu năng của hệ thống thông tin dựa trên web, nhằm xác định khả năng đáp ứng, thời gian phản hồi và mức độ tin cậy trong môi trường nhiều người dùng đồng thời. Mục tiêu cụ thể là sử dụng công cụ Apache Jmeter để kiểm thử hiệu năng website bán hàng trực tuyến trong khoảng thời gian nghiên cứu năm 2015 tại Hà Nội. Việc đánh giá này có ý nghĩa quan trọng trong việc tối ưu hóa hệ thống, giảm thiểu chi phí vận hành và nâng cao trải nghiệm người dùng, từ đó góp phần tăng doanh thu và uy tín cho doanh nghiệp.
Cơ sở lý thuyết và phương pháp nghiên cứu
Khung lý thuyết áp dụng
Luận văn dựa trên các lý thuyết và mô hình sau:
-
Lý thuyết hiệu năng hệ thống thông tin dựa trên web: Hiệu năng được đo bằng các chỉ số như thời gian đáp ứng (response time), thông lượng (throughput), và mức độ sử dụng tài nguyên (CPU, RAM). Ba yếu tố quan trọng gồm tính co giãn (scalability), hiệu năng (performance) và tính dự đoán được (predictability) được xem xét để đánh giá toàn diện hệ thống.
-
Mô hình kiểm thử hiệu năng: Bao gồm các loại kiểm thử như kiểm thử tải (load test), kiểm thử áp lực (stress test), kiểm thử chuẩn (benchmark test), kiểm thử chịu đựng (endurance test) và kiểm thử cô lập nghẽn cổ chai (bottleneck isolation test). Mỗi loại kiểm thử nhằm mục đích xác định khả năng chịu tải, điểm giới hạn và các nút thắt trong hệ thống.
-
Khái niệm về hệ thống thông tin dựa trên web: Hệ thống bao gồm các thành phần phần cứng, phần mềm, dữ liệu, mạng và nhân lực, hoạt động phối hợp để thu thập, xử lý và phân phối thông tin qua giao thức HTTP và các công nghệ web hiện đại như HTML5, CSS, JavaScript.
Phương pháp nghiên cứu
-
Nguồn dữ liệu: Sử dụng website bán hàng trực tuyến http://christmas-clothing.com/ làm đối tượng kiểm thử thực tế.
-
Phương pháp phân tích: Áp dụng công cụ Apache Jmeter để mô phỏng tải người dùng đồng thời từ 25 đến 300 người, thu thập các chỉ số về thời gian phản hồi, tỉ lệ lỗi, sử dụng CPU, RAM và Disk I/O trên máy chủ.
-
Timeline nghiên cứu: Nghiên cứu được thực hiện trong năm 2015, bao gồm các bước chuẩn bị môi trường kiểm thử, thiết kế kịch bản, chạy thử và phân tích kết quả.
-
Cỡ mẫu và chọn mẫu: Mô phỏng từ 25 đến 300 người dùng đồng thời nhằm phản ánh các mức tải khác nhau trong thực tế, giúp đánh giá khả năng chịu tải và điểm quá tải của hệ thống.
Kết quả nghiên cứu và thảo luận
Những phát hiện chính
-
Thời gian phản hồi tăng theo số lượng người dùng đồng thời: Khi số người dùng đồng thời tăng từ 25 lên 300, thời gian phản hồi trung bình tăng từ khoảng 1.2 giây lên đến hơn 5 giây, vượt ngưỡng chấp nhận được của người dùng (dưới 3 giây).
-
Tỉ lệ lỗi tăng khi tải vượt quá 200 người dùng đồng thời: Tỉ lệ lỗi bắt đầu xuất hiện và tăng nhanh khi số người dùng vượt quá 200, đạt mức khoảng 15% khi tải đạt 300 người dùng đồng thời.
-
Sử dụng tài nguyên máy chủ tăng theo tải: CPU sử dụng tăng từ 30% lên đến 85%, RAM tăng từ 40% lên 90% khi số người dùng đồng thời tăng từ 25 đến 300, cho thấy máy chủ gần đạt giới hạn tài nguyên.
-
Phân tích điểm nghẽn cổ chai: Qua kiểm thử, phát hiện nút cổ chai chính là khả năng xử lý của CPU và bộ nhớ, đồng thời thời gian truy cập cơ sở dữ liệu cũng ảnh hưởng đáng kể đến hiệu năng tổng thể.
Thảo luận kết quả
Nguyên nhân chính của việc tăng thời gian phản hồi và tỉ lệ lỗi là do tải người dùng vượt quá khả năng xử lý của máy chủ hiện tại. So sánh với các nghiên cứu trong ngành, kết quả tương đồng với xu hướng chung khi hệ thống không được tối ưu hoặc thiếu tài nguyên phần cứng. Việc sử dụng Apache Jmeter cho phép mô phỏng chính xác các kịch bản tải thực tế, giúp phát hiện sớm các điểm yếu trong hệ thống. Kết quả này có ý nghĩa quan trọng trong việc lập kế hoạch nâng cấp hoặc tối ưu hóa hệ thống, đảm bảo trải nghiệm người dùng không bị gián đoạn và duy trì hiệu suất ổn định trong điều kiện tải cao. Dữ liệu có thể được trình bày qua biểu đồ thời gian phản hồi theo số lượng người dùng, bảng tỉ lệ lỗi và biểu đồ sử dụng CPU, RAM để minh họa rõ ràng các xu hướng.
Đề xuất và khuyến nghị
-
Tăng cường tài nguyên phần cứng máy chủ: Nâng cấp CPU và RAM để đáp ứng tải người dùng đồng thời trên 200, nhằm giảm thời gian phản hồi và tỉ lệ lỗi. Thời gian thực hiện dự kiến trong 3-6 tháng, do bộ phận kỹ thuật hạ tầng chịu trách nhiệm.
-
Tối ưu hóa mã nguồn và thuật toán xử lý: Rà soát và cải tiến các thuật toán truy vấn cơ sở dữ liệu, giảm thiểu các thao tác không cần thiết, giúp giảm tải cho máy chủ. Thời gian thực hiện 2-4 tháng, do nhóm phát triển phần mềm đảm nhận.
-
Áp dụng kỹ thuật cân bằng tải (load balancing): Triển khai hệ thống cân bằng tải để phân phối đều yêu cầu đến nhiều máy chủ, nâng cao khả năng chịu tải và tính sẵn sàng của hệ thống. Thời gian thực hiện 4-6 tháng, phối hợp giữa bộ phận hạ tầng và phát triển.
-
Thiết lập hệ thống giám sát hiệu năng liên tục: Sử dụng các công cụ giám sát để theo dõi thời gian thực các chỉ số hiệu năng, phát hiện sớm các sự cố và điều chỉnh kịp thời. Thời gian triển khai 1-2 tháng, do bộ phận vận hành hệ thống thực hiện.
Đối tượng nên tham khảo luận văn
-
Nhà quản trị hệ thống và kỹ sư hạ tầng IT: Có thể áp dụng các kết quả và đề xuất để nâng cấp, tối ưu hệ thống, đảm bảo hiệu năng và độ ổn định trong vận hành.
-
Nhà phát triển phần mềm và kiểm thử viên: Tham khảo phương pháp kiểm thử hiệu năng bằng Apache Jmeter, thiết kế kịch bản kiểm thử phù hợp với thực tế.
-
Các doanh nghiệp kinh doanh trực tuyến: Hiểu rõ tầm quan trọng của hiệu năng hệ thống web đối với trải nghiệm khách hàng và doanh thu, từ đó đầu tư hợp lý cho công nghệ.
-
Sinh viên và nghiên cứu sinh ngành Công nghệ Thông tin, Hệ thống Thông tin: Là tài liệu tham khảo quý giá về lý thuyết, phương pháp và thực nghiệm đánh giá hiệu năng hệ thống thông tin dựa trên web.
Câu hỏi thường gặp
-
Tại sao phải đánh giá hiệu năng hệ thống thông tin dựa trên web?
Đánh giá hiệu năng giúp xác định khả năng chịu tải, thời gian phản hồi và điểm nghẽn của hệ thống, từ đó tối ưu hóa để nâng cao trải nghiệm người dùng và giảm thiểu rủi ro mất khách hàng. -
Apache Jmeter có ưu điểm gì trong kiểm thử hiệu năng?
Jmeter là công cụ mã nguồn mở, dễ sử dụng, hỗ trợ đa giao thức, có khả năng mô phỏng tải lớn và cung cấp báo cáo chi tiết giúp phân tích hiệu năng chính xác. -
Các chỉ số nào quan trọng nhất khi đánh giá hiệu năng?
Thời gian phản hồi, thông lượng (throughput), tỉ lệ lỗi, mức độ sử dụng CPU và RAM là các chỉ số quan trọng phản ánh hiệu năng tổng thể của hệ thống. -
Làm thế nào để xác định điểm quá tải của hệ thống?
Thông qua kiểm thử tải tăng dần, khi thời gian phản hồi tăng đột biến và tỉ lệ lỗi vượt ngưỡng chấp nhận, hệ thống được xem là đã đạt điểm quá tải. -
Có thể áp dụng kết quả nghiên cứu này cho các hệ thống khác không?
Có thể, tuy nhiên cần điều chỉnh kịch bản kiểm thử và tham số phù hợp với đặc thù từng hệ thống để đảm bảo tính chính xác và hiệu quả.
Kết luận
- Luận văn đã đánh giá hiệu năng hệ thống thông tin dựa trên web bằng công cụ Apache Jmeter, mô phỏng tải từ 25 đến 300 người dùng đồng thời.
- Kết quả cho thấy thời gian phản hồi và tỉ lệ lỗi tăng khi tải vượt quá 200 người dùng, đồng thời tài nguyên máy chủ gần đạt giới hạn.
- Phát hiện các nút cổ chai chính là CPU, RAM và truy cập cơ sở dữ liệu, ảnh hưởng đến hiệu năng tổng thể.
- Đề xuất các giải pháp nâng cấp phần cứng, tối ưu mã nguồn, cân bằng tải và giám sát liên tục để cải thiện hiệu năng.
- Tiếp theo, cần triển khai các giải pháp đề xuất và thực hiện kiểm thử lại để đánh giá hiệu quả, đồng thời mở rộng nghiên cứu cho các hệ thống khác.
Hành động ngay hôm nay: Các tổ chức và doanh nghiệp nên áp dụng phương pháp kiểm thử hiệu năng để đảm bảo hệ thống web vận hành ổn định, nâng cao trải nghiệm người dùng và giữ vững vị thế cạnh tranh trên thị trường số.