1. Trang chủ
  2. » Công Nghệ Thông Tin

Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm thử nghiệm áp dụng cho ứng dụng web

78 224 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 78
Dung lượng 1,32 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong luận văn này, tôi nghiên cứu việc thực hiện Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm - Thử nghiệm áp dụng cho ứng dụng Web, thông qua đo lường và mô hình hóa như các

Trang 1

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi trong đó có sự

giúp đỡ rất lớn của thầy hướng dẫn PGS.TS Huỳnh Quyết Thắng

Các nội dung nghiên cứu, số liệu và kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Trong luận văn, tôi có tham khảo đến một số tài liệu đã được liệt kê tại phần Tài liệu tham khảo ở cuối luận văn Các tài liệu tham khảo được trích dẫn trung thực trong luận văn

Hà Nội, ngày… tháng … năm 2016

Tác giả

Nguyễn Thanh Phong

Trang 2

LỜI CẢM ƠN

Trước tiên, tôi xin chân thành cảm ơn PGS.TS Huỳnh Quyết Thắng

đã dành thời gian quý báu, tận tình hướng dẫn chỉ bảo, góp ý cho tôi trong suốt quá trình thực hiện luận văn tốt nghiệp

Tôi xin được cảm ơn sự giúp đỡ nhiệt tình của các Thầy giáo, Cô giáo trong Viện Đào tạo Sau đại học – Đại học Bách Khoa

Đặc biệt, tôi xin được bày tỏ lòng biết ơn sâu sắc tới các Thầy giáo, Cô giáo trong Viện Công nghệ thông tin và Truyền thông đã tham gia giảng dạy tôi trong quá trình học tập tại Trường Các thầy cô đã tận tình giảng dạy, truyền đạt kiến thức, tạo tiền đề cho tôi hoàn thành luận văn

Cuối cùng, tôi xin chân thành cảm ơn các bạn bè, đồng nghiệp và nhất

là gia đình tôi đã quan tâm và tạo mọi điều kiện tốt nhất, động viên, cổ vũ tôi trong suốt quá trình học tập và nghiên cứu để hoàn thành tốt luận văn tốt nghiệp này

Xin trân trọng cảm ơn!

Hà Nội, ngày … tháng … năm 2016

Tác giả

Nguyễn Thanh Phong

Trang 3

MỤC LỤC Trang phụ bìa Trang

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT vi

DANH MỤC CÁC BẢNG, CÁC HÌNH vii

MỞ ĐẦU 1

CHƯƠNG 1 ĐÁNH GIÁ HIỆU NĂNG PHẦN MỀM 3

1.1 Khái niệm đánh giá hiệu năng 3

1.2 Vì sao nên thực hiện kiểm tra đánh giá hiệu năng và các bước thực hiện trong đánh giá hiệu năng 3

1.3 Các phương pháp đánh giá hiệu năng 5

1.4 Các phương pháp mô hình hóa đánh giá hiệu năng 10

1.4.1 Mô hình mạnghàng đợi (Queuing Networks) 10

1.4.2 Mô hình mạng Petri (Petri Nets) 11

1.4.3 Mô hình lai (Hybrid Models) 12

1.4.4 Mô hình đồ thị (Graph Models) 13

1.4.5 Đánh giá chung về các phương pháp mô hình hoá 13

1.5 Phương pháp đánh giá qua mô hình hàng đợi 15

1.5.1.Định nghĩa hàng đợi 15

1.5.2.Đặc điểm hệ thống hàng đợi 16

1.5.3.Các thông số hiệu năng thường dùng trong mô hình hàng đợi 18

1.6 Phân loại mạng hàng đợi và các kỹ thuật hàng đợi 19

1.6.1 Hàng đợi FIFO (First in – First Out Queuing) 20

1.6.2 Hàng đợi ưu tiên PQ 21

1.6.3 Hàng đợi tùy chọn CQ (Custom Queuing) 22

Trang 4

1.6.4 Hàng đợi cân bằng có trọng số WFQ 23

1.7 Một số hàng đợi cơ bản 24

1.7.1 Hàng đợi Markov M/M/1 25

1.7.2 Hàng đợi không Markov M/G/1 27

1.7.3 Các hàng đợi nhiều trạm dịch vụ: M/M/n 28

1.8 Ứng dụng hàng đợi trong đánh giá hiệu năng 30

1.9 Kết luận chương 1 31

CHƯƠNG 2 ĐẶC THÙ ỨNG DỤNG WEB VÀ CÁC QUY TRÌNH KHI THỰC HIỆN ĐÁNH GIÁ HIỆU NĂNG MỘT ỨNG DỤNG WEB 32

2.1 Đặc thù ứng dụng Web 32

2.2 Đặc điểm về chất lượng của một ứng dụng Web 32

2.3 Quy trình khi thực hiệnđánh giá hiệu năng ứng dụng Web 33

2.3.1 Kiểm tra chức năng (hồi quy, tích hợp, kiểm tra khói) 34

2.3.2 Kiểm tra sự tương thích trình duyệt 36

2.3.3 Kiểm tra bảo mật 37

2.3.4 Giám sát sản xuất 37

2.3.5 Kiểm tra khả năng sử dụng 38

2.3.6 Đánh giá hiệu năng về mặt thời gian đáp ứng qua mô hình hàng đợi 39

2.4 Đánh giá hiệu năng web với công cụ JMeter 42

2.4.1 Sơ lược công cụ đánh giá hiệu năng JMeter 42

2.4.2 Đặc trưng của JMeter 43

2.5 Kết luận chương 2: 44

CHƯƠNG 3 ÁP DỤNG PHƯƠNG PHÁP ĐÁNH GIÁ HIỆU NĂNG CHO HỆ THỐNG QUẢN LÝ CỔNG THÔNG TIN ĐÀO TẠO TÍN CHỈ TRƯỜNG ĐẠI HỌC LÂM NGHIỆP VIỆT NAM 45

3.1 Giới thiệu web Cổng thông tin đào tạo tín chỉ - Trường Đại học Lâm Nghiệp Việt Nam 45

Trang 5

3.1.1 Chức năng chính của Web Cổng thông tin đào tạo tín chỉ 45

3.1.2 Cơ sở dữ liệu 46

3.2 Thực nghiệm áp dụng đánh giá hiệu năng 46

3.2.1 Các bước tiến hành đánh giá 46

3.2.2 Kết quả và đánh giá 47

3.3 Kết luận chương 3 66

KẾT LUẬN VÀ KIẾN NGHỊ 68

A Kết luận 68

B Kiến nghị 69

C Hướng phát triển của đề tài 69

DANH MỤC TÀI LIỆU THAM KHẢO

Trang 6

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

QN Queuing Networks Mô hình mạng hàng đợi FIFO First In First Out Vào trước ra trước

PQ Priority Queue Hàng đợi ưu tiên

FQ Fair Queue Hàng đợi cân bằng

WFQ Weighted Fair Queue Hàng đợi cân bằng có trọng số

RR Round Robin Thuật toán xoay vòng

LIFO Last In First Out Vào sau ra trước

Trang 7

DANH MỤC CÁC BẢNG

Bảng 1: Bảng so sánh ba phương pháp đánh giá hiệu năng 7

DANH MỤC CÁC HÌNH Hình 1.1 Mô hình chung của hệ thống hàng đợi 15

Hình 1.2 Mô hình mạng hàng đợi đóng 20

Hình 1.3 Mô hình mạng hàng đợi mở 20

Hình 1.4 Hoạt động của hàng đợi FIFO 21

Hình 1.5 Hoạt động của hàng đợi PQ 22

Hình 1.6 Hoạt động của hàng đợi WFQ 24

Hình 1.7 Hàng đợi M/M/1 25

Hình 1.8 Chuỗi Markov của hàng đợi M/M/1 25

Hình 1.9 Mô hình hàng đợi M/G/1 27

