Đăng ký Đăng nhập
Trang chủ 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ữ ...

Tài liệu 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

.PDF
81
2
51

Mô tả:

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 quá trình học tập cũng như nghiên cứu để hoàn thành đề tài luận văn thạc sĩ, bên cạnh sự nỗ lực của bản thân còn có sự hướng dẫn nhiệt tình của quý Thầy, Cô, cũng như sự động viên, hỗ trợ của gia đình và đồng nghiệp trong suốt thời gian học tập nghiên cứu và thực hiện luận văn thạc sĩ. Tôi xin chân thành gửi lời cảm ơn đến các quý Thầy, Cô của 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 nhất cho tôi trong suốt quá trình học tập và thực hiện luận văn này. Với lòng kính trọng và biết ơn, tôi xin được 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 và 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 trong suốt quá trình thực hiện nghiên cứu này. Cuối cùng tôi xin chân thành cảm ơn đến gia đình, các đồng nghiệp, bạn bè trong 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 tôi rất nhiều trong quá trình học tập, nghiên cứu và thực hiện đề 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 là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của PGS. TS. Huỳnh Quyết Thắng. Tôi cũng xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cám ơn và các thông tin trích dẫn trong luận văn này đã được chỉ 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 ..................................... 1 DANH MỤC CÁC BẢNG................................................................................ 2 MỞ ĐẦU ........................................................................................................... 5 1. Lý do chọn đề tài ........................................................................................... 5 2. Mục đích nghiên cứu ..................................................................................... 5 3. Nhiệm vụ nghiên cứu .................................................................................... 5 4. Phạm vi nghiên cứu và giới hạn .................................................................... 5 5. Phương pháp nghiên cứu ............................................................................... 6 6. Giả thuyết khoa học ...................................................................................... 6 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT VỀ HIỆU NĂNG PHẦN MỀM ............. 7 1.1. Tổng quan về hiệu năng phần mềm và ứng dụng ...................................... 7 1.2. Các khái niệm cơ bản trong đo lường hiệu năng ....................................... 8 1.3. Kỹ nghệ hiệu năng 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ử và giám sát hiệu năng ...................................... 13 1.4. Tiểu kết chương........................................................................................ 14 CHƯƠNG 2. GIÁ TRỊ TÍNH NĂNG VÀ ĐO LƯỜNG HỆ THỐNG .......... 15 2.1. Hệ thống xử lý sự kiện EP ....................................................................... 15 2.1.1. Tổng quan EP ........................................................................................ 15 2.1.2. Chức năng xử lý sự kiện ....................................................................... 16 2.2. Khái niệm và phân loại giá trị tính năng .................................................. 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 trong khoa học máy tính và hiệu năng phần mềm ............... 20 2.5. Tiểu kết chương........................................................................................ 21 CHƯƠNG 3. 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 và cột (Selection and Projection Filters) ............................................................................................................. 23 3.1.2. Tổng hợp và 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 và Bộ nhớ ..................................... 37 3.2.1. Phân tích hiệu năng ............................................................................... 38 a) Thử nghiệm ................................................................................................. 38 b) Thiết lập và phương pháp luận:.................................................................. 40 c) Kết quả ........................................................................................................ 41 3.2.2. Tối ưu hóa cấu trúc dữ liệu ................................................................... 42 3.2.3. Cải thiện hiệu quả các 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 bản 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 4. Á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 các 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ể của 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á các giá trị tính năng Điểm chuẩn vi mô ......... 58 4.3. Thực nghiệm đo đánh giá các giá trị tính năng Điểm chuẩn vĩ mô ......... 65 4.4. Một số nhận xét và 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ở dữ 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 1 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ụ bộ nhớ (MB) của máy được kiểm thử (cửa sổ 10 phút)....... 27 Bảng 3.3: Tiêu thụ bộ nhớ (MB) của máy cho các cửa sổ dựa trên thời gian lớn. ............................................................................................................................. 28 Bảng 3.4: Cấu trúc dữ liệu và mức tiêu thụ bộ nhớ (MB): truy vấn tổng hợp. .. 44 Bảng 3.5: Cấu trúc dữ liệu và mức tiêu thụ bộ nhớ (MB): truy vấn kết hợp. ..... 44 Bảng 3.6: Thuật toán nhận biết bộ nhớ đệm để tính toán các kết hợp cửa sổ trượt. .................................................................................................................... 48 Bảng 4.1: Kết quả đo hiệu năng CPU và Memory.............................................. 67 Bảng 4.2: Kết quả đo hiệu năng cơ sở dữ liệu của báo cáo 10 tỉnh .................... 68 Bảng 4.3: Kết quả đo hiệu năng cơ sở dữ liệu chạy tổng hợp báo cáo của cả nước ..................................................................................................................... 69 Bảng 4.4: Kết quả đo hiệu năng CPU và Memory tổng hợp báo cáo trên cả nước ............................................................................................................................. 70 DANH MỤC HÌNH VẼ Hình 1.1: Một phần phổ biến của thời gian phản hồi .......................................... 8 Hình 1.2: Mối quan hệ giữa thời gian phản hồi, thông lượng và sử dụng tài nguyên với khối lượng công ................................................................................. 9 Hình 1.3: Một mô hình đơn giản cho một quy trình SPE hội tụ ........................ 11 Hình 1.4: Tích hợp SPE trong quá trình phát triển phần mềm ........................... 12 Hình 2.1: Tổng quan về xử lý sự kiện. ................................................................ 15 Hình 2.2: Cấu trúc của một ứng dụng xử lý sự kiện . ......................................... 17 Hình 2.3: Các kiểu kiểm thử hiệu năng và Điểm chuẩn khác nhau .................... 18 Hình 3.1: Truy vấn lọc kiểm thử. ........................................................................ 23 Hình 3.2: Kết quả của kiểm thử lọc (Selection và Projection). .......................... 24 Hình 3.3: Tổng hợp các truy vấn kiểm thử cửa sổ dựa vào đếm. ....................... 24 Hình 3.4: Kết quả của kiểm thử tổng hợp: các kích cỡ cửa sổ và chính sách khác nhau. .................................................................................................................... 25 2 Hình 3.5: Sử dụng CPU của động cơ X trong quá trình kiểm thử tổng hợp. ..... 25 Hình 3.6: Hiệu năng của tổng hợp MEDIAN và SUM. ...................................... 26 Hình 3.7: Hai phiên bản truy vấn tổng hợp trong một cửa sổ dựa trên thời gian. ............................................................................................................................. 27 Hình 3.8: Kết quả của sự tổng hợp trong thời gian thử nghiệm cửa sổ thời gian lớn (động cơ 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 quả của 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 quả của 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 quả của 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 quả của kiểm thử khả năng mở rộng .......................................... 36 Hình 3.17: Lược đồ của sự kiện đầu vào "S". ..................................................... 39 Hình 3.18: Lược đồ của 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 năng của truy vấn kết nối trên máy Esper EP. ......................... 41 Hình 3.22: Mối quan hệ giữa hiệu năng ứng dụng và chỉ số phần cứng. ........... 42 Hình 3.23: Cấu trúc dữ liệu khác nhau được sử dụng để biểu diễn tập hợp. ...... 43 Hình 3.24: Ảnh hưởng của sự thể hiện bên trong về hiệu năng ......................... 44 Hình 3.25: Truy vấn dữ liệu và chu kỳ trên mỗi lệnh. ........................................ 47 Hình 3.26: Thuật toán lưu trữ cột truyền thống so với thuật toán nhận dạng bộ 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 trong một kịch bản nhiều truy vấn. ................................ 53 Hình 3.29: Tối ưu hóa về 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ụ của hệ thống ......................................................... 57 Hình 4.3: Giao diện phần mềm Server Profiler .................................................. 59 Hình 4.4: Kết quả thực nghiệm trên phần mềm .................................................. 60 3 Hình 4.5: Cấu hình chức năng Tuning Advisor .................................................. 62 Hình 4.6: Kết quả thực hiện chức năng 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 quả hiệu năng CPU và Memory ................................................... 67 Hình 4.9: Biểu đồ thể hiện thực hiện mệnh đề Selection .................................... 70 Hình 4.10: Biểu đồ thể hiện thực hiện mệnh đề Projection ................................ 71 Hình 4.11: Biểu đồ thể hiện thực hiện mệnh đề Join .......................................... 71 Hình 4.12: Biểu đồ thể hiện mối quan hệ giữa memory và CPU khi thực hiện báo cáo tổng hợp của các tỉnh ............................................................................. 72 Hình 4.13: Biểu đồ thể hiện mối quan hệ giữa thời gian sử dụng và % CPU khi thực hiện báo cáo tổng hợp của các tỉnh ............................................................. 72 4 MỞ ĐẦU 1. Lý do chọn đề tài Bên cạnh những yếu tố như giao diện, khả năng tương thích, chức năng của ứng dụng và bảo mật, thì yếu tố hiệu năng là một trong những vấn đề rất quan trọng để đánh giá hệ thống và khả năng mở rộng của ứng dụng. Việc xác định số người dùng tối đa, sức tải công việc cũng như thời gian xử lý các giao tác của các ứng dụng là rất quan trọng trong quá trình xây dựng ứng dụng và cơ sở dữ liệu. Kiểm thử 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 dụng trong môi trường nhiều người dùng, có nhiều hoạt động khác nhau. Kết quả kiểm thử nhằm đánh giá khả năng của hệ thống để có sự điều chỉnh hợp lý về hệ thống phần cứng hay các phần mềm phát triển ứng dụng. Khả năng đáp ứng yêu cầu người dùng, mức tải đáp ứng, là điều kiện cần thiết trong việc phát triển và mở rộng ứng dụng. 2. Mục đích nghiên cứu Nghiên cứu về lĩnh vực phương pháp điểm chuẩn (Benchmark), xác định tầm quan trọng và vai trò của điểm chuẩn trong kỹ thuật phần mềm, bao gồm 2 kiểu điểm chuẩn phổ biến: điểm chuẩn vi mô và điểm chuẩn vĩ mô, từ đó đưa ra phân tích thống kê các kết quả điểm chuẩn. Nghiên cứu bộ công cụ giám sát, giới thiệu một số khung giám sát, đánh giá hiệu năng phần mềm và điểm chuẩn hệ thống. Đo hiệu năng trên hệ thống phần mềm quản lý cơ sở dữ liệu các dân tộc thiểu số Việt Nam. 3. Nhiệm vụ nghiên cứu Trong luận văn này em xin đề ra 3 nhiệm vụ cụ thể như sau: Nhiệm vụ thứ nhất: Tổng hợp tìm hiểu cơ sở lý thuyết về hiệu năng phần mềm và lý thuyết về giá trị tính năng và đo lường hệ thống. Nhiệm vụ thứ hai: Đi sâu vào rìm hiểu phương pháp đo lường giá trị và điểm chuẩn (Benchmarking) tính năng của hệ thống phần mềm. Nhiệm vụ thứ ba: Áp dụng thử nghiệm phương pháp đo lường giá trị 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. 4. Phạm vi nghiên cứu và giới hạn Luận văn này nghiên cứu phương pháp điểm chuẩn (Benchmark) để đánh giá, đo lường hiệu năng hoạt động của phần mềm và ứng dụng. Trong đó có nghiên cứu 2 loại điểm chuẩn: Điểm chuẩn vi mô và điểm chuẩn vĩ mô. 5 Việc thực hiện đo hiệu năng phần mềm được thực hiện trực tiếp trên hệ thống cơ sở dữ liệu đang chạy trên hạ tầng tại Ủy ban Dân tộc. Có một số thời điểm bị tác động của các yếu tố bên ngoài không mong muốn như số lượng người dùng, hệ thống tài nguyên máy chủ và đường truyền. Công cụ thực nghiệm dựa trên một số công cụ của Microsoft như: Server Profiler, Performane Monitor, Tuning. 5. Phương pháp nghiên cứu Nghiên cứu sẽ được tiến hành thông qua cả hai phương pháp diễn dịch và quy nạp, sau đó sẽ tập trung vào một phương pháp tiếp cận cụ thể. Nghiên cứu, tổng hợp kiến thức lý thuyết trên lớp học và các bài báo liên quan về việc thực hiện đánh giá, đo lường hiệu năng; thu thập, khảo sát và xin ý kiến góp ý của các chuyên gia. 6. Giả thuyết khoa học Về lý thuyết: Các tư liệu và thông tin liên quan chủ yếu được thu thập, tổng hợp từ các nguồn sau: Các tạp chí, công trình khoa học chuyên ngành trong và ngoài nước, trên mạng, sách về công nghệ thông tin và bài giảng. Tổng hợp, thu thập các thông tin liên quan, lựa chọn các phương pháp và các tiếp cận đã được áp dụng thành công. Trao đổi với thầy hướng dẫn và các đồng nghiệp cùng lĩnh vực nghiên cứu. Tham gia báo cáo tại các hội thảo khoa học nhằm nâng cao khả năng nghiên cứu và cách trình bày bài báo khoa học, kiểm chứng đánh giá các kết quả nghiên cứu. Về thực nghiệm: Tìm hiểu mô hình quản lý cơ sở dữ liệu các dân tộc thiểu số Việt Nam, công nghệ xây dựng cơ sở dữ liệu và các công cụ đánh giá, theo dõi hiệu năng ứng dụng. Ứng dụng công cụ của Microsoft để thực nghiệm các phép đo hiệu năng của hệ thống phần mềm. 6 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT VỀ HIỆU NĂNG PHẦN MỀM 1.1. Tổng quan về hiệu năng phần mềm và ứng dụng Việc xác định số người dùng tối đa, sức tải công việc cũng như thời gian xử lý các giao tác của các ứng dụng là rất quan trọng trong quá trình phát triển và xây dựng ứng dụng và cơ sở dữ liệu. Hiệu năng là một trong những thuộc tính có tính chất và các yêu cầu phi chức năng quan trọng nhất đối với các hệ thống phần mềm. Trong thời gian gần đây, qua các nghiên cứu và khảo sát, hiệu năng của hệ thống phần mềm và các phép đo hiệu năng vẫn là một trong những thách thức quan trọng nhất trong kỹ thuật phần mềm. Hiệu năng ứng dụng là một trường hợp đặc biệt của hiệu năng phần mềm nói chung. Do đó, các định nghĩa cho hiệu năng phần mềm cũng có thể áp dụng cho hiệu năng ứng dụng Hiệu năng phần mềm: là mức độ mà một hệ thống hoặc một bộ phận đạt được tiêu chí chức năng của nó trong những ràng buộc nhất định như tốc độ, độ chính xác hoặc bộ nhớ sử dụng. Một trong những đặc điểm chính ảnh hưởng đến chất lượng phần mềm là hiệu quả hoạt động, được chia thành ba đặc tính: hành vi thời gian (Time behavior), sử dụng tài nguyên (Resource utilization) và công suất (Capacity). Theo tiêu chuẩn ISO / IEC 25010: 2011 [10]: Hành vi thời gian: Mức độ đáp ứng và thời gian xử lý, tốc độ thông lượng của một sản phẩm đạt yêu cầu. Sử dụng tài nguyên: mức độ mà tổng số và loại tài nguyên được sử dụng bởi một sản phẩm đạt yêu cầu. Công suất: Mức độ giới hạn tối đa của một sản phẩm đáp ứng yêu cầu. Định nghĩa này về hiệu năng phần mềm là toàn diện trong đó bao gồm việc sử dụng tài nguyên và công suất, nhưng bỏ qua tương quan hành vi thời gian với việc sử dụng tài nguyên và công suất. Tương tự định nghĩa được đưa ra bởi Jain [3] trong khi Smith và Williams [4] cung cấp một định nghĩa tập trung vào hành vi thời gian như sau: Hiệu năng phần mềm: là mức độ mà một hệ thống hoặc thành phần phần mềm đáp ứng các mục tiêu của nó cho kịp thời. Theo định nghĩa của Smith và Williams [4], tính kịp thời có thể được đo bằng thời gian đáp ứng và thông lượng với việc đo khả năng đáp ứng và mở rộng của 7 hai chiều. Khả năng mở rộng là khả năng đáp ứng các yêu cầu này với nhu cầu ngày càng tăng. Cần lưu ý rằng bất kỳ chỉ số hiệu năng nào được sử dụng trong các định nghĩa này đều đều cầu các phép đo làm cơ sở. Những phép đo này có thể quan tâm hành vi thời gian hoặc sử dụng tài nguyên của ứng dụng. Định nghĩa đo lường và các thuật ngữ liên quan được đưa ra trong phần tiếp theo. 1.2. Các khái niệm cơ bản trong đo lường hiệu năng Có nhiều định nghĩa trong đo lường hiệu năng. Đo lường hiệu năng là hành động kiểm định, đánh giá phần mềm, một thành phần hoặc phần cứng có đúng với yêu cầu về hiệu năng và tối ưu hóa hiệu năng của nó. Một cách định nghĩa khác của đo hiệu năng là xác định thời gian phản hồi (Responsiveness), thông lượng (throughput), công suất (Capacity) của hệ thống theo khối lượng công việc (workload). Thời gian phản hồi: là khoảng thời gian giữa yêu cầu của người sử dụng và phản hồi của một hệ thống Hình 0.1: Một phần phổ biến của thời gian phản hồi [4] Định nghĩa này phù hợp nhất cho các hệ thống phân tán, chẳng hạn như các dịch vụ dựa trên web. Loại đo lường đầu cuối này thường là một điểm khởi đầu tốt trong việc phân tích hiệu năng của hệ thống phần mềm. Các phương pháp đo khác, chẳng hạn như giám sát (trong phần tiếp theo), cung cấp một cái nhìn sâu hơn các hệ thống và yêu cầu các định nghĩa khác nhau của đo thời gian đáp ứng. Thông lượng hệ thống: Là một phép đo quan trọng khác cho hiệu năng của một hệ thống phần mềm. Nó được định nghĩa là số lượng yêu cầu có thể được xử lý trong khoảng thời gian cố định. Ví dụ, trong trường hợp một ứng dụng web, nó thường được định nghĩa là các yêu cầu trang web trong mỗi giây. Thời 8 gian đáp ứng và thông lượng tạo thành một mối quan hệ, đó là một thời gian phản ứng thấp thường dẫn đến một thông lượng cao, trong khi thời gian đáp ứng cao gây ra lượng thông lượng thấp. Khối lượng công việc: Bên cạnh thời gian phản hồi, thông lượng của một hệ thống phụ thuộc vào khối lượng công việc. Khối lượng công việc của một hệ thống là số yêu cầu được thực hiện trong một khoảng thời gian nhất định, ví dụ: số lượng người dùng đồng thời trên mỗi giây yêu cầu một trang web. Một mặt, một khối lượng công việc thấp, ít yêu cầu cho hệ thống, kết quả trong thông lượng thấp, mặt khác, một khối lượng công việc quá cao dẫn đến sử dụng nguồn lực cao và kết quả thời gian đáp ứng cao hơn dẫn đến thông lượng cũng thấp hơn. Hình 0.2: Mối quan hệ giữa thời gian phản hồi, thông lượng và sử dụng tài nguyên với khối lượng công [4] Một phép đo quan trọng nữa là việc sử dụng tài nguyên. Tài nguyên trong một hệ thống phần mềm có thể là tài nguyên phần cứng, chẳng hạn như thời gian CPU hoặc bộ nhớ có sẵn, nhưng cũng có thể là tài nguyên phần mềm, chẳng hạn như các thread có sẵn trong một luồng thread hoặc các kết nối cơ sở dữ liệu tự do. Với khối lượng công việc ngày càng tăng, các tài nguyên trở nên ngày càng được sử dụng, cho đến khi một hoặc nhiều tài nguyên được sử dụng 9 và không thể phục vụ các yêu cầu tiếp theo, do đó tạo ra một nút cổ chai (bottleneck). Công suất của một hệ thống là số lượng các nguồn lực sẵn có trong quan hệ với khối lượng công việc, khối lượng công việc có thể mà không có bất kỳ tác động bất lợi trên thời gian đáp ứng hoặc thông lượng của hệ thống. Các mối quan hệ đã đề cập giữa thời gian phản ứng, thông lượng (Đường số 2), và sử dụng tài nguyên (Đường số 1) trên một trục và tăng khối lượng công việc trên trục khác được minh họa trong Hình 1.2. Miễn là khối lượng công việc được miêu tả công suất của hệ thống, các tỷ lệ đo xấp xỉ bằng tuyến tính với khối lượng công việc tăng. Khi việc sử dụng tài nguyên đạt đến mức tối đa của nó, thời gian đáp ứng (Đường số 3) bắt đầu tăng theo số mũ và thông lượng giảm. Theo định nghĩa của Smith và Williams [4], một hệ thống có khả năng đáp ứng tốt nếu nó đáp ứng các yêu cầu về hiệu năng về mặt thông lượng và thời gian đáp ứng cho một khối lượng công việc nhất định. 1.3. Kỹ nghệ hiệu năng phần mềm Thuật ngữ kỹ nghệ hiệu năng phần mềm (SPE) được đưa bởi Smith [4] cho một cách tiếp cận dựa trên mô hình để xây dựng các hệ thống phần mềm đáp ứng các yêu cầu hiệu năng. Smith và Williams [4] áp dụng cách tiếp cận này đối với các hệ thống hướng đối tượng. Trong cách tiếp cận của họ, mô hình hiệu năng được xây dựng trong quá trình phát triển ban đầu của hệ thống phần mềm để dự đoán hiệu năng dự kiến của hệ thống. Woodside và cộng sự [4], cung cấp một định nghĩa rộng hơn của kỹ nghệ hiệu năng phần mềm, bao gồm tiếp cận dựa trên đo lường. Đo lường hiệu năng bổ sung và xác nhận các mô hình dự báo hiệu năng. Định nghĩa như sau: Kỹ nghệ hiệu năng phần mềm (SPE): đại diện cho toàn bộ tập hợp các hoạt động về kỹ năng phần mềm và các phân tích liên quan được sử dụng trong suốt chu kỳ phát triển phần mềm, được hướng tới đáp ứng yêu cầu về hiệu năng. 1.3.1. Tiến trình SPE hội tụ Theo định nghĩa của SPE, cung cấp một mô hình cho một quy trình SPE thu được kết hợp được trình bày trong Hình 1.3. Ký hiệu của mô hình dựa trên nhóm quản lý đối tượng mô hình kỹ nghệ xử lý phần mềm và hệ thống SPEM 2.0. Mô tả về tiến trình SPE hội tụ được cung cấp sau khi rút ngắn mô hình SPEM. 10 Hình 0.3: Một mô hình đơn giản cho một quy trình SPE hội tụ [4,5] Mô tả tiến trình SPE hội tụ: Tiến trình SPE hội tụ (Hình 1.3) kết hợp hiệu năng dựa trên mô hình các phương pháp dự đoán với các phương pháp dựa vào đo lường. Mô tả của quy trình như sau [5]: Ở phía trên cùng của biểu đồ, các thành phần yêu cầu của mỗi hệ thống phần mềm phân tích với quá trình SPE được hiển thị. Danh sách performance requirements hoạt động như là mục tiêu của phân tích và tối ưu hiệu năng. Những yêu cầu này ảnh hưởng đến đặc tả thiết kế của hệ thống phần mềm. Các yêu cầu kết hợp với design specification xác định việc xây dựng mô hình hiệu năng, kiểm thử hiệu năng thiết kế, phát triển và triển khai hệ thống. Hai thành phần cuối cùng, kịch bản và hồ sơ hoạt động, thường là cung cấp thông qua expertise của một miền hoặc chuyên gia hiệu năng. Scenarios của hệ thống phần mềm tương ứng với các trường hợp sử dụng điển hình của hệ thống. Do đó, chúng ảnh hưởng đến cả ba con đường của kỹ nghệ hiệu năng. Operational profiles bao gồm kiến thức về việc sử dụng thực tế hoặc dự kiến của hệ thống, do đó việc triển khai nguyên giao thức được yêu cầu và chỉ áp dụng cho các cách tiếp cận dựa vào đo lường. Ở phần giữa của sơ đồ, hai cách tiếp cận riêng biệt để kỹ nghệ hiệu năng phần mềm được miêu tả. Ở phía bên trái của phần này, phương pháp dự đoán hiệu 11 năng dựa trên mô hình được đưa ra, trong khi trên bên phải, hai cách tiếp cận dựa trên đo lường khác nhau được đưa ra. Trong trường hợp phương pháp dự đoán hiệu năng dựa trên mô hình, yêu cầu về hiệu năng, đặc tả thiết kế, và các kịch bản hành động là đầu vào cho hoạt động performance model building. Parameter estimate được cung cấp bởi giám sát của một chuyên gia và thực hiện vai trò tương tự hồ sơ hoạt động cho các phương pháp dựa vào đo lường. Các kết quả của hoạt động này là performance model của hệ thống phần mềm. Mô hình này được đánh giá trong bước performance model solving, dẫn đến performance model results. Các cách tiếp cận dựa trên các phép đo phân biệt giữa kiểm thử và giám sát hiệu năng. Các bài kiểm thử về hiệu năng, chẳng hạn như định hình hệ thống thường được thực hiện trong thời gian phát triển của một dự án phần mềm, trong khi giám sát thường được thực hiện trên hệ thống sống trong điều kiện thực tế. Như vậy, performance test design có thể làm việc với nguyên mẫu hoặc thực hiện một phần, trong khi giám sát đòi hỏi sự phát triển và triển khai toàn bộ hệ thống (develop & deploy system). Tiếp theo hoạt động là để chạy performance tests hoặc để monitor the live system kết quả trong performance test results hoặc monitoring results. Hình 0.4: Tích hợp SPE trong quá trình phát triển phần mềm [4] Cuối cùng, kết quả thực hiện của ba con đường theo ba trường hợp có thể giúp cải thiện ước lượng tham số, để tinh chỉnh cấu hình hoạt động, hoặc để xác nhận xây dựng mô hình hiệu năng. Interpretation of performance results dẫn đến performance-related conclusions có thể được sử dụng để tối ưu hóa design specification và nâng cao expertise. Như vậy, bên cạnh sự kết hợp được đề cập của mô hình dựa trên các phương pháp tiên đoán hiệu năng với phương pháp tiếp cận dựa vào đo lường, quy trình SPE hội tụ cũng bao gồm một chu trình điều chỉnh hiệu năng. 12 1.3.2. Lập mô hình, kiểm thử và giám sát hiệu năng Trong phần trước, đã giới thiệu cách tiếp cận dựa trên mô hình hóa phần mềm, mô hình hiệu năng, cũng như hai phương pháp SPE dựa trên đo khác nhau, kiểm thử hiệu năng và giám sát hiệu năng. Trong phần này, cung cấp thêm chi tiết về ba cách tiếp cận. Quá trình SPE hội tụ thể hiện quan điểm của kỹ nghệ hiệu năng phần mềm. Ngược lại, Hình 1.4 trình bày ba phương pháp SPE từ quan điểm của một kỹ nghệ phần mềm truyền thống. Vì vậy, chúng bao gồm các giai đoạn phát triển phần mềm điển hình, chẳng hạn như mô hình thác nước. Như đã đề cập trong hội tụ SPE, mô hình hiệu năng thường được thực hiện trong thời gian đầu các giai đoạn phát triển phần mềm. Cách tiếp cận đo lường hiệu năng, chẳng hạn như kiểm thử và giám sát, thường đòi hỏi ít nhất một nguyên mẫu. Kiểm thử hiệu năng, chẳng hạn như tính năng hồ sơ của hệ thống, thường bắt đầu vào đầu các bước thực thi, trong khi giám sát hiệu năng thường được thực hiện trên hệ thống trực tiếp sau khi triển khai. Một phân loại tương tự các kỹ thuật đánh giá hiệu năng vào lập mô hình và đo lường hiệu năng được thực hiện bởi John [4]. Lập mô hình hiệu năng, bao gồm mô phỏng và lập mô hình phân tích, được tiến hành ngay từ khi bắt đầu quá trình phát triển. Đo lường hiệu năng được thực hiện trong các giai đoạn sau của quá trình phát triển để xác nhận các mô hình hiện có. Tương tự với việc tích hợp vào quá trình hội tụ SPE, điều chỉnh hiệu năng có thể được tích hợp vào các quy trình phát triển phần mềm. Thông thường được thực hiện bằng cách thêm một hoặc nhiều kiểm thử để có hiệu năng chấp nhận được vào mô hình, kết hợp với các nhánh vào giai đoạn đầu của tiến trình phát triển nếu các tiêu chí về hiệu năng không được đáp ứng. Các công cụ kiểm thử hiệu năng có thể được chia thành hai loại: workload generation tools và profiling tools. Các các kịch bản và hồ sơ hoạt động được đề cập trong quy trình hội tụ SPE hoạt động như là đầu vào cho workload generation tools và xác định mong muốn đầu ra của các công cụ này. Profiling tools được sử dụng để thu thập thông tin sự kiện và thời gian chạy của hệ thống đang thử. Thông tin thu thập thông thường bao gồm việc sử dụng heap, tuổi thọ vật dụng, thời gian lãng phí, và thời gian sử dụng. Nói chung có hai cách tiếp cận khác nhau để định hình một hệ thống phần mềm: định hình chính xác và lấy mẫu dựa trên hồ sơ. Việc định hình chính xác thường rất chính xác và thu thập tất cả các sự kiện trong suốt việc thực hiện hệ thống, do đó gây 13 ra một chi phí cao (xem chương IV sử dụng công cụ của Microsoft). Mặt khác, lấy mẫu dựa trên profiling thường chỉ ghi lại một tập hợp con các thông tin có sẵn và sử dụng phương pháp thống kê để suy ra chi tiết trên toàn bộ hệ thống. Kiểm thử hiệu năng phần mềm thường được phân thành ba loại: kiểm thử tải, kiểm thử sức ép, độ bền. Trong kiểm thử tải, khối lượng công việc bình thường hoặc dự kiến của một hệ thống được sử dụng. Do đó nó cung cấp các gợi ý về hành vi thông thường hoặc hàng ngày của hệ thống. Trong kiểm thử sức ép, một khối lượng công việc lớn hơn bình thường được sử dụng. Việc kiểm thử này nhằm mục đích tìm ra giới hạn năng lực trên hệ thống. Đối với kiểm thử độ bền, tải trọng hoặc khối lượng công việc được sử dụng thời gian dài. Do đó, có thể phát hiện các rủi ro và để đánh giá hiệu năng cho các hệ thống chạy lâu. 1.4. Tiểu kết chương Bên cạnh những yếu tố như giao diện, khả năng tương thích, chức năng của ứng dụng và bảo mật, thì yếu tố hiệu năng là một trong những vấn đề rất quan trọng để đánh giá hệ thống và khả năng mở rộng của ứng dụng. Kiểm thử hiệu năng là hoạt động cần thiết cho việc phát triển những giải pháp tối ưu hóa hiệu năng cho phần mềm. Kiểm thử hiệu năng giúp chúng ta tránh được các tình huống không lường trước khi triển khai ứng dụng trong môi trường thực tế. Trong chương này chúng ta đã tìm hiểu về một số các thông số liên quan đến đánh giá hiệu năng của phần mềm như: responsiveness, throughput, resource utilization, capacity, workload; giới thiệu mô hình để theo dõi và hiệu chỉnh hiệu năng trong quá trình phát triển phần mềm; sử dụng giá trị đo Điểm chuẩn để đánh giá hiệu năng của ứng dụng. Trong chương tiếp theo, chúng ta tiếp tục nghiên cứu về tầm quan trọng và vai trò của giá trị đo Điểm chuẩn trong kỹ thuật phần mềm phục vụ để đo hiệu năng của một nền tảng hoặc một hệ thống khác. 14
- Xem thêm -

Tài liệu liên quan