Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
2,26 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO DƯƠNG CÔNG CHUYẾN TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Dương Công Chuyến NGHIÊN CỨU THỬ NGHIỆM VÀ ỨNG DỤNG PHƯƠNG PHÁP PALP TRONG ĐÁNH GIÁ HIỆU NĂNG PHẦN MỀM CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN … KHÓA 2014B Hà Nội – 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Dương Công Chuyến NGHIÊN CỨU THỬ NGHIỆM VÀ ỨNG DỤNG PHƯƠNG PHÁP PALP TRONG ĐÁNH GIÁ HIỆU NĂNG PHẦN MỀM Chuyên ngành : Công nghệ thông tin LUẬN VĂN THẠC SĨ 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 CAM ĐOAN Tơi xin cam đoan tơi viết hồn tồn thống khơng chép, kết có luận văn chưa từng được công bố từ tài liệu hình thức Các thông tin sử dụng luận văn có ng̀n gốc được trích dẫn rõ ràng Tơi xin hồn tồn chịu trách nhiệm có dấu hiệu chép kết từ tài liệu khác Hà Nội, ngày 03 tháng 10 năm 2017 TÁC GIẢ DƯƠNG CÔNG CHUYẾN i LỜI CẢM ƠN Trong thời gian học tập, nghiên cứu hoàn thiện luận văn, em đã nhận được sự giúp đỡ tận tình chu đáo của các thầy cô giáo Viện Công nghệ thông tin – Truyền thông Trường Đại Học Bách Khoa Hà Nội Lời đầu tiên em xin gửi lời cảm ơn sâu sắc tới thầy PGS.TS Huỳnh Quyết Thắng, người đã tận tình hướng dẫn giúp đỡ em hoàn thành luận văn tốt nghiệp thạc sỹ suốt thời gian vừa qua Em cũng xin cảm ơn các quý thầy cô, các anh chị các bạn tại Viện Công nghệ thông tin – Truyền thông, Đại Học Bách Khoa Hà Nội đã có góp ý kịp thời bở ích, giúp đỡ em suốt quá trình nghiên cứu luận văn Ngoài ra, em cũng xin bày tỏ lòng biết ơn sâu sắc đến gia đình, bạn bè, đồng nghiệp người đã ủng hộ em suốt quá trình học tập hoàn thành chương trình đào tạo Thạc sỹ tại Viện Công nghệ thông tin Truyền thông, Đại Học Bách Khoa Hà nội Mặc dù em đã nỡ lực cố gắng hồn thiện luận văn bằng tất nhiệt tình lực của mình, nhiên không thể tránh khỏi thiếu sót, mong nhận được đóng góp quý báu của quý thầy cô các bạn Em xin chân thành cảm ơn Hà Nội, ngày 03 tháng 10 năm 2017 HỌC VIÊN DƯƠNG CÔNG CHUYẾN ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii Chương 1: GIỚI THIỆU CHUNG 1.1 Lý chọn đề tài 1.2 Mục đích nghiên cứu 1.3 Đối tượng phạm vi nghiên cứu 1.4 Phương pháp nghiên cứu 1.5 Ý nghĩa khoa học 1.6 Cấu trúc luận văn Chương 2: TỔNG QUAN VỀ MỘT SỐ KỸ THUẬT PHÂN TÍCH VÀ DỰ ĐOÁN HIỆU NĂNG PHẦN MỀM 2.1 Các phương pháp dựa mạng hàng đợi 2.2 Các phương pháp dựa tiếp cận SPE 2.3 Các phương pháp dựa cấu trúc mẫu 2.4 Các phương pháp dựa phân tích vết 10 2.5 Sử dụng UML cho đánh giá hiệu 11 2.6 Các tiếp cận dựa đại số trình 12 2.7 Các tiếp cận dựa mạng Petri 12 2.8 Các phương pháp dựa mô phỏng 12 2.9 Các phương pháp sử dụng lọc Kalman, SVM nhân 13 2.10 Công cụ đo hiệu tiêu chuẩn kỹ thuật 15 2.11 Quản lý hiệu liên tục 16 2.12 Mô hình PALP đánh giá hiệu ứng dụng 17 2.13 Kết luận chương 20 Chương 3: ĐÁNH GIÁ HIỆU NĂNG PHẦN MỀM VỚI PHƯƠNG PHÁP PALP 22 3.1 Một số khái niệm liên quan 22 3.1.1 Hiệu năng, tải công việc, điểm tải 22 3.1.2 Tải tiềm 23 3.1.3 Độ dẫn nạp 25 iii 3.1.4 Điểm trễ 25 3.2 Mơ hình PALP 26 3.3 Mối quan hệ độ dẫn nạp các điểm trễ 30 3.3.1 Độ dẫn nạp thay đổi loại điểm trễ 30 3.3.2 Độ dẫn nạp thay đổi nhiều loại điểm trễ 31 3.4 Sử dụng mô hình phương pháp PALP dự đoán hiệu phần mềm 32 3.4.1 Tạo tập liệu tham chiếu cho ứng dụng 33 3.4.2 Điều chỉnh thuật tốn cấu hình ứng dụng để đạt được hiệu theo yêu cầu 37 3.4.3 Xác định hiệu thay đổi cấu hình thuật tốn của ứng dụng 38 3.5 Kết luận chương 38 Chương 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ 40 4.1 Xây dựng ứng dụng thực nghiệm 40 4.1.1 Giới thiệu ứng dụng 40 4.1.2 Môi trường thực nghiệm 42 4.2 Đánh giá mô hình PALP chạy ứng dụng 43 4.2.1 Đánh giá thực nghiệm của mơ hình 43 4.2.2 Độ dẫn nạp "Y" - tính bất biến sự ánh xạ 49 4.3 Đánh giá ảnh hưởng của các điểm trễ tới mô hình 50 4.3.1 Thay đởi các điểm trễ đơn 51 4.3.2 Thay đổi đồng thời nhiều điểm trễ 62 4.4 Kết luận chương 67 Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68 5.1 Kết luận 68 5.2 Hướng phát triển 69 TÀI LIỆU THAM KHẢO 71 iv DANH MỤC HÌNH VẼ Hình 3.1: Đồ thị ví dụ hiệu tải ứng dụng 22 Hình 3.2: Đồ thị biểu diễn mối quan hệ hiệu tải tiềm 24 Hình 3.3: Sơ đồ logic mơ hình PALP 26 Hình 3.4: Điều chỉnh thuật toán với hiệu cụ thể 28 Hình 3.5: Đánh giá hiệu với thuật toán cụ thể 29 Hình 3.6: Sử dụng phương pháp PALP 34 Hình 4.1: Giao diện ứng dụng WebServiceClient 41 Hình 4.2: Ứng dụng dịch vụ web (WebServiceProvider) 42 Hình 4.3: Sơ đồ khối để xác định mối quan hệ P V 44 Hình 4.4: Sơ đồ khối để ghi nhận thời gian phản hồi trung bình kiểm thử 45 Hình 4.5: Giao diện chạy ca kiểm thử WebServiceClient 47 Hình 4.6: Đồ thị mối quan hệ P V ứng dụng 48 Hình 4.7: Hàm hồi quy tuyến tính cho 04 đoạn V khác 49 Hình 4.8: Ảnh hưởng độ dẫn nạp Y lên hiệu P 50 Hình 4.9: Thu thập liệu cho tương tác sở liệu 52 Hình 4.10: Các bước ghi kết cho ca kiểm thử 53 Hình 4.11: Các bước tổng hợp kết từ ca chạy kiểm thử 54 Hình 4.12: Giao diện thực nghiệm với điểm trễ tương tác CSDL 55 Hình 4.13: Đồ thị mối quan hệ Y IDB 56 Hình 4.14: Đồ thị mối quan hệ Y IFileIO 59 Hình 4.15: Đồ thị mối quan hệ Y IDataProcess 61 v DANH MỤC BẢNG Bảng 3.1: Tải công việc tải tiềm với điểm tải cho trước 24 Bảng 4.1: Bảng kết chạy ca kiểm thử thực nghiệm 47 Bảng 4.2: Dữ liệu thực nghiệm điểm trễ tương tác sở liệu 56 Bảng 4.3: Bảng liệu chạy kiểm tra điểm trễ tương tác CSDL 57 Bảng 4.4: Bảng so sánh sai số dự đoán điểm trễ tương tác CSDL 57 Bảng 4.5: Dữ liệu thực nghiệm điểm trễ nhập-xuất liệu đĩa cứng 58 Bảng 4.6: Bảng liệu chạy kiểm tra điểm trễ nhập-xuất liệu đĩa cứng hệ thống 60 Bảng 4.7: Bảng so sánh sai số dự đoán điểm trễ nhập-xuất liệu hệ thống 60 Bảng 4.8: Dữ liệu thực nghiệm điểm trễ xử lý liệu nhớ 61 Bảng 4.9: Bảng liệu chạy kiểm tra điểm trễ xử lý liệu nhớ 62 Bảng 4.10: Bảng so sánh sai số dự đoán điểm trễ xử lý liệu nhớ 62 Bảng 4.11: Bảng giá trị Y tính tốn loại điểm trễ thay đổi 63 Bảng 4.12: Bảng giá trị Y sử dụng để kiểm chứng mơ hình 66 vi BẢNG KÝ HIỆU, CHỮ VIẾT TẮT Ký hiệu, viết tắt CPM Ý nghĩa tiếng Anh Ý nghĩa tiếng Việt Continuous Performance Quản lý hiệu liên tục Management CI Continuous Intergration Tích hợp liên tục PALP PerformanceAdmittanceLoadPotent ial Hiệu - độ dẫn nạp - tải tiềm SPE Software Performance Engineering Kỹ nghệ hiệu phần mềm QN Queuing Networks Các mạng hàng đợi KLAPE R Kernel Language for Performance and Reliability Ngôn ngữ nhân cho hiệu độ tin cậy EG Execution Graphs Các đồ thị thực thi PASA Performance Assessment of Software Architectures Đánh giá hiệu của kiến trúc phần mềm UCM Use Case Maps Bản đồ trường hợp sử dụng CSM Core Scenario Model Mơ hình kịch lõi PUMA Performance by Unified Model Analysis Hiệu phân tích mơ hình hợp SPA Stochastic Process Algebras Xác suất đại số trình QPN Queuing Petri Net Mạng hàng đợi Petri SVM Support Vector Machine Máy véc tơ hỗ trợ ARM Application Response Measurement Độ đo phản hồi ứng dụng P Performance Hiệu WL Inbound Workload Tải công việc của hệ thống SP Stress Point Điểm tải V Load Potential Tải tiềm Y Admittance Độ dẫn nạp LSF Least Square Fitting Phù hợp bình phương tối thiểu vii Chương 1: GIỚI THIỆU CHUNG 1.1 Lý chọn đề tài Các tổ chức Công nghệ thông tin phải chịu áp lực lớn việc giảm thiểu chi phí kiểm thử phần mềm, đặc biệt hệ thống lớn, mà chi phí kiểm thử chiếm tỷ lệ cao toàn chi phí quản lý, đầu tư Nhu cầu cải thiện việc kiểm thử hiệu năng, phân tích giám sát các hoạt động công nghệ thông tin, kiểm thử phát triển phần mềm lớn Trước đây, để phân tích hiệu ứng dụng, nhà nghiên cứu đã đưa các kỹ thuật đó đòi hỏi mơ hình hiệu phức tạp, mơ hình phi chuẩn, sử dụng phân tích tốn học phức tạp hoặc xử lý đại số trình Trong kỹ thuật "quản lý hiệu liên tục" (CPM - Continuous Performance Management) [15], việc kiểm thử tải tự động được triệu gọi suốt tiến trình "tích hợp liên tục" (CI - Continuous Intergration) [2], sau phát hành ứng dụng CPM hoạt động cách "bị động" sinh cảnh báo các độ đo hiệu bị vi phạm Tiến trình CI được lặp lại hiệu chấp nhận được Các nghiên cứu tại trước vẫn chưa giải được nhu cầu cần có cách tiếp cận để cho phép nhà phát triển phần mềm đạt được mức hiệu cụ thể cách chủ động trình chỉnh sửa ứng dụng thay sự bị động kết kiểm thử hiệu sau sửa đổi mã nguồn thiết kế lại ứng dụng Chính vậy, việc nghiên cứu cách tiếp cận đó không đòi hỏi phải kiểm thử hiệu cách lặp lặp lại, không cần nguồn nhân lực chuyên sâu, mô hình kiểm thử hiệu phần mềm phức tạp chuyên gia bảo đảm chất lượng việc cần thiết Nhiều nghiên cứu dựa tiếp cận khác bao gồm kỹ thuật Kỹ nghệ hiệu phần mềm (SPE - Software Performance Engineering) [22], mạng hàng đợi (QN - Queuing Networks) [18] mở rộng của nó (như các mạng hàng đợi phân tầng), đại số ngẫu nhiên [12] mạng Petri ngẫu nhiên [1] đã được thực để phân tích đánh giá hiệu của hệ thống Các mơ hình hiệu mơ phỏng đã được tạo từ mô tả UML (Unified Modeling Language) bậc cao của kiến trúc phần mềm Các phương pháp dự đoán sử dụng lọc Kalman, máy véc tơ hỗ trợ ngôn ngữ dựa hạt nhân khác KLAPER (Kernel Language for Performance and Reliability analysis) đã được khám phá để dự đoán các trạng thái của tiến trình [11] Mối quan hệ Y IFileIO 0.03 0.023864968 0.022949561 0.025 Y 0.02 0.018939298 0.015724645 0.015 0.011096135 0.01 y = -0.0037969685ln(x) + 0.0072302264 0.005 0.005511449 0 0.5 1.5 0.002436064 2.5 IFileIO (giây) Hình 4.14: Đồ thị mối quan hệ Y IFileIO Tương tự ta sử dụng chức AddTrendline Microsoft Excel, hàm logarit hồi quy phù hợp thể mối quan hệ Y IFileIO là: Y = 0.0037969685*ln(IFileIO) + 0.0072302264 (4.6) Hàm cũng được sử dụng làm tham chiếu cho dự đoán hiệu tương lai, ta thay giá trị IFileIO bằng giá trị IFileIO khác kết vẫn xác Đúng mong đợi, việc giảm dần giá trị độ dẫn nạp Y đạt được tăng dần độ trễ của các điểm trễ nhập-xuất liệu đĩa cứng Với khoảng V cho trước, hàm số của IFileIO phương trình (4.6) giúp ta có thể dự đoán được giá trị hiệu Yp tương ứng với giá trị IFileIO tương lai Giá trị Yp có thể gắn vào mơ hình PALP (P = YV + c) với khoảng V cụ thể nhận được giá trị ước lượng Pp theo công thức sau: Pp = Y p V + c Kiểm chứng độ xác kết quả: Mục tiêu của ta kiểm tra xem kết nhận được mối quan hệ Y IFileIO theo phương trình (4.6) chạy với ca kiểm thử thực tế khác có xác hay khơng Ta thiết lập cấu hình chạy thực nghiệm ghi liệu kết cũng tương tự việc chạy ca kiểm thử 59 Bảng 4.6: Bảng liệu chạy kiểm tra điểm trễ nhập-xuất liệu đĩa cứng hệ thống Total Loop 300 times ART IFileIO WL V P Y 3.20867544 2178.989 937.8023 46.74826 53.25174 0.458928 0.007286 - Y tính từ cơng thức: Y=(P-c)/V - Ypredict hàm logarit hồi quy phù hợp nhất: Ypredict = 0.0037969685*ln(IFileIO) + 0.0072302264 Bảng 4.7: Bảng so sánh sai số dự đoán điểm trễ nhập-xuất liệu hệ thống Loop Y Ypredict % sai số Y 300 0.007286 0.0069864 4.111995608 Giữa Y đo đạc được từ thực nghiệm Yp dự đoán cho sai số gần 4.112% thể mơ hình nghiên cứu có độ xác tin cậy cao c) Các điểm trễ xử lý liệu Cũng tương tự với hai xử lý tương tác sở liệu xử lý xuất – nhập tệp tin Trên ứng dụng WebServiceClient, tại khung DataProcess Delay Config tham số cho việc chạy thử của xử lý liệu cũng được thay đởi tham số lặp, giữ ngun tham số cịn lại Trong hoạt động xử lý tại WebServiceProvider, phương thức dịch vụ web someDataProcessing( ) được thực nhằm xử lý liệu nhớ theo các bước sau: 1) Ghi lại thời gian bắt đầu thực 2) Thực phép tốn tính tởng bình phương của 10000 số tự nhiên đầu tiên 3) Lặp lại công việc dataProcessLoop lần (với dataProcessLoop tham số đầu vào của phương thức) 4) Ghi lại thời gian kết thúc của hoạt động 5) Từ thời gian bắt đầu kết thúc đã có ta tính được tổng thời gian thực hoạt động xử lý liệu nhớ 60 Bảng 4.8: Dữ liệu thực nghiệm điểm trễ xử lý liệu nhớ Total Loop times ART IDataProcess WL V P Y 3.2064524 718.5267 15.90667 46.78067 53.21933 1.391737 0.024818 10 3.2064698 815.7933 34.02 46.78042 53.21958 1.225801 0.0217 50 3.2084337 1183.467 386.3533 46.75178 53.24822 0.844975 0.014537 100 3.2075088 1829.38 1004.867 46.76527 53.23473 0.546633 0.008936 200 3.20851 2794.627 1799.387 46.75067 53.24933 0.35783 0.005388 500 3.2084744 6405.813 5601.74 46.75119 53.24881 0.156108 0.0016 1000 3.2064457 11131.61 10065.27 46.78077 53.21923 0.089834 0.000355 Từ Bảng 4.8 ta có được đờ thị Hình 4.15, biểu diễn mối quan hệ độ dẫn nạp Y độ trễ IDataProcess : - Mối quan hệ Y IDataProcess 0.03 0.024818275 0.025 0.021700204 0.02 0.015 Y 0.014536643 0.01 0.008936053 y = -0.0039058674ln(x) + 0.0089004258 0.005 -0.005 0.001599722 0.005387949 0 0.000355311 10 12 IDataProcess (giây) Hình 4.15: Đồ thị mối quan hệ Y IDataProcess Vẫn sử dụng chức AddTrendline Microsoft Excel Hàm logarit hồi quy phù hợp thể mối quan hệ Y IDataProcess là: Y = -0.0039058674*ln(IDataProcess) + 0.0089004258 (4.7) Hàm được sử dụng làm tham chiếu cho dự đoán tương lai xử lý liệu điểm trễ nhớ Bằng việc thay giá trị trễ tích lũy vào hàm với tải tiềm tương ứng cho kết xác 61 Đúng mong đợi, việc giảm dần giá trị độ dẫn nạp Y đạt được tăng dần độ trễ của các điểm trễ xử lý liệu nhớ Với khoảng V cho trước, hàm số của IDataProcess phương trình (4.7) giúp ta có thể dự đoán được giá trị hiệu Yp tương ứng với giá trị IDataProcess tương lai Giá trị Yp có thể gắn vào mơ hình PALP (P = YV + c) với khoảng V cụ thể nhận được giá trị ước lượng Pp theo công thức sau: Pp = Y p V + c (4.8) Kiểm chứng độ xác kết quả: Mục tiêu của ta kiểm tra xem kết nhận được mối quan hệ Y IDataProcess theo phương trình (4.7) chạy với ca chạy thử thực tế khác có xác hay khơng Ta thiết lập cấu hình chạy thực nghiệm ghi liệu kết cũng tương tự việc chạy ca chạy thử Bảng 4.9: Bảng liệu chạy kiểm tra điểm trễ xử lý liệu nhớ Loop Total times ART IDataProcess WL V P Y 400 3.207344533 5532.6886 5654.057 46.76766 53.23234 0.180744 0.002063 - Y tính từ công thức: Y=(P-c)/V - Ypredict hàm logarit hồi quy phù hợp nhất: Ypredict = -0.0039058674*ln(IDataProcess) + 0.0089004258 Bảng 4.10: Bảng so sánh sai số dự đoán điểm trễ xử lý liệu nhớ Loop Y Ypredict % sai số Y 400 0.002063 0.002134005 3.441139 Giữa Y đo đạc được từ thực nghiệm Yp dự đoán cho sai số gần 3.44% thể mơ hình nghiên cứu có độ xác tin cậy cao 4.3.2 Thay đổi đồng thời nhiều điểm trễ Trong tất thực nghiệm trên, loại điểm trễ được thay đởi cấu hình cịn lại khơng thay đởi Nhưng thực tế có thể có yêu cầu phức tạp với việc phải thay đổi nhiều loại điểm trễ đồng thời Để giải tình này, loại điểm trễ khác được thay đổi tiến hành thực nghiệm liên quan Cũng 62 tương tự lập luận với các điểm trễ đơn, ta tiến hành thực nghiệm với năm ca kiểm thử cho cấu hình nhằm tăng tính xác của kết thu nhận được, giảm thiểu sai số nhiễu Với mỡi cấu hình chạy, giá trị của hiệu ứng dụng P, độ dẫn nạp Y được ghi nhận lại theo hình thức tương tự các điểm trễ đơn phần Giá trị tải tiềm V cũng được trì mức dương điểm tải vẫn 100 yêu cầu giây cho tất thực nghiệm V được tính theo cơng thức V = SP - WL, tham số lặp của loại điểm trễ (cụ thể xét ba loại điểm trễ xử lý liệu nhớ, nhập - xuất tệp tin, tương tác với sở liệu) được thay đổi cho giá trị V mức dương Với cấu hình thực nghiệm, sử dụng mô hình PALP đã nghiên cứu được, ta tính được giá trị Y từ giá trị P V đo được dựa vào thực nghiệm theo công thức: Y = (P - c) / V, đó giá trị c được xác định dựa vào khoảng của V Bảng 4.11: Bảng giá trị Y tính tốn loại điểm trễ thay đổi ART P Y IDB IFileIO IDataProcess 465.0667 2.150229 0.034543 445.3333 12.66667 7.066667 549.1 1.821162 0.031185 528.0333 11.2 9.866667 2276.267 0.439316 0.017085 2197.067 27 52.2 880.2333 1.136062 0.024195 844.4333 21.56667 14.03333 Tập liệu biểu diễn các độ trễ đo được của loại điểm trễ khác giá trị Y tương ứng được tính tốn dựa giá trị P V đo được từ thực nghiệm với việc thay đởi cấu hình đầu vào của thuật tốn tạo các điểm trễ tương ứng Các độ trễ của các điểm trễ (tương tác CSDL, xử lý liệu nhớ nhập xuất tệp tin) được coi các biến số cần dự đoán mô hình đa hời quy Giá trị Y tính toán được được coi biến kết phụ thuộc dựa biến dự đoán Trong cách tiếp cận được đưa Johnson [13], liệu có thể được biểu diễn dạng: AX = B (4.9) đó: A ma trận [3 x 3] chứa các hàng độ trễ của loại điểm trễ với kiểm thử khác nhau, tập hợp biến dự đoán 63 B ma trận cột [3 x 1] của giá trị Y được tính toán tương ứng với mỡi hàng A, biến phụ thuộc X ma trận cột đơn [3 x 1] thể trọng số liên quan phù hợp của loại điểm trễ Ma trận trọng số X được tính tốn dựa ma trận chủn vị ma trận nghịch đảo theo cách sau: X = (ATA)-1ATB (4.10) Ma trận trọng số liên quan loại điểm trễ X được tính toán để hỡ trợ việc dự đoán giá trị Y (YDLPrw) cho ca kiểm thử hiệu sau Giá trị YDLPrw có thể gắn vào mơ hình PALP với khoảng V cụ thể để ước lượng giá trị hiệu P (gọi PDLPrw) của ứng dụng Giá trị hiệu PDLPrw có thể được tính theo cơng thức (4.10): PDLPrw = (YDLPrw * V) + c (4.11) a) Ma trận trọng số quan hệ điểm trễ Dữ liệu nhận được từ thực nghiệm Bảng 4.11 có thể biểu diễn dạng phương trình (4.8) theo cách sau: A X B DLPrw IDB IIO IDP Y 0.445333 0.012667 0.007067 0.528033 0.0112 0.009867 w2 0.031185 2.197067 0.027 0.0522 w3 0.017085 Matrix x w1 = 0.034543 Các giá trị w1, w2, w3 trọng số phù hợp cho loại điểm trễ IIB, IIO IDP Ma trận chuyển vị AT: 0.445333333 0.012666667 0.007066667 0.528033333 0.0112 0.009866667 64 2.197066667 0.027 0.0522 Tính ATA = 5.304242917 0.070875662 0.070875662 0.001014884 0.123043831 0.001609418 0.123043831 Tính (ATA)-1 = 9109.030841 0.001609418 0.002872129 -155302.471 303211.8433 Tính ATB = -155302.471 -303211.8433 2656642.984 5164588.06 5164588.06 10096123.16 0.069387 0.001248 0.001444 T Tính ma trận DLPrw X = (A A)-1ATB = w1 = 0.484684 w2 = -4.37831 w3 = -17.8081 (Ma trận X dùng đển làm tham chiếu cho dự đoán hiệu tương lai nào.) b) Kiểm chứng đợ xác ma trận trọng số quan hệ các điểm trễ Ma trận DLPrw X được kiểm tra để đánh giá độ xác của việc dự đoán độ dẫn nạp tổng thể Y với tập hợp các điểm trễ cho trước Giá trị ma trận DLPrw X tính được dùng làm tham chiếu để tính YDLPrw tương lai cũng PDLPrw tương lai Để đạt được điều này, ca kiểm thử được chạy tảng ứng dụng xây dựng với cấu hình thuật toán cho các điểm trễ với giá trị mới, không trùng lặp với giá trị thực nghiệm Dữ liệu kết thực nghiệm được ghi lại theo các bước đây: Giá trị hiệu P của ứng dụng đo được thực tế (gọi PPALP) Giá trị độ dẫn nạp Y (gọi YPALP) tính toán được dựa P V áp dụng mơ hình PALP (Y = (P - c) / V) 65 Độ trễ trung bình của các điểm trễ khác thực tế (gờm có IDB, IFileIO, IDataProcess) Ma trận hàng gồm giá trị IIB, IIO IDP được nhân với ma trận X để tính tốn giá trị Y tổng thể (gọi YDLPrw) Sai số YDelta (%) được tính theo cơng thức sau: 𝑌𝐷𝑒𝑙𝑡𝑎 (%) = (|𝑌𝐷𝐿𝑃𝑟𝑤 −𝑌𝑃𝐴𝐿𝑃 |)∗100 𝑌𝑃𝐴𝐿𝑃 % (4.12) Bảng 4.12: Bảng giá trị Y sử dụng để kiểm chứng mơ hình IDB IFileIO IDataProcess YPALP YDLPrw YDelta (%) 0.8678 0.02266667 0.0071 0.1899213 0.195522952 2.949459778 0.68033 0.0182 0.0099 0.071654 0.074354474 3.768769976 2.67067 0.017 0.0522 0.281802 0.29041602 3.056763204 0.84443 0.02156667 0.014 0.0674323 0.064950517 3.680406368 Giữa YPALP đo đạc được YDLPrw dự đoán cho sai số dao động khoảng 3% mức chấp nhận được với thực nghiệm Tuy nhiên, mơ hình PALP phương pháp dựa ma trận có thể áp dụng ràng buộc sau được kiểm soát: Vị trí địa lý của khách hàng truy vấn dịch vụ không thay đổi Môi trường triển khai hệ thống bao gồm hạ tầng phần cứng, phần mềm phải không được thay đổi Hệ thống triển khai đường mạng thuê riêng (kênh leasedline) để bảo đảm băng thông mạng ổn định Theo mô tả chương 3, thực tế ca kiểm thử được thực ca trước tiên để sinh ma trận (ma trận điểm trễ gồm nhiều cột ma trận độ dẫn nạp gờm cột tương ứng) tính tốn ma trận DLPrw gờm cột đơn Khi có thay đởi thuật tốn của ứng dụng, nhà phát triển phần mềm cần thực kiểm thử hệ thống các điều kiện tải mong muốn (sinh luồng truy vấn khác nhau) ghi nhận lại giá trị độ dẫn nạp của các điểm trễ tương ứng Sau đó, sử dụng ma trận DLPrw đã tính toán được từ trước để tính tốn giá trị độ dẫn nạp tổng thể YDLPrw Giá trị được gắn với mơ hình PALP cho từng giá trị "V" cụ thể để ước lượng giá trị 66 của hiệu P (gọi PDLPrw) Giá trị hiệu dự đoán PDLPrw có thể được tính dựa công thức (4.10) 4.4 Kết luận chương Dựa thực nghiệm kết tính được bằng việc thay đổi nhiều loại điểm trễ, ta có được hàm phù hợp trọng số phù hợp để làm tham chiếu cho dự đoán tương lại Các kỹ sư có thể dựa vào đó để điều chỉnh cấu hình, thuật tốn cho phù hợp với mức hiệu mong muốn hoặc đưa các dự đoán sớm tương lai cho ứng dụng đó Trong chương này, em đã tiến hành xây dựng chương trình thực nghiệm mô phỏng hoạt động ứng dụng thực tế dạng dịch vụ web Tiếp đến, em áp dụng kiến thức đã nghiên cứu được chương để tạo mơ hình PALP cho ứng dụng thực nghiệm thông qua kiểm thử khác nhau, nhằm mục đích đánh giá hiệu của ứng dụng Thông qua thực nghiệm ca kiểm thử để kiểm chứng mô hình cho thấy, với việc thay đởi các điểm trễ đơn hay thay đổi đồng thời các điểm trễ của ứng dụng thì mô hình PALP cho kết dự đoán hiệu với độ xác cao (sai số dao động 4.5%) 67 Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Luận văn “Nghiên cứu thử nghiệm ứng dụng phương pháp PALP đánh giá hiệu phần mềm” bao gồm chương với nội dung sau: Chương giới thiệu tổng quan đề tài, lý chọn đề tài, mục đích nghiên cứu, đối tượng, phạm vi nghiên cứu, ý nghĩa khoa học thực tiễn của luận văn bố cục của luận văn Chương giới thiệu số phương pháp phân tích dự đoán hiệu như: mạng hàng đợi (QN - Queuing Networks), tiếp cận SPE - Software Performance Engineering, dựa kiến trúc mẫu, dựa phân tích vết, sử dụng UML(Unified Modeling Language), dựa đại số trình, mạng Petri, mô phỏng, sử dụng lọc Kalman, SVM, CPM Chương nghiên cứu phương pháp PALP, bao gồm khái niệm liên quan hiệu năng, tải công việc, điểm tải, tải tiềm năng, độ dẫn nạp, điểm trễ cách thức tạo mơ hình PALP, mối quan hệ độ dẫn nạp điểm trễ của hệ thống, cách sử dụng mơ hình PALP dự đoán hiệu phần mềm Chương xây dựng ứng dụng mô phỏng hoạt động ứng dụng tảng dịch vụ web áp dụng phương pháp PALP để đánh giá hiệu của ứng dụng mơ phỏng Đánh giá độ xác của phương pháp PALP so sánh kết đạt được với số phương pháp khác Chương cuối kết luận hướng phát triển: đánh giá lại kết đã đạt được của luận văn, điểm tồn tại hướng giải tương lai 5.1 Kết luận Đề tài đã đạt được số vấn đề sau: Nghiên cứu tổng quan kỹ thuật phân tích dự đoán hiệu phần mềm như: mạng hàng đợi, tiếp cận SPE, dựa kiến trúc mẫu, dựa phân tích vết, sử dụng UML, dựa đại số trình, mạng Petri, mô phỏng, sử dụng lọc Kalman, SVM, CPM Qua đó, có thể thấy kỹ thuật mang tính bị động chưa có am hiểu đầy đủ các thay đổi của hiệu ứng dụng được cập nhật Với mơ hình PALP, đã nêu được khái niệm quan trọng hiệu năng, điểm tải, tải công việc, tải tiềm năng, độ dẫn nạp, các điểm trễ việc thiết lập mơ hình PALP sử dụng phương pháp PALP đánh giá hiệu Nó cho phép kỹ sư phần mềm chủ động hiệu chỉnh thuật toán cấu hình để đạt được mức hiệu mong muốn cũng xác định hiệu của hệ thống với mức tải cho trước 68 thuật tốn, cấu hình cho trước mà khơng phải thiết kế lại toàn hệ thống, tiến hành kiểm thử lặp lặp lại các phương pháp đã giới thiệu luận luận văn Cho thấy phương pháp đơn giản, đễ tính tốn bằng cách sử dụng công cụ phổ biến Microsoft Excel… không các phương pháp đã giới thiệu đòi hỏi phải học mơ hình, ký hiệu phi chuẩn, phải có kiến thức chuyên sâu hệ thống, đại số trình Như có thể đưa các dự đoán sớm cho vấn đề liên quan hiệu mà khơng phải đầu tư quá nhiều chi phí nâng cấp ứng dụng Để đánh giá độ xác của mô hình PALP, em đã xây dựng ứng dụng web để mô phỏng tiến hành ca kiểm thử Hiệu được phân tích dự đoán cách chủ động, nhanh chóng bằng việc giả định thay đởi nhiều loại điểm trễ, Có thể thấy sự ảnh hưởng của yếu tố bên ứng dụng đến hiệu của ứng dụng đó nào, nhờ việc thay đởi loại điểm trễ mơ hình PALP cho kết dự đoán hiệu với độ xác cao (sai số dao động 4.5%) 5.2 Hướng phát triển Do điều kiện cá nhân cịn hạn chế, thời gian thực khơng nhiều nên vấn đề nghiên cứu “Nghiên cứu thử nghiệm ứng dụng phương pháp PALP đánh giá hiệu phần mềm” khuôn khổ của luận văn dừng lại nghiên cứu ban đầu Vì vậy, nghiên cứu vấn đề có thể tập trung triển khai theo các hướng sau: Nghiên cứu tạo chức tự động thực thi tính tốn ca kiểm thử để đưa mơ hình cuối cùng, giúp cho nhà phát triển ứng dụng thực việc mỡi điều chỉnh lại hệ thống Vì tại luận văn vẫn được tiến hành qua thực nghiệm tính tốn bằng tay thơng qua cung cụ Microsoft Excel Luận văn tập trung tầng ứng dụng của hệ thống Một ứng dụng thực tế có thể được cài đặt triệu gọi dịch vụ từ nhiều hệ thống phân tán với tảng phần cứng phần mềm khác qua mạng Luận văn vẫn chưa được thực nghiệm kiểm chứng trường hợp Trong thời gian tới em cố gắng khắc phục hạn chế Nghiên cứu thử nghiệm trực tiếp môi trường mạng mô phỏng với nhiều loại điểm trễ khác Bởi ứng dụng thực tế có nhiều loại điểm trễ khác cũng vấn đề liên quan đến băng thông môi trường mạng… 69 Mặc dù PALP tỏ vượt trội so với kỹ thuật phân tích dự đoán hiệu đã được giới thiệu, nhiên PALP vẫn tồn tại số hạn chế định em khắc phục tồn tại đó thời gian tới 70 TÀI LIỆU THAM KHẢO Tiếng Anh [1] Balbo, G (2001), Introduction to Stochastic Petri Nets, Lectures on Formal Methods and Performance Analysis, LNCS, Volume 2090, pp 84-155 [2] Balsamo, S., Di Marco, A., Inverardi, P., Simeoni, M (2004), Model-Based Performance Prediction in Software Development: A Survey, “IEEE Transactions on Software Engineering”, Volume 30, No.5 [3] Bertolino, A., Mirandola, R (2004), CB-SPE Tool: Putting Component-Based Performance Engineering into Practice, Component-Based Software Engineering, LNCS, Volume 3054, pp 233-248 [4] Buhr, R.J.A., Casselman, R.S (1996), Use Case Maps for Object-Oriented Systems Prentice Hall [5] Cherkasova, L., Ozonat, K., Ningfang, M., Symons, J., Smirni, E (2007), Automated Anomaly Detection and Performance Modeling of Enterprise Applications, ACM Transactions on Computer Systems 12, 27(6) [6] Compuware, (2006), Applied Performance Management Survey [7] Cortellessa, V., Mirandola, R (2000), Deriving a Queuing Network Based Performance Model from UML Diagrams, “Proceedings of ACM Intl Workshop on Software and Performance, WOSP‟2000, pp 58-70 [8] Fourer, R., Gay, D.M., Kernighan, B.W (2003), Piecewise-Linear Programs, AMPL: A Modeling Language for Mathematical Programming, chapter 17 [9].Gilmore, S., Hillston, J., Kloul, L., Ribaudo, M (2004), Software performance modelling using PEPA nets, “Proceedings of the 4th Intl Workshop on Software and Performance”, WOSP’04, pp 13 – 23 71 [10].Gomez-Martinez, E., Merseguer, J (2006), ArgoSPE: Model-Based Software Performance Engineering, Petri Nets and Other Models of Concurrency – ICATPN, LNCS, Volume 4024, pp 401 – 410 [11] Grassi, V., Mirandola, R., Sabetta, A (2005), From Design to Analysis Models: a Kernel Language for Performance and Reliability Analysis of Component-based Systems, “Proceedings of the th International Conference on Software and Performance”, WOSP‟05, pp 25 – 36 [12] Hermanns, H., Herzog, U., Katoen, J P (2002), “Process Algebra for Performance Evaluation”, Theoretical Computer Science, 274(1-2), pp 43-87 [13] Johnson, M W (1998), Monitoring and diagnosing application response time with ARM, “Proceedings of IEEE rd International Workshop on Systems Management”, Newport, RI, USA, pp 4-13 [14] Kargupta, S (2014), A Proactive Approach to Application Performance Analysis, Forecast and Fine-Tuning, Doctor of Philosophy of the University College London [15] Kargupta, S., Black, S (2012), A Novel Approach for Service Performance Analysis and Forecast, ACM Digital Library, Journal of Web Engineering, Volume 11 No 2, pp 146 –176 [16] Kleinrock, L (1975), Queuing Systems, Volume J Wiley [17] Lloyd, O (2012), “JMeter vs LoadRunner in terms of vusers”, http://www.stackoverflow.com/questions/10648491/jmeter-vs-loadrunner-in-terms-of vusers [18] Menasce, D A., Virgilio A F Almeida, V A F (2002), Capacity Planning for Web Services Metrics, Models and Methods, Prentice Hall PTR [19] Nethercote, N., Seward, J (2003), Valgrind: a program supervision framework, Electronic Notes in Theoretical Computer Science, 89(2), pp 1-23 72 [20] Petriu, D.B., Woodside, M (2004), A Metamodel for Generating Performance Models from UML Designs, “The Unified Modeling Language – Modelling Languages and Applications”, LNCS, Volume 3273, pp 41-53 [21] Petriu, D.C., Woodside, C.M (2002b), Software Performance Models from System Scenarios in Use Case Maps, “Proceedings of 12th Intl Conference on Modelling Tools and Techniques for Computer and Comm System Performance Evaluation”, pp 141 – 158 [22] Smith, C U., Williams, L G (1997), Performance Engineering Evaluation of Object-Oriented Systems with SPE.ED, “Computer Performance Evaluation: Modelling Techniques and Tools”, No.1245, Springer-Verlag [22] Smith, C.U., Williams, L.G (2002), Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software, Addison Wesley [24] Vapnik, V.N (1998), Statistical Learning Theory, Wiley, New York [25] Westermann, D., Happe, J (2010), Towards performance prediction of large enterprise applications based on systematic measurements, “Proceedings of the 15 th Intl Workshop on Component-Oriented Programming”, WCOP‟10 73 ...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Dương Công Chuyến NGHIÊN CỨU THỬ NGHIỆM VÀ ỨNG DỤNG PHƯƠNG PHÁP PALP TRONG ĐÁNH GIÁ HIỆU NĂNG PHẦN MỀM Chuyên... "Nghiên cứu thử nghiệm ứng dụng phương pháp PALP đánh giá hiệu phần mềm" làm luận văn tốt nghiệp Mơ hình PALP cung cấp các phương pháp hai chiều cho phép kỹ sư phần mềm thực hoạt động cách... đoán hiệu của ứng dụng Trong phạm vi nghiên cứu luận văn không xét tới các thay đổi mặt hạ tầng phần cứng mạng ảnh hưởng tới hiệu phần mềm Mà tập trung vào khía cạnh phần mềm ứng