Hình 1.10 Mô hình hàng đợi M/M/n 28

Hình 1.11 Chuỗi Markov của hàng đợi M/M/n 28

Hình 3.1 Biểu đồ tỷ lệ % thành công sau 5 lần test với TH1 53

Hình 3.2 Biểu đồ tỷ lệ % thành công trong 5 lần test với TH2 59

Trang 8

MỞ ĐẦU

Internet giờ là một công cụ để người sử dụng thường tương tác với các trang web, trong đó có nhiều tính năng hoạt động theo người sử dụng Những trang web giờ được tạo ra với nội dung phù hợp với yêu cầu người dùng thay vì chỉ phục vụ các trang web tĩnh Do các chức năng tương tác

và cung cấp bởi các trang web động giờ thích hợp hơn và nó được coi như một ứng dụng web

Song song với việc cung cấp các chức năng cần thiết, các ứng dụng web cần phải được nhanh chóng và đáp ứng đủ các yêu cầu của người dùng như vậy người dùng tìm kiếm và trải nghiệm web của họ sẽ không cảm thấy khó chịu Từ kinh nghiệm cá nhân của một người dùng, dễ dàng nhận ra rằng các trang web mà mất thời gian để đáp ứng được yêu cầu của người sử dụng sẽ dần dần bị loại trừ Với việc tăng trưởng dân số sử dụng internet như hiện nay

và thị trường thương mại điện tử đang phát triển mạnh mẽ, tương lai sẽ nhìn thấy nhiều hơn nữa về sự hiện diện web kinh doanh theo mẫu của các ứng dụng web

Tuy nhiên, để duy trì hoạt động có hiệu quả các ứng dụng web kinh doanh

đó thì các ứng dụng web đó sẽ phải thực sự nghiêm túc trong hoạt động và quản lý

Dựa trên một nghiên cứu của người mua trực tuyến bởi Forrester Consulting[6], 40% khách hàng sẽ bỏ qua một ứng dụng web nếu tải trang web dài hơn ba giây và hiệu năng phục vụ không đáp ứng được theo yêu cầu người sử dụng - “nghèo” Đó là một yếu tố góp phần làm "người mua hàng không hài lòng và trang web bị bỏ rơi" Nếu hiệu năng phục vụ là “nghèo” thì sau đókhách hàng sẽ bị mất, dẫn đến doanh thu bị mất và tạo dựng một danh tiếng xấu cho tổ chức hoạt động sau này Do đó, hiệu năng có một ý nghĩa

Trang 9

quan trọng trong phương trình thành công của một ứng dụng web - nói chung

và cho bất kỳ phần mềm nói riêng

Để đánh giá trực tiếp một ứng dụng có thực hiện đáp ứng được các yêu cầu hay không, một phương pháp đo lường, đánh giáđược thực hiện Nó có thể cung cấp kết quả có thể giúp xác định tắc nghẽn hiệu năng Mô hình hóa hiệu năng của hệ thống, sử dụng kết quả của mô hình để thấy được năng lực của hệ thống bằng việc dự đoán hiệu năng của hệ thống và xác định rõ tắc nghẽn hệ thống

Trong luận văn này, tôi nghiên cứu việc thực hiện Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm - Thử nghiệm áp dụng cho ứng dụng Web, thông qua đo lường và mô hình hóa như các phương pháp đánh

giá hiệu năngsau đóthử nghiệm áp dụng cho một ứng dụng Web và đưa vào thực tiễn sử dụng

Trang 10

CHƯƠNG 1 ĐÁNH GIÁ HIỆU NĂNG PHẦN MỀM

Các nghiên cứu đưa ra, các kỹ thuật đánh giá hiệu năng phần mềm giúp phát triển phần mềm đáp ứng được mục tiêu, thực hiện được các yêu cầu của người sử dụng Việc đánh giá hiệu năng của hệ thống là một trong những nhiệm vụ cần thiết để đưa ra những nhận xét, kết luận về tốc độ tính toán, tính hiệu quả của toàn bộ hệ thống Trong chương này trình bày các khái niệm cơ bản liên quan đến kỹ thuật đánh giá hiệu năng hệ thống, đặc biệt là các phương pháp và các mô hình đánh giá hiệu năng

1.1 Khái niệm đánh giá hiệu năng

Có nhiều định nghĩa về đánh giá hiệu năng Theo[5] đánh giá hiệu năng

là quá trình dự đoán ở giai đoạn đầu trong quá trình xây dựng và phát triển phần mềm, được đánh giá ở giai đoạn cuối sản phẩm và kết quả thể hiện trong quá trình triển khai sản phẩm phần mềm

Một cách định nghĩa khác của đánh giá hiệu năng[1]: đánh giá hiệu năng là dựa vào việc xác định các thông số như: số lượng active, số lượng session của một hệ thống, thời gian phản hồi (repsonsiveness), thông lượng (throughput), mức độ tin cậy (reliability) hoặc khả năng mở rộng (scalability) của hệ thống theo khối lượng công việc (workload)

1.2 Vì sao nên thực hiện kiểm tra đánh giá hiệu năng và các bước thực hiện trong đánh giá hiệu năng

Đánh giá hiệu năng nhằm giúp chúng ta tránh được các rủi ro khi triển khai ứng dụng trong môi trường thực tế, nâng cấp và phát triển phần mềm.Kiểm tra hiệu năng phần mềm được áp dụng trong việc kiểm tra trước khi triển khai hệ thống đồng thời đo lường hiệu quả hoạt động của hệ thống

và kinh nghiệm của người sử dụng

Một hệ thống kiểm tra tự động tốt trả lời được cho các câu hỏi như:

Trang 11

- Liệu ứng dụng có đáp ứng đủ cho người dùng một cách nhanh chóng?

- Liệu việc xử lý của ứng dụng có đáp ứng được yêu cầu người dùng, khả năng chịu tải và hơn thế nữa?

- Liệu ứng dụng có xử lý được số lượng giao dịch theo yêu cầu kinh doanh?

- Liệu ứng dụng có ổn định như mong muốn của người dùng về khả năng chịu tải không?

- Có chắc rằng người dùng sẽ có kinh nghiệm trong việc khi nào thì đưa vào sử dụng thực tế?

Bằng việc trả lời 5 câu hỏi này, kiểm tra tự động hiệu năng phần mềm tác động làm thay đổi yêu cầu nghiệp vụ Điều này cũng làm rõ ràng những rủi ro của việc triển khai Hiệu quả của quá trình tự động kiểm tra phần mềm giúp bạn có được các thông tin được giải phóng và ngăn ngừa hệ thống ngưng trệ và sẵn sàng trước những vấn đề gặp phải

Các bước thực hiện đánh giá hiệu năng:

Các bước chung cho tất cả dự án đánh giá hiệu năng mà có thể giúp tránh được các lỗi xảy ra trong quá trình đánh giá[1,5]:

- Bước 1: Xác định mục tiêu và định nghĩa hệ thống:

Bước đầu tiên trong dự án đánh giá hiệu năng là xác định mục tiêu của việc nghiên cứu và định nghĩa xem cái gì tạo nên hệ thống bằng cách phác họa các giới hạn của hệ thống

- Bước 2: Lập danh sách các dịch vụ và kết quả nhận được:

Mỗi một hệ thống cung cấp một tập hợp các dịch vụ Danh sách của dịch vụ và kết quả khả thi sẽ hữu ích sau này trong việc chọn thông số và tải làm việc đúng

- Bước 3: Lựa chọn các thông số đo:

Bước tiếp theo là lựa chọn các tiêu chuẩn để so sánh hiệu năng, chúng được gọi là các thông số đo Nhìn chung, các thông số này liên hệ với tốc độ,

Trang 12

độ chính xác, và ích lợi của dịch vụ

- Bước 4: Lập danh sách các thông số:

