Nghiên cứu thử nghiệm đánh giá hiệu năng áp dụng trên phần mềm quản lý cơ sở dữ liệu các dân tộc thiểu số Việt Nam Nghiên cứu thử nghiệm đánh giá hiệu năng áp dụng trên phần mềm quản lý cơ sở dữ liệu các dân tộc thiểu số Việt Nam luận văn tốt nghiệp thạc sĩ
BỘ GIÁO DỤC VÀ ĐÀO TẠO LÊ VĂN HÙNG TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Lê Văn Hùng NGHIÊN CỨU THỬ NGHIỆM ĐÁNH GIÁ HIỆU NĂNG ÁP DỤNG TRÊN PHẦN MỀM QUẢN LÝ CƠ SỞ DỮ LIỆU CÔNG NGHỆ THÔNG TIN CÁC DÂN TỘC THIỂU SỐ VIỆT NAM LUẬN VĂN THẠC SĨ KỸ THUẬT CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN KHÓA 16A Hà Nội – 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Lê Văn Hùng NGHIÊN CỨU THỬ NGHIỆM ĐÁNH GIÁ HIỆU NĂNG ÁP DỤNG TRÊN PHẦN MỀM QUẢN LÝ CƠ SỞ DỮ LIỆU CÁC DÂN TỘC THIỂU SỐ VIỆT NAM LUẬN VĂN THẠC SĨ KỸ THUẬT CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS HUỲNH QUYẾT THẮNG Hà Nội – 2017 LỜI CÁM ƠN Trong trình học tập nghiên cứu để hồn thành đề tài luận văn thạc sĩ, bên cạnh nỗ lực thân cịn có hướng dẫn nhiệt tình q Thầy, Cơ, động viên, hỗ trợ gia đình đồng nghiệp suốt thời gian học tập nghiên cứu thực luận văn thạc sĩ Tôi xin chân thành gửi lời cảm ơn đến quý Thầy, Cô Trường Đại học Bách Khoa Hà Nội trang bị kiến thức, tạo môi trường điều kiện thuận lợi cho suốt trình học tập thực luận văn Với lịng kính trọng biết ơn, tơi xin bày tỏ lời cảm ơn sâu sắc đến PGS.TS Huỳnh Quyết Thắng, giảng viên Viện Công nghệ thông tin Truyền thông - Trường Đại học Bách Khoa Hà Nội trực tiếp hướng dẫn tận tình cho tơi suốt trình thực nghiên cứu Cuối tơi xin chân thành cảm ơn đến gia đình, đồng nghiệp, bạn bè tập thể lớp Công nghệ thông tin 2016A, Ban Lãnh đạo Trung tâm Thông tin, Ủy ban Dân tộc hỗ trợ cho nhiều trình học tập, nghiên cứu thực đề tài luận văn thạc sĩ Xin trân trọng cám ơn! LỜI CAM ĐOAN Tôi xin cam đoan luận văn cơng trình nghiên cứu riêng tơi hướng dẫn PGS TS Huỳnh Quyết Thắng Tôi xin cam đoan giúp đỡ cho việc thực luận văn cám ơn thơng tin trích dẫn luận văn rõ nguồn gốc Hà Nội, tháng 10 năm 2017 TÁC GIẢ Lê Văn Hùng MỤC LỤC DANH MỤC CÁC KÍ HIỆU, CÁC CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG MỞ ĐẦU Lý chọn đề tài Mục đích nghiên cứu Nhiệm vụ nghiên cứu Phạm vi nghiên cứu giới hạn 5 Phương pháp nghiên cứu 6 Giả thuyết khoa học CHƯƠNG CƠ SỞ LÝ THUYẾT VỀ HIỆU NĂNG PHẦN MỀM 1.1 Tổng quan hiệu phần mềm ứng dụng 1.2 Các khái niệm đo lường hiệu 1.3 Kỹ nghệ hiệu phần mềm 10 1.3.1 Tiến trình SPE hội tụ 10 1.3.2 Lập mơ hình, kiểm thử giám sát hiệu 13 1.4 Tiểu kết chương 14 CHƯƠNG GIÁ TRỊ TÍNH NĂNG VÀ ĐO LƯỜNG HỆ THỐNG 15 2.1 Hệ thống xử lý kiện EP 15 2.1.1 Tổng quan EP 15 2.1.2 Chức xử lý kiện 16 2.2 Khái niệm phân loại giá trị tính 17 2.3 Phân loại Điểm chuẩn 19 2.3.1 Điểm chuẩn vi mô 19 2.3.2 Điểm chuẩn vĩ mô 20 2.4 Điểm chuẩn khoa học máy tính hiệu phần mềm 20 2.5 Tiểu kết chương 21 CHƯƠNG PHƯƠNG PHÁP ĐO LƯỜNG GIÁ TRỊ TÍNH NĂNG CỦA HỆ THỐNG PHẦN MỀM 22 3.1 Đo lường điểm chuẩn vi mô: 22 3.1.1 Truy vấn lựa chọn lọc theo hàng cột (Selection and Projection Filters) 23 3.1.2 Tổng hợp gom nhóm theo cửa sổ (Aggregation and Windowing) 24 3.1.3 Kết hợp (Joins) 29 3.1.4 Pattern Matching 32 3.1.5 Adaptivity to Bursts 33 3.1.6 Multiple Queries and Resource Sharing 36 3.2 Điểm chuẩn vĩ mô áp dung cho CPU Bộ nhớ 37 3.2.1 Phân tích hiệu 38 a) Thử nghiệm 38 b) Thiết lập phương pháp luận: 40 c) Kết 41 3.2.2 Tối ưu hóa cấu trúc liệu 42 3.2.3 Cải thiện hiệu thuật toán mức CPU 46 a) Truy vấn tổng hợp 47 b) Truy vấn kết hợp 49 3.2.4 Kịch truy vấn, đa truy vấn 51 3.2.5 Tối ưu hóa hệ thống EP 54 3.3 Tiểu kết chương 55 CHƯƠNG ÁP DỤNG THỬ NGHIỆM TRÊN PHẦN MỀM QUẢN LÝ CSDL CÁC DÂN TỘC THIỂU SỐ VIỆT NAM 56 4.1 Giới thiệu phần mềm Quản lý CSDL dân tộc thiểu số Việt Nam 56 4.1.1 Giới thiệu 56 4.1.2 Mơ hình kiến trúc hệ thống: 56 4.1.3 Mơ hình nghiệp vụ tổng thể hệ thống: 57 4.1.4 Nền tảng công nghệ sử dụng 58 4.2 Thực nghiệm đo đánh giá giá trị tính Điểm chuẩn vi mơ 58 4.3 Thực nghiệm đo đánh giá giá trị tính Điểm chuẩn vĩ mơ 65 4.4 Một số nhận xét khuyến cáo 73 KẾT LUẬN 74 DANH MỤC TÀI LIỆU THAM KHẢO 75 DANH MỤC CÁC KÍ HIỆU, CÁC CHỮ VIẾT TẮT Benchmark Phương pháp điểm chuẩn CNTT Công nghệ thông tin CPI Cycles Per Instruction CSDL Cơ sở liệu EP Event Processing ETL Extraction, Transformation, and Load IC Instruction Count IEC International Electrotechnical Commission IEEE Institute of Electrical and Electronics Engineers ISO International Organization for Standardization KT-XH Kinh tế - xã hội Macro-Benchmark Điểm chuẩn vĩ mô Micro-Benchmark Điểm chuẩn vi mô SPE Software Performance Engineering SPEC Standard Performance Evaluation Corporation SPEM Systems Process Engineering Metamodel SUT System Under Test TLB Translation Look-aside Buffer UBDT Ủy ban Dân tộc DANH MỤC CÁC BẢNG Bảng 3.1: Tóm tắt điểm chuẩn vi mơ 22 Bảng 3.2: Tiêu thụ nhớ (MB) máy kiểm thử (cửa sổ 10 phút) 27 Bảng 3.3: Tiêu thụ nhớ (MB) máy cho cửa sổ dựa thời gian lớn 28 Bảng 3.4: Cấu trúc liệu mức tiêu thụ nhớ (MB): truy vấn tổng hợp 44 Bảng 3.5: Cấu trúc liệu mức tiêu thụ nhớ (MB): truy vấn kết hợp 44 Bảng 3.6: Thuật tốn nhận biết nhớ đệm để tính toán kết hợp cửa sổ trượt 48 Bảng 4.1: Kết đo hiệu CPU Memory 67 Bảng 4.2: Kết đo hiệu sở liệu báo cáo 10 tỉnh 68 Bảng 4.3: Kết đo hiệu sở liệu chạy tổng hợp báo cáo nước 69 Bảng 4.4: Kết đo hiệu CPU Memory tổng hợp báo cáo nước 70 DANH MỤC HÌNH VẼ Hình 1.1: Một phần phổ biến thời gian phản hồi Hình 1.2: Mối quan hệ thời gian phản hồi, thông lượng sử dụng tài nguyên với khối lượng công Hình 1.3: Một mơ hình đơn giản cho quy trình SPE hội tụ 11 Hình 1.4: Tích hợp SPE q trình phát triển phần mềm 12 Hình 2.1: Tổng quan xử lý kiện 15 Hình 2.2: Cấu trúc ứng dụng xử lý kiện 17 Hình 2.3: Các kiểu kiểm thử hiệu Điểm chuẩn khác 18 Hình 3.1: Truy vấn lọc kiểm thử 23 Hình 3.2: Kết kiểm thử lọc (Selection Projection) 24 Hình 3.3: Tổng hợp truy vấn kiểm thử cửa sổ dựa vào đếm 24 Hình 3.4: Kết kiểm thử tổng hợp: kích cỡ cửa sổ sách khác 25 Hình 3.5: Sử dụng CPU động X trình kiểm thử tổng hợp 25 Hình 3.6: Hiệu tổng hợp MEDIAN SUM 26 Hình 3.7: Hai phiên truy vấn tổng hợp cửa sổ dựa thời gian 27 Hình 3.8: Kết tổng hợp thời gian thử nghiệm cửa sổ thời gian lớn (động Z) 29 Hình 3.9: Các truy vấn kiểm tra kết nối window-to-window 30 Hình 3.10: Kết kiểm thử kết nối window-to-window 30 Hình 3.11: Truy vấn kiểm thử Stream-to-table 31 Hình 3.12: Kết kiểm thử kết nối Stream-to-table 32 Hình 3.13: Các truy vấn kiểm thử phù hợp mẫu (sử dụng ngôn ngữ SASE +) 32 Hình 3.14: Kết kiểm thử kết hợp mẫu 34 Hình 3.15: Kiểm thử thích ứng 35 Hình 3.16: Kết kiểm thử khả mở rộng 36 Hình 3.17: Lược đồ kiện đầu vào "S" 39 Hình 3.18: Lược đồ bảng lịch sử "T" 39 Hình 3.19: Truy vấn tổng hợp 40 Hình 3.20: Truy vấn kết hợp 40 Hình 3.21: Hiệu truy vấn kết nối máy Esper EP 41 Hình 3.22: Mối quan hệ hiệu ứng dụng số phần cứng 42 Hình 3.23: Cấu trúc liệu khác sử dụng để biểu diễn tập hợp 43 Hình 3.24: Ảnh hưởng thể bên hiệu 44 Hình 3.25: Truy vấn liệu chu kỳ lệnh 47 Hình 3.26: Thuật tốn lưu trữ cột truyền thống so với thuật toán nhận dạng nhớ đệm 49 Hình 3.27: Kết hợp băm truyền thống so với trộn băm thô 51 Hình 3.28: Tối ưu hóa kịch nhiều truy vấn 53 Hình 3.29: Tối ưu hóa Esper (truy vấn tổng hợp) 54 Hình 4.1: Mơ hình kiến trúc hệ thống CSDL KT-XH 53 DTTS Việt Nam 56 Hình 4.2: Mơ hình nghiệp vụ hệ thống 57 Hình 4.3: Giao diện phần mềm Server Profiler 59 Hình 4.4: Kết thực nghiệm phần mềm 60 Hình 4.5: Cấu hình chức Tuning Advisor 62 Hình 4.6: Kết thực chức Tuning 65 Hình 4.7: Giao diện cài đặt tham số đầu vào báo cáo 66 Hình 4.8: Kết hiệu CPU Memory 67 Hình 4.9: Biểu đồ thể thực mệnh đề Selection 70 Hình 4.10: Biểu đồ thể thực mệnh đề Projection 71 Hình 4.11: Biểu đồ thể thực mệnh đề Join 71 Hình 4.12: Biểu đồ thể mối quan hệ memory CPU thực báo cáo tổng hợp tỉnh 72 Hình 4.13: Biểu đồ thể mối quan hệ thời gian sử dụng % CPU thực báo cáo tổng hợp tỉnh 72 Kết sau: Đối với số trường hợp chưa đánh mục địa bàn, dẫn đến tổng hợp báo cáo giải phóng nhớ chậm, cần nghiên cứu Tuning để đảm bảo tốc độ truy vấn nhanh Để thực bước Tuning ta tiến hành thực nghiệm sau: Tiến hành lưu tệp báo cáo máy thực việc điều chỉnh hiệu công cụ Database Engine Tuning Advisor sau: Điều chỉnh hiệu công cụ Database Engine Tuning Advisor: Truy cập chức Tuning Advisor: 61 Hình 0.5: Cấu hình chức Tuning Advisor Lựa chọn tệp theo dõi lưu để điều chỉnh Sau thực phân tích, giao diện xuất hiện: Để loại bỏ lỗi cần truy cập vào thẻ sau để điều chỉnh: 62 Bây bấm "Start Analysis" lần nữa: Hiệu chỉnh mục: Lưu tệp theo dõi Server Profiler máy tính: 63 Chạy phân tích, đánh giá sở liệu: Điều chỉnh mục để tăng tốc độ truy vấn cho sở liệu: 64 Hình 0.6: Kết thực chức Tuning 4.3 Thực nghiệm đo đánh giá giá trị tính Điểm chuẩn vĩ mơ Thiết lập mơi trường kiểm thử: Tất kiểm thử thực máy chủ; Mỗi kiểm thử lặp lại lần số liệu báo cáo tính trung bình; Máy chủ chạy hệ điều hành Windows server 2012; Sử dụng công cụ Performance Monitor kết hợp công cụ Server Profiler Microsoft Các phép đo hiệu thực sau: Công cụ Performance Monitor chịu trách nhiệm theo dõi tiêu tốn nhớ CPU trình chạy Công cụ Server Profiler chịu trách nhiệm theo dõi: CPU (thời gian sử dụng nhớ), read (số lần thao tác vào liệu đĩa); write (số lần ghi vào đĩa); duration (khoảng thời gian thực thi câu lệnh) Kiểm thử với kết nối truy vấn việc thực thi kiện thực báo cáo nâng cao đa tiêu, cố định tham số đầu vào lựa chọn danh sách 10 tỉnh nước Cấu hình tham số bên dưới: 65 Hình 0.7: Giao diện cài đặt tham số đầu vào báo cáo Thời gian khởi động bắt đầu với giai đoạn khởi động ban đầu phút với kiện tạo tiêu hao tốc độ tối đa hỗ trợ Khởi động theo sau 15 phút, thu thập số cơng cụ theo dõi sở liệu Server Profiler Performance Monitor (CPU nhớ) Các số việc theo dõi sở liệu Server Profiler bao gồm thông số: CPU, read, write, duration Mỗi lần kiểm thử lặp lại lần số liệu báo cáo tính trung bình Kết quả: Đối với 10 tỉnh cho kết sau: + Theo dõi CPU nhớ máy chủ: 66 Hình 0.8: Kết hiệu CPU Memory Bằng cách theo dõi thêm chức Task Manager Windows Server, ban đầu chương trình khởi động, trung bình CPU 10% để thực ứng dụng chạy ngầm, chạy truy vấn từ phần mềm, trung bình CPU tăng 30% Như vậy, trung bình để thực truy vấn CPU khoảng 20% để thực thi báo cáo tổng hợp Tương tự, theo dõi thông số Memory 11,5% Sau 03 lần thực nghiệm tính trung bình kết sau: T CPU (%) Memory (%) 20 11,5 T Bảng 0.1: Kết đo hiệu CPU Memory Đối với máy chủ SQL, để đảm bảo hiệu vận hành, chiếm dụng CPU thường xuyên mức 80% phải nâng cấp máy chủ thiết kế giải pháp cân tải Như hình thấy mức độ chiếm dụng CPU trung bình khoảng 50% Vậy hiệu máy chủ CSDL Ủy ban Dân tộc phù hợp với yêu cầu xử lý liệu 67 + Theo dõi công cụ Server Profiler: Kết sau: TT Phép chiếu CPU Read Write Duration Selection 0 Projection 15 160 Join 15 122 Bảng 0.2: Kết đo hiệu sở liệu báo cáo 10 tỉnh 68 Tương tự, tiến hành thực thử nghiệm 20, 30, 40, 50, 60 tỉnh ta có kết sau: + Theo dõi Công cụ Server Profiler: TT Mệnh đề | Số tỉnh 10 20 30 40 50 60 Selection CPU (thời gian sử dụng) 0 0 0 Read 4 Write 0 0 0 Duration 0 1 Projection CPU 0 0 0 Read 16 20 25 27 27 30 Write 0 0 0 Duration 1 3 Join CPU 15 16 16 16 17 17 Read 122 114 235 240 250 260 Write 2 2 2 Duration 1 3 Bảng 0.3: Kết đo hiệu sở liệu chạy tổng hợp báo cáo nước 69 + Theo dõi Công cụ Performance Monitor: TT Tham số | Số tỉnh CPU (%) Memory (%) 10 20 30 40 50 60 20 20,5 20,8 22,2 22,4 23 11,5 12 12,5 15 15,5 16 Bảng 0.4: Kết đo hiệu CPU Memory tổng hợp báo cáo nước Nhìn vào bảng ta nhận thấy mức độ tiêu hao tài nguyên máy tỉ lệ với độ lớn báo cáo cách tuyến tính Như vậy, độ lớn báo cáo tăng lên khó xảy tượng Memory leak Biểu đồ minh họa thực kịch sau: Hình 0.9: Biểu đồ thể thực mệnh đề Selection 70 Hình 0.10: Biểu đồ thể thực mệnh đề Projection Hình 0.11: Biểu đồ thể thực mệnh đề Join 71 Hình 0.12: Biểu đồ thể mối quan hệ memory CPU thực báo cáo tổng hợp tỉnh Hình 0.13: Biểu đồ thể mối quan hệ thời gian sử dụng % CPU thực báo cáo tổng hợp tỉnh Khi chạy tổng hợp báo cáo máy chủ cần dung lượng nhớ để thực thi câu lệnh Tuy nhiên, số trường hợp tổng hợp báo cáo nước tiêu tốn nhớ, thực thao tác Nhập báo cáo lại tốn nhớ 72 4.4 Một số nhận xét khuyến cáo Hiệu hệ thống phần mềm tương đối tốt, báo cáo phức tạp thực thi tương đối nhanh, không bị tượng tốn nhiều nhớ thời gian thực thi Sau thực thi câu lệnh, nhớ giải phóng Cần thực q trình Tuning, có việc đánh mục vào cột liệu xuất phép chọn (selection); Tối ưu hóa câu lệnh SQL mệnh đề join phép union, group để đảm bảo cải thiện hiệu sở liệu Nâng cấp hệ thống máy chủ thiết kế giải pháp cân tải để đảm bảo số lượng người dùng tăng lên đảm bảo hệ thống hoạt động ổn định, an tồn thơng suốt 73 KẾT LUẬN Kiểm thử hiệu nhằm xác định tốc độ, khả phân tải mức độ tin tưởng ứng dụng mơi trường nhiều người dùng, có nhiều hoạt động khác Kết kiểm thử, theo dõi hiệu nhằm đánh giá khả hệ thống để có điều chỉnh hợp lý hệ thống phần cứng hay phần mềm, sở liệu Khả đáp ứng yêu cầu người dùng, mức tải đáp ứng, điều kiện cần thiết việc phát triển mở rộng ứng dụng Đồ án tiến hành nghiên cứu Benchmark, xác định tầm quan trọng vai trò Benchmark kỹ thuật phần mềm, từ đưa phân tích thống kê kết dựa phép đo; Trình bày tảng, công cụ kỹ thuật khác thực nghiệm đánh giá hiệu phần mềm dựa phương pháp Benchmark Trong sử dụng số công cụ Microsoft như: Server Profiler, Performance Monitor, Tuning Advisor để theo dõi, đánh giá hiệu sở liệu Bằng việc sử dụng chuẩn Benchmark, ta mô tả kĩ thuật đánh giá, theo dõi hiệu phần mềm Đối với số trường hợp cần nghiên cứu Tuning để đảm bảo tốc độ truy vấn nhanh Sự giới hạn hiểu biết tác giả phương pháp đánh giá, theo dõi, số chức công cụ chưa hỗ trợ đầy đủ có nhiều ảnh hưởng đến kết Tuy nhiên, nhìn chung, cơng cụ đáp ứng việc theo dõi, đánh giá quản lý giao dịch sở liệu, dự đốn hiệu giao dịch sở liệu dân tộc thiểu số Việt Nam áp dụng Trong tương lai, đồ án mở rộng cách nghiên cứu thêm công cụ Tuning; đồng thời phải so sánh với số liệu cụ thể cài đặt chạy hệ quản trị sở liệu định, để định lượng mức độ xác công cụ 74 DANH MỤC TÀI LIỆU THAM KHẢO Tài liệu tham khảo tiếng Việt [1] Cấu trúc liệu, , xem 10/8/2017 [2] PGS.TS Huỳnh Quyết Thắng (2016) Slide ngun lý ngơn ngữ lập trình, Đại học Bách khoa Hà nội [3] Cao Cường, Lê Văn Hùng (2017) Một số đề xuất xây dựng hệ thống sở liệu quốc gia sách dân tộc phục vụ quản lý nhà nước công tác dân tộc Kỷ yếu hội thảo khoa học quốc gia “Nghiên cứu sở lý luận thực tiễn xây dựng hệ thống sở liệu quốc gia dân tộc thiểu số sách dân tộc - mã số CTDT.08.16/16-20”, Hội trường Khách sạn Lã Vọng, số 02 Nguyễn Thị Thập, Cầu Giấy, Hà Nội ngày 30/5/2017, Ủy ban Dân tộc, 72-85 Tài liệu tham khảo tiếng Anh [4] Jan Waller (2014) Performance Benchmarking of Application Monitoring Frameworks, Department of Computer Science, Kiel University (1739) [5] Marcelo R N Mendes (2013) Performance Evaluation and Benchmarking of Event Processing Systems, the degree of Doctor, University of Coimbra (33-37, 84-100) [6] Performance Monitoring and Tuning Tools, , xem 15/8/2017 [7] Performance and Reliability Monitoring Getting Started Guide for Windows Server 2008, , xem 16/8/2017 [8] William Panek (2012), MCSA Windows Server 2012 R2 Complete Study Guide, Microsoft press [9] Mendes, M.R.N., Bizarro, P., Marques, P.: FINCoS: benchmark tools for event processing systems In Proceedings of ICPE 2013 (313-316) [10] ISO/IEC 25010:2011, https://www.iso.org/standard/35733.html, xem 20/7/2017 75 ... 55 CHƯƠNG ÁP DỤNG THỬ NGHIỆM TRÊN PHẦN MỀM QUẢN LÝ CSDL CÁC DÂN TỘC THIỂU SỐ VIỆT NAM 56 4.1 Giới thiệu phần mềm Quản lý CSDL dân tộc thiểu số Việt Nam 56 4.1.1 Giới thiệu ...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Lê Văn Hùng NGHIÊN CỨU THỬ NGHIỆM ĐÁNH GIÁ HIỆU NĂNG ÁP DỤNG TRÊN PHẦN MỀM QUẢN LÝ CƠ SỞ DỮ LIỆU CÁC DÂN TỘC THIỂU SỐ... Áp dụng thử nghiệm phương pháp đo lường giá trị phần mềm quản lý sở liệu dân tộc thiểu số Việt Nam Phạm vi nghiên cứu giới hạn Luận văn nghiên cứu phương pháp điểm chuẩn (Benchmark) để đánh giá,