Tải bản đầy đủ (.pdf) (78 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.32 MB, 78 trang )

i

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


ii

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


iii

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


iv

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


v

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


vi


DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
KÍ HIỆU

Tiếng Anh

Tiếng Việ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ố

Rq

Request

Yêu cầu

RR

Round Robin

Thuật toán xoay vòng

LIFO

Last In First Out

Vào sau ra trước

TH1

Trường hợp 1

TH2


Trường hợp 2

QLĐT

Quản lý đào tạo


vii

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


1


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


2


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.


3

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ư:


4

- 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 độ,


5

độ 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,


6

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ỏ.


7

Bảng 1.1. Bảng so sánh ba phƣơng pháp đánh giá hiệu năng
Tiêu chí đánh giá

Mô hình phân tích

1

Giai đoạn

Mọi giai đoạn

2


Công cụ

Nhà phân tích

3
4
5

Tính chính xác
Giá thành
Tính dễ bán

Thấp
Thấp
Thấp

STT

Mô Phỏng

Đo đạc
Sau thiết kế
Mọi giai đoạn
thử nghiệm
Ngôn ngữ máy Các dụng
tính
cụ đo
Trung bình
Thay đổi

Trung bình
Cao
Trung bình
Cao

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


8

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


9


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.


10

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


11


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


12


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ô



13

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



14

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ẽ



15

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


16

Đặt tn 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 tn (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
1
. Ta gọi quá trình {tn, n=1,2,…} là quá trình đến. Khách hàng đến
E (t1 )




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 n độc lập và có cùng
phân bố. Quá trình Tn , 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


17

- Số lượng các vị trí đợi
- Các quy tắc đặc biệt:
o Quy tắc phục vụ

o Thời gian rỗi (phân bố thời gian rỗi, khi mà thời gian rỗi bắt đầu)
o Mức độ ưu tiên
o Những luật khác
Với một mạng cụ thể của hàng đợi gồm có các thông tin sau:
- Sự kết hợp giữa các hàng đợi
- Chiến lược định tuyến:
o Xác định (Deterministic)
o Dựa vào một lớp
- Thống kê
- 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
- Hàng đợi gốc bị nghẽn
- Tái định tuyến
Những kết quả thu đƣợc (các thông số dịch vụ) đƣợc chia thành hai
nhóm lớn:
-

Dành cho người sử dụng với các thông số quan trọng:
o Trễ hàng đợi
o Tổng trễ (bao gồm trễ hàng đợi và trễ phục vụ)
o Số lượng khách hàng trong hàng đợi
o Số lượng khách hàng trong hệ thống (gồm khách hàng chờ và
khách hàng đang được phục vụ)
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:


18


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 Chất lượng dịch vụ (QoS):
o Tổn thất (PDF, mean)
o Trễ (PDF, mean)
o Jitter (PDF, mean)
-

Đưa ra các thông số trên để thu được:
o Hàm phân bố xác suất
o Các giá trị trung bình
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:


×