Bước tiếp theo trong dự án thực hiện là tạo danh sách tất cả các thông

số ảnh hưởng tới hiệu năng Danh sách này có thể được phân chia thành các thông số hệ thống và các thông số tải làm việc

- Bước 5: Lựa chọn các thừa số để nghiên cứu:

Lựa chọn các thông số có thể phân chia thành 2 phần: các thông số sẽ được thay đổi trong quá trình đánh giá và các thông số không thay đổi Những thông số được thay đổi gọi là thừa số và những giá trị của chúng được gọi là tham số

1.3 Các phương pháp đánh giá hiệu năng

Những phương pháp được sử dụng nghiên cứu về đánh giá hiệu năng gồm 3 phương pháp[6]:

Phương pháp 1: Đo lường (Measurement)

Phương pháp 2: Mô hình mô phỏng (Simulation Models)

Phương pháp 3: Mô hình hóa phân tích (Analytic Models)

- Đo lường là một đánh giá trực tiếp của hệ thống thực tế hoặc người đại diện theo khối lượng công việc khác nhau, cung cấp các kết quả chính xác nhất

- Mô hình mô phỏng và Mô hình hóa phân tích là những cách tiếp cận

mô hình hiệu suất[3] Trong mô hình mô phỏng, một ngôn ngữ phần mềm được phát triển sẽ tương tác cùng với hệ thống và số liệu thống kê thu thập từ thực hiện các phần mềm mô hình sẽ cung cấp số liệu để đánh giá hiệu suất của hệ thống Mô hình hóa phân tích đòi hỏi việc sử dụng các phương trình toán học cho giải pháp của họ

- So sánh các phương pháp đánh giá hiệu năng

Sẵn có của một hệ thống là điều kiện tiên quyết cho Đo lường; Thông thường với kỹ thuật đo thực tế cho chúng ta kết quả với độ chính xác rất cao,

Trang 13

tuy nhiên việc đầu tư chi phí cao và thời gian dài trước khi biết kết quả hoạt động nhiều khi gây ra sự lãng phí vì vậy giải pháp đo thực tế chỉ được sử dụng để giám sát hoạt động Tuy nhiên, một khi hệ thống có sẵn, đo là cần thiết và cần được thực hiện, đặc biệt là để đánh giá liệu các mục tiêu thực hiện đang được hài lòng và cũng để xác nhận tính đúng đắn của mô hình thực hiện

Ưu điểm chính của Mô hình hóa phân tích là có thể xác định các ngưỡng giá trị của hệ thống qua việc xác định mối tương quan giữa các yếu tố trước khi tồn tại hệ thống Nhưng khi áp dụng trong thực tế, việc mô tả đầy đủ các yếu tố đầu vào cho bài toán là cực kỳ khó khăn do vậy kết quả của phương pháp này còn nhiều hạn chế

Mô hình hóa phân tích trưng bày chính xác thấp hơn so với các phương pháp đánh giá khác Tuy nhiên, đây là phương pháp nhanh hơn để tạo ra và giải quyết các yêu cầu, và bên cạnh đó là dễ dàng hơn để quản lý Chúng đặc biệt hữu ích khi đánh giá hiệu năng khả thi nhanh chóng của một hệ thống khái niệm là mong muốn Phương pháp mô hình phân tích Mô hình mạng hàng đợi (QN) và Mô hình mạng Petri (PN) được biết đến

Trong mô hình mô phỏng, một đại diện phần mềm của hệ thống được tương tác và phát triển, và số liệu thống kê thu thập từ thực hiện của phần mềm mô hình sẽ cung cấp để đánh giá hiệu năng

Vì vậy, mô hình mô phỏng cho độ chính xác cao, tuy nhiên, thời gian cần thiết để phát triển và mô phỏng các mô hình có thể là đáng kể cho hệ thống lớn với nhu cầu của các dự đoán chính xác cao Bao gồm cách quản lý của các mô hình này cũng là thách thức, vd:như sửa đổi được thực hiện cho việc thiết kế hệ thống cần phải được kết hợp với mô hình, trong đó liên quan đến phần mềm mã thay đổi và điều này là không nhỏ

Trang 14

Bảng 1.1 Bảng so sánh ba phương pháp đánh giá hiệu năng

STT Tiêu chí đánh giá Mô hình phân tích Mô Phỏng Đo đạc

Vấn đề tiếp theo cần cân nhắc đó là thời gian sử dụng cho công việc đánh giá Trong hầu hết các trường hợp, các kết quả được yêu cầu từ ngày hôm trước (thời gian đánh giá ngắn) Nếu đúng như vậy thì mô hình hóa phân tích là sự lựa chọn duy nhất Các phương pháp mô phỏng cần một thời gian dài, các phương pháp đo đạc thường mất nhiều thời gian hơn mô hình hóa phân tích nhưng không lâu như mô phỏng

Điểm quan tâm tiếp theo là tính sẵn sàng của công cụ Các loại công cụ bao gồm: các kỹ năng mô hình hóa, các ngôn ngữ mô phỏng, và các thiết bị

đo đạc Nhiều nhà phân tích hiệu năng rất thành thạo và khéo léo trong mô hình hóa Họ không cần sử dụng tới bất cứ hệ thống thật đắt tiền nào Những người khác không thành thạo các lý thuyết hàng đợi thì lại quan tâm hơn đến

đo đạc và mô phỏng Thiếu kiến thức về các ngôn ngữ và kỹ thuật mô phỏng khiến nhiều nhà phân tích xa rời các công cụ mô phỏng hữu dụng

Mức độ chính xác đòi hỏi cũng là một mối quan tâm khác Nhìn chung,

mô hình hóa phân tích yêu cầu nhiều sự đơn giản hóa và giả thiết đến nỗi nếu các kết quả trở nên chính xác thì ngay cả các nhà phân tích cũng phải ngạc nhiên Các phương pháp mô phỏng có thể kết hợp nhiều chi tiết, yếu tố hơn

và yêu cầu ít giả thiết hơn là mô hình hóa phân tích và do đó thường gần hơn với thực tế Các phương pháp đo đạc mặc dù nghe có vẻ gần thực tế nhất nhưng kết quả lại có thể thiếu chính xác, đơn giản vì có nhiều tham số môi

Trang 15

trường tác động đến đối với từng thử nghiệm, như là cấu hình hệ thống, loại tải làm việc, và thời gian đo đạc Các tham số cũng có thể không thể hiện khoảng làm việc thay đổi trong các hệ thống thực tế Do vậy tính chính xác của kết quả đo đạc thu được có thể thay đổi từ cao đến không có gì

Mục đích của công việc nghiên cứu hiệu năng là vừa để so sánh các phương án khác nhau vừa để tìm ra giá trị tham số tối ưu Các mô hình phân tích thường cung cấp một cái nhìn tốt nhất về tác dụng của các tham số khác nhau và sự tương tác giữa chúng Với các phương pháp mô phỏng, có thể tìm được khoảng giá trị tham số cho tổ hợp tối ưu, nhưng thường không thể hiện được rõ ràng sự tương xứng giữa tham số này với tham số khác Các phương pháp đo đạc là kỹ thuật ít thể hiện được tính tương xứng giữa các tham số nhất Thật không dễ khi khẳng định rằng hiệu năng được cải thiện là kết quả của một vài sự thay đổi ngẫu nhiên về môi trường hoặc hiệu chỉnh một vài tham số nhất định

Chi phí cấp cho dự án cũng là một yếu tố quan trọng Đo đạc đòi hỏi phải có thiết bị thật, dụng cụ đo đạc và thời gian Đây chính là kỹ thuật tốn kém nhất trong 3 kỹ thuật đã nêu Chi phí, đi kèm với khả năng dễ dàng thay đổi cấu hình, thường là lí do để phát triển các phương pháp mô phỏng cho các

hệ thống đắt tiền Mô hình hóa phân tích chỉ đòi hỏi giấy và bút chì (cộng với thời gian của nhà phân tích) nên có thể xem như là kỹ thuật rẻ nhất

Tính bán được của kết quả đánh giá có thể là lý lẽ quan trọng khi chọn xem xét các chi phí, lao động của phương pháp đo đạc Và kết quả đó dễ được thuyết phục hơn nếu nó được thực hiện với hệ thống thực Nhiều người hoài nghi về các kết quả phân tích đơn giản vì họ không hiểu công nghệ thực hiện hoặc kết quả cuối cùng Trong thực tế, người phát triển các kỹ thuật mô hình hóa phân tích mới thường kiểm chứng, xác nhận chúng bằng cách sử dụng các phương pháp mô phỏng hoặc đo lường thực sự Đôi khi việc sử dụng hai hay nhiều kỹ thuật đồng

Trang 16

thời mang lại nhiều lợi ích Ví dụ, bạn có thể sử dụng mô phỏng và mô hình hóa phân tích cùng nhau để kiểm tra và xác nhận kết quả riêng của từng phương pháp Cho đến khi chưa chứng mình được tội lỗi, mọi người đều được xem là vô tội, nghĩa là cho đến khi chưa được xác nhận kiểm chứng thì mọi kết quả đánh giá đều đáng nghi ngờ Điều đó đưa chúng ta đến với 3 quy tắc xác minh sau đây[7]:

- Không tin tưởng vào kết quả của một mô hình mô phỏng cho đến khi chúng đã được xác nhận bởi mô hình hóa phân tích hay đo đạc

- Không tin tưởng vào kết quả của một mô hình phân tích cho đến khi cũng đã được xác nhận bởi mô hình mô phỏng hay đo đạc

- Không tin tưởng vào kết quả của phương pháp đo đạc cho đến khi chúng đã được xác nhận bởi mô hình mô phỏng hay mô hình phân tích

Trong thực tế,sự cần thiết của quy tắc thứ 3 cho việc xác nhận các kết quả đo đạc nên được nhấn mạnh vì đây là quy tắc hay bị bỏ qua nhất

Phương pháp đo đạc dễ bị mắc các lỗi khi thí nghiệm hoặc các sai sót hơn là hai kỹ thuật kia Yêu cầu duy nhất của phép xác minh là kết quả phải không trái với trực quan mong đợi Phương pháp xác minh như thế gọi là trực giác của những chuyên gia, thường được sử dụng cho các mô hình mô phỏng Phương pháp này và các phương pháp khác có thể được sử dụng cho các kết quả đo đạc và phân tích

Hai hay nhiều kỹ thuật cũng có thể được sử dụng tiếp nối nhau Ví dụ, trong một trường hợp, một mô hình phân tích đơn giản được sử dụng để tìm

ra khoảng phù hợp cho các tham số của hệ thống và một mô hình mô phỏng được sử dụng sau đó để nghiên cứu hiệu năng của thệ thống trong khoảng đó Điều này làm giảm số trường hợp mà phép mô phỏng cần xét đến và dẫn đến việc sử dụng tài nguyên hiệu quả hơn

Trang 17

1.4 Các phương pháp mô hình hóa đánh giá hiệu năng

1.4.1 Mô hình mạnghàng đợi (Queuing Networks)

Mô hình mạng hàng đợi (QN) là mô hình cổ điển nhất trong các mô hình đánh giá hiệu năng Vì vậy, nó là loại mô hình đơn giản nhất và có các lý thuyết được xây dựng khá chỉnh, trợ giúp đắc lực cho người sử dụng[2]

Một mạng hàng đợi là một đồ thị có hướng bao gồm các nút là các hàng đợi, thường gọi là các trung tâm dịch vụ, biểu diễn mô hình của các tài nguyên của hệ thống Các khách hàng trong hàng đợi này là các tác vụ trong

hệ thống, tức là các tiến trình có yêu cầu cạnh tranh tài nguyên trong hệ thống

ấy Các cung của mạng biểu diễn cấu trúc của hệ thống, nó xác định các đường đi có thể của khách hàng trong hệ thống Phụ thuộc vào yêu cầu về tài nguyên, khách hàng phải chờ đợi trong các hàng đợi Trạng thái của hệ thống được biểu diễn bằng số lượng khách hàng đang có mặt trong hàng đợi Trong mạng có thể có nhiều loại khách hàng, mỗi loại có đặc trưng riêng Trong trường hợp này, trạng thái của mạng là số lượng khách hàng thuộc mỗi loại ở trong mỗi hàng đợi

Có nhiều loại mạng hàng đợi Ta có thể phân lại theo cấu trúc của mạng: như có một hay nhiều máy chủ, hàng đợi có vùng đệm vô hạn hay hữu hạn… Cũng có thể phân biệt các mạng xếp hàng bằng các phân phối xác suất của khách hàng trong hệ thống, hay phân biệt bằng tính chất đóng và mở của nó

Các thông số hiệu năng tính toán được từ mạng hàng đợi khá phong phú, thường là các thông số định lượng như: thời gian phục vụ của server, độ tận dụng các tài nguyên hệ thống, thông lượng, tải trọng…

Có một lớp lớn các mạng hàng đợi đơn giản và có giải pháp tính toán hiệu quả Chúng cho phép đo hiệu năng được suy diễn mà không cần phải xử

lý các chuỗi Markov Giải các mô hình này, thường được gọi là giải pháp dạng sản xuất, bằng cách phân tích riêng biệt các hàng đợi riêng biệt trong

Trang 18

một hệ thống Nhờ giải pháp này, người ta đã công bố các thuật toán đơn giản

để tính toán hầu hết các độ đo hiệu năng trực tiếp từ các thông số của mạng hàng đợi

1.4.2 Mô hình mạng Petri (Petri Nets)

Nguyên lý của mạng Petri được Carl Adam Petri đưa ra lần đầu tiên vào năm 1962, ở Đức Đây là một công cụ mô hình hoá bằng đồ thị và toán học

Một mạng Petri là một đồ thị[6], trong đó có 2 loại nút là các trạm (các trạm thực hiện giao dịch) và các giao dịch Cung của đồ thị biểu diễn quan hệ giữa các giao dịch và các trạm Một cung được gọi là cung vào nếu nó nối các trạm với các giao dịch và được gọi là cung ra nếu nó bắt đầu ở một giao dịch

và kết thúc ở một trạm Trong mỗi trạm, có thể có các thẻ bài, biểu diễn tài nguyên do trạm đó cung cấp

Trạng thái hiện tại của mô hình (một nhãn của mô hình) biểu diễn bằng

số (và kiểu nếu các thẻ bài phân biệt được) của các thẻ bài ở mỗi trạm Các giao dịch là các thành phần hoạt động của hệ thống Chúng mô hình cho các hoạt động thay đổi trạng thái của hệ (thay đổi nhãn của mạng Petri) Các giao dịch chỉ được kích hoạt khi chúng được phép xảy ra, nghĩa là ở các trạm vào của nó, mọi điều kiện cần có để hoạt động đều thoả (có đủ số thẻ bài cần thiết) Khi giao dịch được kích hoạt, nó xoá khỏi trạm vào số thẻ bài mà nó sử dụng và thêm một số thẻ vào mọi trạm ra Số lượng các thẻ bài bị xoá hay thêm phụ thuộc vào trọng số trên mỗi cung

Mạng Petri là một công cụ hứa hẹn để mô tả và nghiên cứu các hệ thống có đặc trưng không đồng bộ, hệ có tương tranh, hệ phân tán, hệ song song, hệ không đơn định và hệ ngẫu nhiên Có thể sử dụng mạng Petri làm công cụ biểu diễn trực quan quá trình truyền thông của các hệ thống này, giống như các sơ đồ luồng dữ liệu, sơ đồ khối và sơ đồ mạng Trong khi đó, các thẻ bài được sử dụng trong mạng của nó để mô phỏng hoạt động và tính

Trang 19

tương tranh của hệ và có thể sử dụng nó làm công cụ toán học để thiết lập các phương trình trạng thái, các phương trình đại số và các mô hình toán học khác điều khiển cách hoạt động của hệ thống

Để nghiên cứu vấn đề hiệu năng và độ phụ thuộc của hệ thống, phải mở rộng mạng Petri để mô hình hoá thời gian trong hệ thống Có một số cách thực hiện điều này nhưng cách thông dụng nhất là có thêm một độ trễ kích hoạt vào mỗi giao dịch Độ trễ này đặc trưng cho thời gian trôi qua trước khi giao dịch được kích hoạt thực sự (độ trễ ở các trạm như độ trễ truyền thông, độ trễ do liên lạc với ngoại vi) Nếu độ trễ này có quy tắc phân bố ngẫu nhiên, mạng thu được gọi là mạng petri ngẫu nhiên Các loại giao dịch khác nhau có thể phân biệt được nhờ các độ trễ khác nhau, ví dụ giao dịch tức thời (không trễ), giao dịch hàm mũ (độ trễ có phân phối hàm mũ) và giao dịch xác định (độ trễ cố định)…

Các loại mạng Petri có thông số thời gian (Timed Petri Net) kể trên hiện đang được sử dụng khá rộng rãi Các thông số hiệu năng đo được bằng mạng Petri gồm cả các thông số định tính và định lượng như: phát hiện các nút cổ chai, phát hiện các giới hạn, thời gian phục vụ trung bình của hệ thống

1.4.3 Mô hình lai (Hybrid Models)

Các kỹ thuật mô hình hoá lai, tức là các kỹ thuật phối hợp hai hay nhiều hình thức mô hình hoá được sử dụng để tổ hợp các kỹ thuật hiệu quả mà không chính xác ví dụ kỹ thuật dùng mô hình đồ thị và các kỹ thuật ngược lại, chính xác nhưng tính toán khó khăn, như mạng Petri chẳng hạn để thu được một mô hình lai có ưu điểm của cả hai, đó là tính toán đủ đơn giản và kết quả

là chấp nhận được

Thông thường, các kỹ thuật lai phối hợp các mô hình thực thể và mô hình hoạt động là đáng quan tâm nhất Cụ thể là, các kỹ thuật này thường sử dụng một số dạng ngôn ngữ đồ thị để mô hình hoá các khía cạnh có liên quan của chương trình song song (mô hình hoá hoạt động) và mạng hàng đợi để mô

Trang 20

hình hoá kiến trúc phần cứng ở phía dưới (mô hình hoá thực thể)

Hiện nay, có một số kỹ thuật lai đã được giới thiệu và sử dụng Trong

đó, mô hình PNiQ (Petri Nets including Queue Network) được sử dụng khá rộng rãi Mô hình này sử dụng các ký pháp của mạng hàng đợi để mô hình hoá các trạm trong mạng Petri, còn phân tích theo kỹ thuật phân tích mạng Petri Ưu điểm của mô hình này là giảm được độ phức tạp của mạng Petri trong khi các đánh giá thực nghiệm cho thấy rằng, độ chính xác của mạng là không đổi[6]

1.4.4 Mô hình đồ thị (Graph Models)

Mô hình đồ thị là công cụ được sử dụng để sơ bộ ước lượng hiệu năng của một hệ song song hay phân tán Nó có thể phân tích hiệu năng khá hiệu quả nhưng kết quả thường không chính xác Trong mô hình này, hệ thống được biểu diễn bằng một đồ thị tác vụ

Đồ thị tác vụ thường là các đồ thị có hướng DAG trong đó các đỉnh của

đồ thị tương ứng với các tác vụ của hệ thống Khi có một cạnh nối từ đỉnh thứ nhất đến đỉnh thứ hai có nghĩa là tác vụ thứ nhất phải được thực hiện trước tác

vụ thứ hai Đồ thị có thể có trọng số biểu diễn luồng thông tin hay chi phí phải trả khi thực hiện tác vụ Việc đánh giá hiệu năng thường là đánh giá thời gian hay chi phí khác để thực hiện toàn bộ tác vụ, đươc thực hiện bằng việc tìm đường theo các tiêu chí đặt ra như tìm đường đi ngắn nhất, tìm luồng cực đại… và thực hiện các thao tác rút gọn đồ thị như các biến đổi song song – tuần tự[7]

1.4.5 Đánh giá chung về các phương pháp mô hình hoá

Trong các mô hình được trình bày ở trên, mô hình mạng hàng đợi là đơn giản và hiệu quả nhất Ưu điểm của nó là nó đánh giá nhiều thông số hiệu năng rất linh hoạt, hầu hết lại là các thông số định lượng nên rất phù hợp để đánh giá so sánh các hệ thống khác nhau Mô hình này lại đã được nghiên cứu

Trang 21

từ khá lâu, do đó, các lý thuyết, kỹ thuật và giải thuật có liên quan đều đã được phát triển khá chuẩn, tạo được các sơ đồ thao tác mô hình hoá đơn giản, thuận lợi, dễ dàng tự động hoá Do vậy, mạng hàng đợi là mô hình được ứng dụng nhiều nhất trong thực tế, trong hầu hết các bài toán thiết kế mạng Nhưng nhược điểm của nó là không hiệu quả khi mô hình các hệ thống xử lý phức tạp như các luồng điều khiển và dữ liệu có phụ thuộc và/hoặc với nhau… Do đó, hướng phát triển trong tương lai đối với mạng hàng đợi là tích hợp nó vào một mô hình lai, nhằm tận dụng được các ưu điểm kể trên

Mạng Petri có khả năng mô hình các hệ thống phức tạp Tuy nhiên, điều đó dẫn đến việc phân tích hiệu năng của hệ thống chỉ có thể thực hiện được bằng các tính toán phức tạp, thường là xử lý các chuỗi Markov Mặt khác, mô hình khá cồng kềnh, cần phải được tinh chỉnh cho gọn Thao tác xây dựng mô hình cũng phức tạp hơn Tuy vậy, ưu điểm của mô hình nàylà nó đánh giá được cả những yếu tố định tính và định lượng Các thông số định lượng hiệu năng có kết quả rất chính xác Ưu điểm này làm cho mạng Petri được các nhà nghiên cứu quan tâm Vấn đề hiện tại trong khả năng ứng dụng rộng rãi của mạng Petri là cần xây dựng được các thuật toán hiệu quả để giải

mô hình này mà không cần tính toán phức tạp Việc giảm kích thước của mô hình cũng đang được lưu ý

Các mô hình đồ thị cũng là một công cụ đơn giản Tuy nhiên, nó chỉ

mô hình được một lớp khá nhỏ các vấn đề trong bài toán đo hiệu năng, thường là các thông số hiệu năng liên quan đến việc chọn đường Vì vậy nó ít ứng dụng hơn các mô hình khác

Dạng mô hình thú vị nhất có lẽ là các mô hình lai Trong xu thế phát triển của thời đại, các hệ phân tán ngày càng có qui mô lớn, có ứng dụng đa dạng Vì vậy, các mô hình đơn khó có thể biểu diễn được đầy đủ yêu cầu phân tích hiệu năng của hệ thống Nếu biểu diễn được, kích thước mô hình sẽ

Trang 22

rất lớn, liên kết trong mô hình sẽ rất phức tạp, không thể đánh giá chính xác được Vì vậy, việc kết hợp các mô hình khác nhau để tận dụng triệt để ưu điểm của từng loại mô hình là phương hướng đúng đắn Tuy nhiên, hiện nay các dạng mô hình lai vẫn ở trong giai đoạn nghiên cứu, thử nghiệm, vì vậy chưa có cơ sở lý thuyết, kỹ thuật hoàn chỉnh và phù hợp với các ứng dụng thương mại

1.5 Phương pháp đánh giá qua mô hình hàng đợi

1.5.1 Định nghĩa hàng đợi

Hàng đợi là hệ thống bao gồm các thành phần: khách hàng vào/ra hệ thống (input/output), hệ thống phục vụ (server), hàng đợi (queue) Mô hình tổng quát của lý thuyết sắp hàng là khách hàng đến ở một thời điểm ngẫu nhiên nào đó và yêu cầu được phục vụ theo một loại nào đó

Hình 1.1 Mô hình chung của hệ thống hàng đợi

Trang 23

Đặt t n là khoảng thời gian giữa 2 lần đến của khách hàng thứ n và thứ n+1 Ta giả định rằng tất cả các t n (n ≥ 1) là độc lập và có cùng phân bố Vì

vậy việc đến của các khách hàng tạo thành 1 hàng kế tiếp nhau với tốc độ đến

E Ta gọi quá trình {t n , n=1,2,…} là quá trình đến Khách hàng đến

hệ thống yêu cầu các server của hệ thống phục vụ Ta giả sử rằng khách hàng

thứ n cần một thời gian phục vụ là (n ≥ 1), tất cả các s độc lập và có cùng n

phân bố Quá trìnhT n , n 1,2,3 được gọi là quá trình phục vụ Ta cũng giả thiết rằng các thời gian đến trung gian độc lập với thời gian phục vụ

Quá trình sắp hàng được phân loại dựa vào các tiêu chí sau:

1) Phân bố của quá trình đến (input process)

2) Phân bố của thời gian phục vụ (service distribution)

3) Nguyên tắc phục vụ: Các khách hàng đến được sắp xếp vào hàng đợi đến lượt được phục vụ Để đơn giản ta giả thiết chỉ có một hàng Tuy nhiên trong nhiều trường hợp có thể mở rộng cho nhiều hàng cùng hoạt động song song Nếu độ dài hàng có đặt ngưỡng thì các đơn vị đến hàng khi hàng đầy vượt ngưỡng sẽ bị loại Các khách hàng được chọn để phục vụ theo nguyên tắc

"đến trước phục vụ trước" (FIFO), nghĩa là phục vụ cho khách nào đứng đầu hàng

4) Cơ cấu phục vụ: Một phương tiện phục vụ bao gồm một hay nhiều Server Các Server có thể kết nối thành chuỗi vì thế mỗi yêu cầu phục vụ được phục

vụ theo nhiều cách hoặc lần lượt hoặc song song

1.5.2 Đặc điểm hệ thống hàng đợi

Hàng đợi có một số đặc điểm sau:

- Miêu tả của tiến trình đến (phân bố khoảng thời gian đến)

- Miêu tả của tiến trình phục vụ (phân bố thời gian phục vụ)

- Số lượng server

Trang 24

- Xử lý nghẽn mạng (khi bộ đệm tại đích bị đầy)

- Số lượng khách hàng bị suy giảm

o Xác suất nghẽn mạng (khi kích thước bộ đệm hữu hạn)

o Xác suất chờ để phục vụ

- Dành cho các nhà cung cấp phục vụ với các thông số sau:

Trang 25

o Khả năng sử dụng server

o Khả năng sử dụng bộ đệm

o Lợi ích thu được (thông số dịch vụ và các xem xét về kinh tế)

o Lợi ích bị mất (thông số dịch vụ và các xem xét về kinh tế)

- Đáp ứng nhu cầu của người sử dụng

o Đo được các thời điểm cực đại, cực tiểu

Qua phân tích và đánh giá, kết quả chung: Các giả thiết liên quan đến đặc tính và cấu trúc của hệ thống hàng đợi đạt được kết quả chính xác ít nhất

là cho các thông số hiệu năng trung bình với điều kiện ổn định

1.5.3 Các thông số hiệu năng thường dùng trong mô hình hàng đợi

Hệ thống hàng đợi có các giả thiết sau:

- Tiến trình đến là tiến trình poisson, có nghĩa là khoảng thời gian đến được phân bố theo hàm mũ

- Tiến trình đến với tốc độ đến thay đổi

- Hệ thống có một hoặc nhiều server

- Thời gian phục vụ có dạng phân bố hàm mũ

- Tiến trình đến là độc lập với các tiến trình phục vụ và ngược lại

- Có vô hạn các vị trí đợi hữu hạn trong hệ thống

- Tất cả các giả thiết tạo thành lớp đơn giản nhất của hệ thống hàng đợi Đối với một hệ thống hàng đợi, cần tìm cách để đánh giá được các chỉ số sau:

Trang 26

- Tốc độ lưu lượng đến (Arrival rate): tốc độ luồng lưu lượng đến hay số khách hàng đến trung bình trong một khoảng thời gian, ký hiệu λ

- Tốc độ phục vụ (Service rate): tốc độ phục vụ hay số khách hàng trung bình được phục vụ trên một đơn vị thời gian, ký hiệu µ

- Số lượng trung bình của khách hàng trong hệ thốngL s

- Số lượng trung bình của khách hàng trong hàng đợi L q

- Thời gian trung bình trong hệ thốngT s, bao gồm 2 khoảng thời gian:

o Thời gian đợi và thời gian phục vụ Tính toán các tham số hiệu năng này đòi hỏi những giả thiết thêm dựa trên đặc tính của hệ thống hàng đợi, như: quy tắc phục vụ khách hang (giả sử là FCFS), phân bố trạng thái ổn địnhP k , k 0,1, (cũng giống như phân bố xác suất của

số lượng khách hàng trong hệ thống)

- Thời gian trung bình trong hàng đợi (thời gian đợi để được phục vụ)T q: bằng thời gian trung bình hệ thống trừ đi thời gian phục vụ

1.6 Phân loại mạng hàng đợi và các kỹ thuật hàng đợi

Phân loại mạng hàng đợi

Trên thực tế nhiều hệ thống phức tạp không thể mô tả bằng một mạng hàng đợi đơn Khi đó chúng sẽ được mô hình hoá bằng hệ thống các mạng hàng đợi đơn hay còn gọi là mạng các hàng đợi Căn cứ vào cấu trúc mạng ta

có thể chia mạng thành các hàng đợi thành hai loại:

 Mạng hàng đợi đóng: là mạng không kết nối với thế giới bên ngoài

trong khoảng thời gian khảo sát, do đó số khách hàng trong hệ thống là

cố định

Trang 27

Hình 1.2 Mô hình mạng hàng đợi đóng

 Mạng hàng đợi mở: việc nhận và gửi khách hàng ra bên ngoài trong

thời gian khảo sát, do vậy số khách hàng trong hệ thống luôn biến đổi

theo thời gian

Hình 1.3 Mô hình mạng hàng đợi mở

Các kỹ thuật hàng đợi

Có rất nhiều kĩ thuật hàng đợi :

FIFO (First in - First out Queuing),

PQ (Priority Queuing - Hàng đợi ưu tiên),

CQ(Custom Queuing - Hàng đợi tùy chọn),

WFQ (Weighted Fair Queuing - Hàng đợi cân bằng có trọng số)

1.6.1 Hàng đợi FIFO (First in – First Out Queuing)

a Nguyên tắc hoạt động

FIFO là hàng đợimặc định được sử dụng trong hầu hết các router FIFO

không có sự phân loại vì tất cả các gói đều thuộc về cùng một lớp Các gói

đến từ các luồng khách nhau được đối xử công bằng bằng cách đưa vào hàng

Trang 28

đợi theo trận tự đến (gói nào đến trước sẽ được đưa và trước và được phục vụ

trước)

Hình 1.4 Hoạt động của hàng đợi FIFO

Hàng đợi FIFO sử dụng một hàng đợi đơn cho bộ giao tiếp Vì chỉ có một hàng đợi nên không cần phân lớp để quyết định khi gói đi vào Và cũng không cần lập lịch ban đầu để cho hàng đợi lấy gói tiếp theo Ta chỉ quan tâm đến cách cấu hình chiều dài hàng đợi FIFO tránh tác động đến độ trễ và mất gói

FIFO thường được dùng trên các giao diện tốc độ cao khó có khả năng xảy ra tắc nghẽn

b Ƣu điểm và nhƣợc điểm

- Ưu điểm:

o Đơn giản

o Tốc độ xử lý nhanh

- Nhược điểm:

o Phân phối độ ưu tiên không công bằng

1.6.2 Hàng đợi ưu tiên PQ

a Nguyên tắc hoạt động

Kỹ thuật hàng đợi ưu tiên PQ đảm bảo rằng những lưu lượng quan trọng sẽ có được sự xử lý nhanh hơn Thuật toán được thiết kế để đưa ra tính

Trang 29

ưu tiên nghiêm ngặt đối với những dòng lưu lượng quan trọng PQ có thể thực hiện ưu tiên căn cứ vào giao thức, giao diện truyền tới, kích thước gói, địa chỉ nguồn hoặc điạ chỉ đích Trong thuật toán, các gói được đặt vào một trong các hàng đợi có mức ưu tiên khác nhau dựa trên các mức độ ưu tiên được gán (Ví dụ như bốn mức ưu tiên là High, Medium, Normal, và Low) và các gói trong hàng đợi có mức ưu tiên cao sẽ được xử lý để truyền đi trước Khi có tắc nghẽn xảy ra thì các gói trong các hàng đợi có độ ưu tiên thấp sẽ bị loại

bỏ Các gói được phân loại và được sắp xếp vào hàng đợi tùy thuộc vào thông tin bên trong các gói

Hình 1.5 Hoạt động của hàng đợi PQ

b Ƣu điểm và nhƣợc điểm

1.6.3 Hàng đợi tùy chọn CQ (Custom Queuing)

CQ là kĩ thuật hàng đợi ra đời sau PQ Không giống như PQ, CQ sẽ

Trang 30

phục vụ cho tất cả các hàng đợi có trong interface của nó thậm chí khi xảy ra nghẽn mạng CQ có tất cả 16 hàng đợi, như vậy nó cho phép tối đa 16 lớp dịch vụ (vừa đủ cho các loại dịch vụ ngày nay) CQ không cung cấp cho một hàng đợi đặc biệt nào đó có mức ưu tiên cao hơn các hàng đợi khác và cũng không ưu tiên hàng đợi nào có low delay, low jitter, low loss…

CQ cho phép người dùng chỉ ra phần trăm băng thông khả dụng cho một giao thức đăc biệt nào đó Việc lập lịch của CQ như sau: CQ sẽ kiểm tra lần lượt các hàng đợi, bắt đầu từ hàng đợi thứ 1, CQ sẽ lấy gói tin từ hàng đợi này cho tới khi số gói tin mà nó lấy vượt quá hoặc bằng giá trị cho phép Sau khi hàng đợi này đã được phục vụ với số gói tin như trên hoặc hàng đợi này không có gói tin thì CQ sẽ chuyển qua phục vụ cho hàng đợi kế tiếp và quá trình lặp lại như trên

1.6.4 Hàng đợi cân bằng có trọng số WFQ

a Nguyên tắc hoạt động

Kĩ thuật này có thể được xem là sự phối hợp của hai kĩ thuật hàng đợi cân bằng và hàng đợi ưu tiên Tất cả các hàng đợi đều được phục vụ do đó có thể tránh được tình trạng bỏ đói hàng đợi, tuy nhiên sẽ có một số hàng đợi được ưu tiên phục vụ nhiều hơn Một trọng số sẽ được gán cho một số hàng đợi để ấn định chỉ số ưu tiên cao hơn cho chúng

Trang 31

Hình 1.6 Hoạt động của hàng đợi WFQ

b Ƣu điểm và nhƣợc điểm

M/M/1: hàng đợi Markov đơn giản nhất

M/G/1: hàng đợi không Markov

M/M/m: các hàng đợi Makov nhiều trạm dịch vụ

Trang 32

1.7.1 Hàng đợi Markov M/M/1

Là hàng đợi có quá trình đến Poisson với tốc độ , thời gian phục vụ

có phân phối mũ tốc độ phục vụ với 1 server phục vụ và trạng thái hệ thống (kích thước bộ đệm) không giới hạn

Hình 1.7 Hàng đợi M/M/1 Lƣợc đồ trạng thái:

Trang 33

Pn: Xác suất trạng thái cân bằng, n=0,1,2,…

Tham số thời gian:

- Thời gian trung bình của 1 khách hàng trong hệ thống:

T = L=

) 1

) 1 (

2

(6)

Chiều dài hàng đợi:

- Số lượng trung bình các khách hàng trong hệ thống

Trang 34

1.7.2 Hàng đợi không Markov M/G/1

Ký pháp biểu diễn một hàng đợi không có phân phối xác suất hàm mũ được cho trên hình 2.9

Hình 1.9 Mô hình hàng đợi M/G/1

Trong mô hình này, các khách hàng sẽ đi dần ra khỏi hệ thống khi đang được phục vụ, đến khi nó được phục vụ xong thì hoàn toàn rời khỏi hệ thống Thời gian lưu trú tổng thể sẽ giảm đi một lượng (1-k), với k là phần còn lại trong hệ thống của khách hàng Thay vào công thức, ta có:

Trang 35

Tính toán, ta có:

] ) 1 ( 1 [

Với Cs là giá trị hiệp biến của dãy thời gian đến

Vì thế, ta có: 2(1 )

) 1 ( s2

PK

C S S R

(12)

1.7.3 Các hàng đợi nhiều trạm dịch vụ: M/M/n

Là hàng đợi có quá trình đến Poisson với tốc độ , thời gian phục vụ

có phân phối mũ tốc độ phục vụ với n server và trạng thái hệ thống (kích thước bộ đệm) không giới hạn

Hình 1.10 Mô hình hàng đợi M/M/n

Lược đồ chuyển trạng thái và hệ phương trình trạng thái cân bằng:

Hình 1.11 Chuỗi Markov của hàng đợi M/M/n

Trang 36

Trong mô hình trên, hệ thống ở trạng thái i khi có i khách hàng được phục vụ đồng thời Tốc độ đến và tốc độ phục vụ của chùm trong trạng thái i

được xác định là và i Khi một khách hàng đến tại trạng thái i sẽ được chuyển sang trạng thái i+1; ngược lại, khi một khách hàng hoàn thành phục

vụ của nó và rời khỏi hệ thống, trạng thái i sẽ được chuyển về trạng thái i-1

Đặt P = (P 0 ,P 1 , ,P n ) là xác suất trạng thái cân bằng của hệ thống, với

P i là xác suất trạng thái ổn định (steady-state) của trạng thái i ( 0 i n) Theo lược đồ trạng thái, ta có hệ phương trình trạng thái cân bằng sau:

n n

P

n

P P

P

P P

P

P

P

) (

2 3

2

1 1

2 1

3

1 0

3

3

0 2

2

2

0 1

!

!32

P n P

P P

P P

P P

n

n n

Với ràng buộc: 0

1

i i

P

Nếu i < n, !

1 0

i P

P

i i

Nếu i n,

n i

i i

n n P

0 0

!

! 1

n

n i

i i

n n i

Trang 37

) (

!

) (

! )

, ( )

0

0

n n

n p i

n n

n p n

n P n

C waiting

i i n

n i

n i i

Các công thức sau đây đã được chứng minh bằng phương pháp giải tích

Số lượng trung bình khách hàng trong hệ thống:

) ,

(n C n

Số lượng trung bình khách hàng đợi, có nghĩa là chiều dài hàng đợi trung bình:

) ,

(n C n

Lq

1.8.Ứng dụng hàng đợi trong đánh giá hiệu năng

Mô hình hàng đợi đã trở thành một công cụ quan trọng trong việc thiết kế

và phân tích hệ thống phân tán Điều này là do trên thực tế, trong nhiều ứng dụng, mô hình mạng hàng đợi đã đạt được tính cân bằng giữa độ chính xác và hiệu quả Về mặt chính xác, kinh nghiệm cho thấy mô hình mạng hàng đợi chỉ

có sai số khoảng 5-10% về độ tận dụng và thông lượng và 10-30% về thời gian đáp ứng Mức chính xác này ổn định và phù hợp với các yêu cầu của nhiều ứng dụng thiết kế và phân tích Hơn thế, nó nhất quán với độ chính xác của các thành phần khác trong tiến trình phân tích hệ thống máy tính, như là đặc trưng hoá tải trọng… Về mặt hiệu quả, ta thấy rằng mạng hàng đợi có thể được định nghĩa, tham số hoá và đánh giá với chi phí rất thấp Định nghĩa mạng hàng đợi rất dễ dàng do tính chất tương đương giữa các thành phần của hệ thống với các thuộc tính của hệ máy tính Tham số hoá dễ dàng bởi chỉ có ít tham số bậc cao có liên quan Đánh giá dễ dàng vì có nhiều thuật toán đã được phát triển Tóm lại, mô hình mạng hàng đợi đạt được tính chính xác cao và chi phí thấp

(15)

Trang 39

CHƯƠNG 2 ĐẶC THÙ ỨNG DỤNG WEB VÀ CÁC QUY TRÌNH KHI THỰC HIỆN ĐÁNH GIÁ HIỆU NĂNG MỘT ỨNG DỤNG WEB

2.1 Đặc thù ứng dụng Web

Các ứng dụng Web đã được phát triển và trở thành một nền tảng kết nối thông tin thiết yếu trong nhiều doanh nghiệp cũng như các trường học Các ứng dụng Web đóng vai trò quyết định của thương mại điện tử, trao đổi thông tin

Để có thể đạt được điều này các ứng dụng Web cần phải có hiệu năng cao, đáng tin cậy,… Việc đưa ra một ứng dụng web hoàn hảo cho những người đang và sẽ sử dụng ứng dụng đã trở thành một thử thách chính trong đảm bảo chất lượng

Đánh giá hiệu năng là một trong những công việc quan trọng để đánh giá chất lượng của một sản phẩm và đương nhiên là các ứng dụng Web cũng không phải là ngoại lệ Các phương pháp đánh giá hiệu năng thông thường là các kỹ thuật tập trung vào đánh giá các chức năng yêu cầu của ứng dụng

2.2 Đặc điểm về chất lượng của một ứng dụng Web

Người sử dụng không chỉ mong đợi chương trình của họ sẽ vận hành một cách ổn định, chính xác mà họ còn yêu cầu một số chức năng nào đó phải luôn sẵn sàng trên 24 giờ trong 1 ngày và 7 ngày trong tuần Hơn nữa, người

sử dụng còn mong đợi ở chương trình những ưu điểm sau: tính dễ sử dụng, độ tin cậy, tốc độ, tương thích với các hệ thống khác nhau và tương thích với các phiên bản trong tương lai Còn với một ứng dụng Web, thì những yêu cầu về chất lượng bao gồm[6,7]:

Yêu cầu về chức năng:Sự hiện diện của các chức năng đáp ứng những yêu cầu được xác định Các yêu cầu cần có nữa là tính phù hợp, chính xác, khả năng tương tác, tuân thủ và bảo mật

Ngày đăng: 25/07/2017, 21:52

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] J.D. Meier, Carlos Farre, Prashant Bansode, Scott Barber, Dennis Rea (2007), Performance Testing Guidance for Web Applications, Microsoft Corporation Sách, tạp chí
Tiêu đề: Performance Testing Guidance for Web Applications
Tác giả: J.D. Meier, Carlos Farre, Prashant Bansode, Scott Barber, Dennis Rea
Năm: 2007
[2] LAZOWSKA, E., KAHORJAN, J., GRAHAM, G. S., and SEVCIK, K. C. Quantitative System Performance: Computer System Analysis Using QueuingNetwork Models. Prentice-Hall, Inc., Englewood Cliffs, 1984 Sách, tạp chí
Tiêu đề: Quantitative System Performance: Computer System Analysis Using QueuingNetwork Models
[3] BALSAMO, S., and SIMEONI, M. On transforming UML models into performance models. Workshop on Transformations in the Unified Modeling Language, April 2001 Sách, tạp chí
Tiêu đề: Workshop on Transformations in the Unified Modeling Language
[4] DI MARCO, A. Model-based Performan Analysis of Software Architectures, PhD Thesis, University degli Studi L’Aquila, June 2005 Sách, tạp chí
Tiêu đề: Model-based Performan Analysis of Software Architectures
[6] Yasir Shoaib. Performance measurement and analytic modeling of a web application. RyersonUniversity, Toronto, Ontario, Canada, 1-1-2011 Sách, tạp chí
Tiêu đề: Performance measurement and analytic modeling of a web application
[7] Tìm hiểu thêm ở một số các trang web và forums: http://www.testingvn.com/; http://testervn.com/; http://digitalcommons.r yerson. ca/dissertations; … Link
[5] Ramya Ramalinga Moorthy (2000), Software Performance Testing Handbook - A Comprehensive guide for beginners Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Mô hình chung của hệ thống hàng đợi - Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm   thử nghiệm áp dụng cho ứng dụng web
Hình 1.1. Mô hình chung của hệ thống hàng đợi (Trang 22)
Hình 1.3. Mô hình mạng hàng đợi mở - Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm   thử nghiệm áp dụng cho ứng dụng web
Hình 1.3. Mô hình mạng hàng đợi mở (Trang 27)
Hình 1.4. Hoạt động của hàng đợi FIFO - Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm   thử nghiệm áp dụng cho ứng dụng web
Hình 1.4. Hoạt động của hàng đợi FIFO (Trang 28)
Hình 1.5. Hoạt động của hàng đợi PQ - Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm   thử nghiệm áp dụng cho ứng dụng web
Hình 1.5. Hoạt động của hàng đợi PQ (Trang 29)
Hình 1.6. Hoạt động của hàng đợi WFQ - Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm   thử nghiệm áp dụng cho ứng dụng web
Hình 1.6. Hoạt động của hàng đợi WFQ (Trang 31)
Hình 1.7. Hàng đợi M/M/1  Lƣợc đồ trạng thái: - Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm   thử nghiệm áp dụng cho ứng dụng web
Hình 1.7. Hàng đợi M/M/1 Lƣợc đồ trạng thái: (Trang 32)
Hình 1.9. Mô hình hàng đợi M/G/1 - Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm   thử nghiệm áp dụng cho ứng dụng web
Hình 1.9. Mô hình hàng đợi M/G/1 (Trang 34)
Hình 1.11. Chuỗi Markov của hàng đợi M/M/n - Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm   thử nghiệm áp dụng cho ứng dụng web
Hình 1.11. Chuỗi Markov của hàng đợi M/M/n (Trang 35)
Hình 3.1. Biểu đồ tỷ lệ % thành công sau 5 lần test với TH1 - Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm   thử nghiệm áp dụng cho ứng dụng web
Hình 3.1. Biểu đồ tỷ lệ % thành công sau 5 lần test với TH1 (Trang 60)
Hình 3.2. Biểu đồ tỷ lệ % thành công trong 5 lần test với TH2 - Phương pháp mô hình hóa và đánh giá hiệu năng phần mềm   thử nghiệm áp dụng cho ứng dụng web
Hình 3.2. Biểu đồ tỷ lệ % thành công trong 5 lần test với TH2 (Trang 66)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w