Tải bản đầy đủ (.doc) (76 trang)

Dự đoán hiệu năng web services sử dụng phân tích hồi quy gaussion process và mô hình hàng đợi

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 (3.5 MB, 76 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC
NGÀNH CƠNG NGHỆ THƠNG TIN

Dự đốn hiệu năng Web Services sử dụng
phân tích hồi quy Gaussion Process
và mơ hình hàng đợi

Sinh viên thực hiện : Phùng Đình Vũ
Lớp KSTN CNTT K52
Giáo viên hướng dẫn : PGS.TS. Huỳnh Quyết Thắng

Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 1


HÀ NỘI 5-2012
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin về sinh viên
Họ và tên sinh viên: Phùng Đình Vũ
Điện thoại liên lạc: 01252777431
Email:
Lớp: CNTT KSTN K52


Hệ đào tạo: Kĩ sư tài năng Công Nghệ Thông Tin
Đồ án tốt nghiệp được thực hiện tại: Viện CNTT & Truyền thông – Trường ĐH Bách
Khoa Hà Nội.
Thời gian làm ĐATN: Từ ngày 04/03/2012 đến 01/06/2012
2. Mục đích nội dung của ĐATN
Mục đích của đồ án này nhằm đề xuất một hướng tiếp cận mới trong giải quyết bài toán
dự đoán hiệu năng Web Services bằng việc kết hợp giữa phương pháp phân tích hồi quy
Gaussian Process với mơ hình hàng đợi dựa trên mơ hình nhiễu và mơ hình tín hiệu của dữ
liệu được đề xuất.
3. Các nhiệm vụ cụ thể của ĐATN
- Trình bày về Web Services, hiệu năng Web Services, phân tích hồi quy Gausian
Process, mơ hình hàng đợi, các phương pháp tiếp cận đang tồn tại để giải quyết bài
toán dự đoán hiệu năng Web Services.
- Thu thập các dữ liệu hiệu năng Web Services, xây dựng mơ hình nhiễu và mơ hình
tín hiệu dựa trên các dữ liệu thu thập được.
- Nghiên cứu và phát triển phương pháp mới về dự đoán hiệu năng Web Services sử
dụng phân tích hồi quy Gaussian Process kết hợp với mơ hình hàng đợi dựa trên
mơ hình dữ liệu đầu vào, đồng thời đánh giá giá trị kì vọng và độ tin cậy của kết
quả dự đoán thu được.
4. Lời cam đoan của sinh viên:
Tơi – Phùng Đình Vũ – cam kết TTTN là cơng trình nghiên cứu của bản thân tôi dưới
sự hướng dẫn của PGS.TS. Huỳnh Quyết Thắng
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép tồn văn của bất kỳ
cơng trình nào khác.
Hà Nội, ngày tháng năm 2012
Tác giả ĐATN

Phùng Đình Vũ
5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo
vệ:

Hà Nội, ngày tháng năm 2012
Giáo viên hướng dẫn

Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 2


PGS.TS. Huỳnh Quyết Thắng

Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 3


LỜI CẢM ƠN
Tôi xin gửi lời cám ơn chân thành, sâu sắc tới Thầy PGS.TS. Huỳnh Quyết Thắng, bộ
môn Công nghệ phần mềm – Viện công nghệ thông tin & truyền thông – Đại học Bách Khoa
Hà Nội. Trong quá trình thực hiện đồ án, Thầy đã hướng dẫn và chỉ bảo tôi ân cần, cung cấp
cho tôi nhiều tài liệu, dữ liệu quan trọng là nền tảng để tôi tìm tịi nghiên cứu sâu hơn đề tài
này. Mỗi lời góp ý của Thầy giúp tơi định hướng tốt hơn, đúng đắn hơn cho đề tài mình đã
chọn.
Tơi cũng xin gửi lời cám ơn tới tập thể các Thầy, Cô trong Viện Công nghệ thông tin và
truyền thông đã tận tình dạy dỗ tơi trong những năm học vừa qua, cung cấp cho tơi nhiều kiến
thức q báu, bổ ích, lí thú. Để từ đó, tơi có đủ khả năng và hiểu biết để thực hiện và hoàn
thành đồ án này một cách tốt nhất. Tôi xin gửi lời cảm ơn tới các Thầy, Cô và các anh, chị

trong Trung tâm đào tạo tài năng & chất lượng cao đã quan tâm, giúp đỡ, giải đáp thắc mắc
cho tôi trong đợt làm đồ án và trong năm năm học đại học gắn bó với mái ấm thân u, nơi
ni dưỡng niềm đam mê học tập nghiên cứu cho tôi, giúp tôi trưởng thành hơn.
Lời cảm ơn tiếp theo tôi xin được giành cho Thầy Lê Quốc, và tập thể các anh chị trong
công ty Cazoodle Việt Nam với gần hai năm gắn bó, làm việc, học hỏi và thực hành được
nhiều kiến thức trong trường học liên quan tới Web & Web Services. Cảm ơn công ty đã cho
tôi được hợp tác làm việc để thu thập các số liệu hiệu năng Web Services, các số liệu này là
đầu vào quan trọng dẫn tới các kết quả khả quan cho phương pháp dự đốn mới được đề xuất
này.
Cuối cùng, tơi xin giành lời cảm ơn tới ba mẹ tôi đã quan tâm, chăm sóc, ủng hộ về vật
chất và tinh thần lớn lao để tơi có động lực theo đuổi đề tài. Cảm ơn những người bạn thân
thiết đã luôn cùng tôi sát cánh, động viên, an ủi tôi thực hiện và hoàn thành tốt đồ án này.

Tác giả ĐATN
Phùng Đình Vũ

Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 4


TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Đồ án này được thực hiện nhằm giải quyết bài toán dự đoán hiệu năng Web Services.
Đối với một hệ thống, hiệu năng là đại lượng quan trọng, có ảnh hưởng trực tiếp tới cảm
nhận của người dùng. Việc đánh giá được hiệu năng cịn giúp cho nhà quản trị từ đó có thể
đề ra nhiều chiến lược tối ưu hóa hiệu năng một cách hợp lí. Có nhiều mơ hình hóa hiệu
năng Web Services, trong đồ án này sử dụng mơ hình hay được dùng nhất trong các bài
báo đó là biểu diễn mối quan hệ giữa thời gian đáp ứng của hệ thống theo tốc độ tới

của người dùng. Phương pháp mới đề xuất mơ hình nhiễu của dữ liệu vào, sử dụng mơ
hình hàng đợi để làm giàu dữ liệu vào, kết hợp với phân tích hồi quy Gaussian Process để
dự đoán kết quả. Kết quả dự đoán là một giá trị kì vọng thời gian đáp ứng , cùng với
thanh lỗi (error bar) với khoảng tin cậy 95%. Đồ án này thực hiện phương pháp dự đoán
mới được đề cập với những nội dung như sau:
Phần mở đầu: Nêu lên thực trạng đang tồn tại trong các hệ thống Web Services,
tính cần thiết của bài tốn dự đốn hiệu năng Web Services. Để từ đó đề ra định
hướng giải pháp để giải quyết bài tốn này.
Chương 1: Trình bày các cơ sở lí thuyết phục vụ trong làm đồ án. Có rất nhiều lí
thuyết khác nhau liên quan, trong chương này tập trung trình bày về Web Services,
hiệu năng Web Services, mơ hình hàng đợi đối với các hệ thống Web Services,
tổng quan về các phương pháp phân tích hồi quy.
Chương 2: Đây là chương trình bày nội dung chính của đồ án. Phần đầu đề cập
những phương pháp dự đoán đang tồn tại nhằm giải quyết bài toán dự đoán hiệu
năng Web Services, chỉ ra những ưu – nhược điểm tồn tại trong mỗi phương pháp.
Phần tiếp theo trình bày hướng tiếp cận mới, chi tiết từng bước để thực hiện
phương pháp. Bước một trình bày cách thức thu thập các giá trị mẫu hiệu năng
Web Services, mô hình hóa dữ liệu đầu vào cho tín hiệu và nhiễu trên bộ dữ liệu
hiệu năng này. Bước hai trình bày việc sử dụng mơ hình hàng đợi để làm giàu dữ
liệu đầu vào tại các điểm hiệu năng ở mơi trường tải cao. Và bước cuối cùng là
phân tích hồi quy Gaussian Process để cho ra kết quả dự đốn mong muốn với
khoảng tin cậy 95% của kì vọng giá trị dự đoán. Cuối cùng là phần đánh giá kết
quả dự đốn về mặt lí thuyết.
Chương 3: Trình bày về triển khai một dịch vụ Web Service hàng đợi, thiết kế
chương trình thực hiện phương pháp và mơi trường cài đặt. Tiếp theo là phần đánh
giá sai số và đánh giá thực nghiệm phương pháp dự đoán mới này.
Phần kết luận: Đưa ra kết luận chung cho phương pháp tiếp cận mới trong dự
đoán hiệu năng Web Services. Đề xuất những hướng pháp triển sâu thêm để có
được kết quả dự đốn tốt hơn nữa.
Những nội dung trình bày trong đồ án này được kế thừa và phát triển thêm từ những nội

dung được trình bày trong báo cáo cùng đề tài trong hội nghị sinh viên nghiên cứu khoa học
Viện Công nghệ thông tin và truyền thông, đại học Bách Khoa Hà Nội.

Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 5


Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 6


ABSTRACT OF THESIS
This thesis is performed to solve the “Web Services performace prediction” problem, or
simply the prediction problem. Web Services are emerging as paradigm to build complex
distributed systems across different oganizations. The Web Services arichitecture allows
loosely-coupled services, potentially implimented on different platforms, to communicate
via the Internet using standard protocols. Performance plays an impotant role in Web
Services because it has a direct affection for user experience. Evaluating the performance
of Web Services is therefore neccessary and important in bulding high quality Web
Service-based systems. There are many ways to model performance of Web Services. In
the scenario of this thesis, we use the model that performs the relationship between
response time and arrival rate
of users. We provides the models of input data,
including signal model and noise model. Then we combine Gaussian Process and queuing

model to predict the results base on this input data. The results include mean value of
response time , following the error bar. Error bar depicts the 95% of confidence interval
for . The content of this thesis is as below:
-

Introduction: This part describes current status of Web Service-based systems, the
neccessary in predicting performance of Web Services. Then we provides the new
solution for solving the prediction problem.

-

Chapter 1: This chapter describes some related theories such as Web Services,
components of Web Services, the performance of Web Services, queueing theory in
prediction performance of Web Services, and the basic of regression methods.

-

Chapter 2: This chapter contains the main content of this thesis. The first part
refers to the exists methods for solving prediction problem. We analyze then point
out the advantage and disadvantage of each method. The second part describes the
new provided method, and the detail in each step that excutes this new method. The
first step is about collecting performance data, and building the input models. The
second step uses queuing model to enrich the input data. Then the enriched data is
used in Gaussian Process regression in step 3. After step 3, we provide the
prediction results. This chapter also includes the estimation in theory of our new
method.

-

Chapter 3: This chapter desribes the deployment of a Web Service-based queuing

system, the software design to impliment the new method. Then we estimate the
error on prediction, estimate the practiced results of new method.

-

Conclusion: This chapter gives the conclusions of the new method and further
researches.

Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 7


MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 2
LỜI CẢM ƠN 3
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
4
ABSTRACT OF THESIS
5
MỤC LỤC 6
DANH MỤC CÁC BẢNG VÀ HÌNH VẼ 8
DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT 9
MỞ ĐẦU
10
CHƯƠNG 1: CƠ SỞ LÍ THUYẾT 12
1.1. Web Services 12
1.1.1. Tổng quan về Web Services

12
[8]
1.1.2. Các thành phần Web Services
13
1.1.2.1. Simple Object Access Protocol (SOAP)......................................................13
1.1.2.2. Web Service Definition Language (WSDL)................................................15
1.1.2.3. Universal Description, Discovery and Integration (UDDI).........................16
1.1.3. Hiệu năng của Web Services [4] 16
1.2. Hệ thống dựa trên hàng đợi - Queue System [3]
19
1.2.1. Tổng quan 19
1.2.2. Arrivals và Service21
1.2.3. Đánh giá hiệu năng Queue System
22
1.2.2. Các mơ hình hàng đợi
24
1.3. Các phương pháp phân tích hồi quy [2] 26
1.3.1. Tổng quan 26
1.3.2. Phân tích hồi quy có tham số
27
1.3.3. Phân tích hồi quy phi tham số
27
1.4. Kết chương
28
CHƯƠNG 2 : XÂY DỰNG PHƯƠNG PHÁP DỰ ĐOÁN 29
2.1. Các phương pháp dự đoán hiệu năng WS
29
[1]
2.1.1. Dự đoán sớm hiệu năng qua mơ phỏng 29
2.1.2. Dự đốn hiệu năng của các luồng cơng việc WS[9]

30
2.1.3. Dự đốn hiệu năng phía Client 32
2.2. Xây dựng phương pháp dự đoán hiệu năng mới
32
2.2.1. Tổng quan về phương pháp
32
2.2.2. Xây dựng mơ hình dữ liệu đầu vào
34
2.2.3 Thực hiện phân tích hồi quy Gaussian Process 37
2.2.3.1. Lựa chọn hàm hiệp phương sai....................................................................37
2.2.3.2. Đánh giá siêu tham số hàm hiệp phương sai................................................39
2.2.3.3. Q trình phân tích hồi quy..........................................................................41
2.2.3.4. Nhận xét về phân tích hồi quy Gaussian Process.........................................42
2.2.4. Dự đốn sử dụng mơ hình hàng đợi
44
2.2.5. Kết hợp Gaussian Process và mơ hình hàng đợi 45
Sinh viên thực hiện: Phùng Đình Vũ – 20073526 – KSTN-CNTT-K52
Trang 8


2.3. Đánh giá phương pháp về mặt lí thuyết
47
2.3.1. Đánh giá khoảng tin cậy cho kì vọng
47
2.3.2. Những ưu điểm của phương pháp đề xuất 49
2.3.3. So sánh với các phương pháp khác
50
2.4. Kết chương
51
CHƯƠNG 3: CÀI ĐẶT VÀ ĐÁNH GIÁ THỰC NGHIỆM 52

3.1. Cài đặt phương pháp 52
3.1.1. Triển khai Web Services 52
3.1.2. Thiết kế chương trình
55
3.2. Chiến lược kiểm thử và mơ hình đầu vào
58
3.3. Kết quả và sai số dự đốn
59
3.3.1. Sử dụng phân tích hồi quy Gaussian
59
3.3.2. Sử dụng mơ hình hàng đợi60
3.3.3. Sử dụng phương pháp mới được đề xuất 61
3.4. Đánh giá thực nghiệm phương pháp 62
KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN
65
1. Kết luận 65
2. Định hướng phát triển 67
DANH MỤC TÀI LIỆU THAM KHẢO
69
PHỤ LỤC
70
P-1. Các biểu đồ UML trong phương pháp dự đoán hiệu năng sớm
P-2: Bảng số liệu hiệu năng Web Service TPC-App[2]
71
P-3: Bảng số liệu hiệu năng Web Service về căn hộ
72

Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52


70

Trang 9


DANH MỤC CÁC BẢNG VÀ HÌNH VẼ
Danh mục các hình vẽ:
Hình 1: Kiến trúc Web Services...........................................................................................13
Hình 2: Cấu trúc một thơng điệp SOAP...............................................................................14
Hình 3: Các thành phần WSDL.............................................................................................1
Hình 4: Mơ hình hóa hiệu năng theo thời gian đáp ứng.......................................................19
Hình 5: Mơ hình một hàng đợi, một server phục vụ............................................................20
Hình 6: Biểu đồ hoạt động cho phương pháp Marzolla và Mirandola[9]............................30
Hình 7: Sơ đồ thực hiện phương pháp dự đốn mới............................................................33
Hình 8: Đồ thị biểu diễn dữ liệu vào......................................................................................1
Hình 9: Kết quả phân tích hồi quy GP................................................................................43
Hình 10: Đồ thị dự đốn theo mơ hình QN............................................................................1
Hình 11: Kết hợp Gaussian Process và mơ hình hàng đợi...................................................46
Hình 12: Đồ thị kết quả dự đốn hiệu năng...........................................................................1
Hình 13: Sơ đồ mơ tả dịch vụ Web được triển khai.............................................................52
Hình 14: Biểu đồ luồng dữ liệu và luồng điều khiển giữa các modules..............................56
Hình 15: Đồ thị biểu diễn mơ hình đầu vào của WS về căn hộ.............................................1
Hình 16: Kết quả dự đốn dùng Gaussian Process................................................................1
Hình 17: Kết quả dự đốn dùng mơ hình hàng đợi................................................................1
Hình 18: Kết quả dự đốn theo phương pháp mới.................................................................1
Hình 20: Biểu đồ ca sử dụng cho Web Services..................................................................70
Hình 21: Biểu đồ trình tự cho Web Services.......................................................................70
Hình 22: Biểu đồ triển khai cho Web Sercies......................................................................71
Danh mục các bảng:

Bảng 1: Bảng biểu diễn một bộ dữ liệu vào.........................................................................43
Bảng 2: Kết quả dự đốn theo mơ hình QN...........................................................................1
Bảng 3: Kết quả dự đốn hiệu năng.......................................................................................1
Bảng 4: Mối quan hệ giữa giữa đại lượng n và khoảng tin cậy...........................................49
Bảng 5: Nội dung bản tin SOAP yêu cầu dịch vụ 2.............................................................53
Bảng 6 : Nội dung bản tin SOAP phản hồi từ dịch vụ 2......................................................54
Bảng 7: Mơ hình dữ liệu đầu vào của WS về căn hộ.............................................................1
Bảng 8: Bảng kết quả dự đoán Gaussian Process................................................................59
Bảng 9 : Bảng kết quả dự đốn theo mơ hình hàng đợi.......................................................60
Bảng 10: Kết quả bộ dữ liệu mới thu từ mơ hình hàng đợi..................................................61
Bảng 11: Kết quả dự đốn theo phương pháp mới được đề xuất.........................................61
Bảng 12: Bảng đánh giá khoảng tin cậy cho giá trị tốc độ tới
..............................63
Bảng 13: Bảng thống kê độ thuộc vào khoảng tin cậy của giá trị kì vọng...........................63
Bảng 14 : Bộ số liệu hiệu năng Web Service TPC-App......................................................71
Bảng 15: Bảng số liệu hiệu năng Web Service về căn hộ....................................................72

Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 10


DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT
Chữ Viết tắt

Tiếng Anh

Nghĩa Tiếng Việt


SMTQA

Simulation of Multi-tiered
Queueing Applications

Công cụ mô phỏng các ứng dụng hàng
đợi theo kiến trúc đa tầng

W3C

World Wide Web Consortium

Một tổ chức lập ra các chuẩn cho
Internet, nhất là với Web.

BPEL

Business Process Execution
Language

Ngơn ngữ thực thi quy trình kinh
doanh

GP

Gaussian Process

Phân tích hồi quy Gaussion Process


QN

Queuing Network

Mơ hình Queuing Network

SOA

Service Oriented Architecture

Kiến trúc hướng dịch vụ

SOAP

Simple Object Access Protocol

Giao thức truy cập đối tượng đơn giản

XML

eXtensible Markup Language

Ngôn ngữ đánh dấu mở rộng

RPC

Remote Procedure Call

Lời gọi thủ tục từ xa


EDI

Electronic Document Interchange

Trao đổi tài liệu điện tử

QoS

Quality of Service

Chất lượng dịch vụ

UML

Unified Modeling Language

Ngơn ngữ mơ hình hóa thống nhất

Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 11


MỞ ĐẦU
1. Thực trạng hiện tại
Ngày nay, một số lượng lớn các Web Services đang tồn tại, phục vụ trong các tổ chức
dù lớn hay nhỏ, nhúng trong các hệ thống từ đơn giản tới phức tạp, nhất là cho các trung
tâm dữ liệu trải dài trên các mạng phân tán. Đối với các hệ thống như vậy, hiệu năng của

Web Services phụ thuộc vào rất nhiều nhân tố khác nhau như mạng kết nối, kiến trúc
Server của hệ thống, các nỗ lực tối ưu hóa giải thuật, mã nguồn, ….Trong khi đó hiệu năng
của Web Services đóng vai trị quan trọng, là yếu tố quyết định ảnh hưởng tới cảm nhận
của người sử dụng đầu cuối về hệ thống; đảm bảo tính linh hoạt, tính mở rộng, dễ dàng
thay đổi và hiệu quả hoạt động cao cho hệ thống; giúp các nhà quản trị đề ra chiến lược tối
ưu hóa hiệu năng một cách hợp lí…. Cho nên việc đánh giá được hiệu năng Web Services
là điều rất cần thiết và thường được thực hiện thông qua kiểm thử hiệu năng hệ thống. Tuy
nhiên việc xác định được chính xác hiệu năng Web Services bằng kiểm thử đòi hỏi tốn
nhiều chi phí, cả về thời gian, tài nguyên hệ thống, nguồn nhân lực,….nên khơng phải lúc
nào ta cũng có thể thực hiện được, nhất là đối với môi trường tải cao khi gửi đồng loạt
nhiều yêu cầu tới Server, sẽ làm Server bị nghẽn hoặc tiêu tốn nhiều tài nguyên.
Bài toán đặt ra là làm thế nào để dự đốn một cách chính xác hiệu năng của hệ thống
dựa vào các số liệu đo đạc về hiệu năng đã có trước đó được đặt ra nhằm giải quyết vấn đề
tiết kiệm các chi phí ở trên. Các số liệu hiệu năng đo đạc thường thu thập ở môi trường tài
thấp, việc dự đốn đóng vai trị quan trọng hơn cho môi trường tải cao, dĩ nhiên vẫn đảm
bảo vai trị cho cả mơi trường tải thấp. Có nhiều hướng tiếp cận để giải quyết bài toán này
như đề cập trong phần sau của đồ án. Các cách tiếp cận tương đối khác nhau, sử dụng các
cơng cụ, mơ hình khác nhau từ công cụ mô phỏng, cho tới công cụ giúp triển khai được
Web Services, và thực hiện dự đốn trên đó. Hoặc đơn giản là thực hiện dự đốn ở phía
Client với những thơng tin cơ bản mà không cần quan tâm nhiều và chi tiết tới các đặc
điểm của hệ thống đang xét. Kết quả dự đoán ở mỗi phương pháp cũng khá đa dạng, đó có
thể là một giá trị kì vọng tại điểm cần dự đoán, hoặc là một khoảng giá trị cận trên và cận
dưới tại điểm đó…. Với sự đa dạng phong phú trong các cách tiếp cận, hiện nay bài toán
dự đoán hiệu năng Web Services đang được quan tâm nghiên cứu và phát triển.

2. Định hướng giải pháp
Trong đồ án này trình bày một hướng tiếp cận mới giải quyết bài toán dự đoán hiệu
năng Web Services. Hướng tiếp cận này kế thừa và phát triển một số cách tiếp cận đã tồn
tại trước đó, nhằm đưa ra kết quả phù hợp hơn với các hệ thống thực tế. Nhận xét cơ bản
với một hệ thống thực tế là luôn tồn tại “nhiễu” trong hệ thống. Các nhiễu trong hệ thống

này do nhiều nguyên nhân khác nhau như tình trạng mạng kết nối, tình trạng các tài
nguyên, trạng thái hệ thống,…. tại từng thời điểm khác nhau. Điều này khiến cho kết quả
đo đạc sử dụng cùng một quy trình, tại các thời điểm khác nhau, là khác nhau. Các phương
pháp đang tồn tại xem xét hiệu năng là giá trị trung bình của các lần đo đạc. Giá trị trung
bình này đóng vai trị như kì vọng của hiệu năng tại điểm cần xét. Phương pháp mới đề
Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 12


xuất ngồi việc sử dụng giá trị kì vọng, cịn xây dựng mơ hình nhiễu của dữ liệu. Với mơ
hình nhiễu, đầu vào cho phương pháp là giá trị kì vọng hiệu năng , kèm theo thanh lỗi
(error bar) . Thanh lỗi cho biết giá trị hiệu năng đo đạc tại các lần đo tiếp theo sẽ nằm
trong khoảng
với khoảng tin cậy 95% cho giá trị kì vọng dự đốn.
Với đầu vào như vậy, phương pháp mới này sử dụng mơ hình hàng đợi để làm giàu dữ
liệu hiệu năng Web Services thu thập được. Theo [3] mơ hình hàng đợi rất phổ biến trong
các hệ thống Web Services, việc đánh giá hiệu năng Web Services theo mơ hình này là có
căn cứ lí thuyết rõ ràng và phù hợp. Dữ liệu được làm giàu là đầu vào cho phân tích hồi
quy Gaussian Process (GP). Theo [6] một GP tương đương với một mạng nơ-ron trong
phương pháp học có giám sát. Chúng ta thường quen với mơ hình mạng nơ-ron hơn, trong
khi các lí thuyết về GP có tính chất đúng đắn về tốn học hơn. Lí do sử dụng GP ở đây là
GP rất thích hợp làm việc với các dữ liệu nhiễu. Các mơ hình được đề cập trong phương
pháp GP đều có giả thiết có sự tồn tại của nhiễu. Như ở trên đã đề cập, phương pháp mới
này đề xuất ra mơ hình dữ liệu đầu vào có nhiễu. Việc sử dụng GP đối với bộ dữ liệu nhiễu
này, thay vì các phương pháp phân tích hồi quy khác, là điều hợp lí. Lí do phải làm giàu dữ
liệu là do yếu điểm ngoại suy kém của GP, trong khi mơ hình hàng đợi thực hiện điều này
khá tốt do mơ hình hàng đợi được kiểm chứng phù hợp với các hệ thống Web Services

thực. Kết quả dự đoán theo GP cho phép ta xác định được dải giá trị hiệu năng, bao gồm
một kì vọng và thanh lỗi với khoảng tin cậy kết quả dự đốn là 95% giống như đầu vào. Có
thể tóm tắt ba bước thực hiện phương pháp như sau:
Bước 1: Thu thập số liệu hiệu năng hệ thống, thường đo đạc ở mơi trường tải thấp. Xây
dựng mơ hình nhiễu trên bộ dữ liệu thu thập được này.
Bước 2: Làm giàu dữ liệu ở bước 1 bằng sử dụng mơ hình hàng đợi.
Bước 3: Thực hiện phân tích hồi quy GP trên bộ dữ liệu đã được làm giàu. Đưa ra kết
quả dự đốn theo phương pháp.
Có thể thấy rõ ràng là kết quả của phương pháp ngoài việc đưa ra một giá trị kì vọng
cho hiệu năng tại điểm cần dự đốn, cịn có thêm thanh lỗi, tương ứng với khoảng tin cậy
95% để giá trị kì vọng của hiệu năng tại lần đo tiếp theo nằm trong dải giá trị ứng với
thanh lỗi trong kết quả dự đoán. Giống như đối với đầu vào, dải giá trị này cho thấy kết
quả dự đoán phù hợp hơn đối với các hệ thống thực tế, khi mà đối với các hệ thống đó có
nhiễu xảy ra làm cho kết quả đo đạc hiệu năng hệ thống tại các thời điểm khác nhau là
khác nhau. Hơn nữa theo [2] và [9], việc sử dụng kết hợp mơ hình hàng đợi với một
phương pháp phân tích hồi quy (như GP chả hạn) cho ta kết quả nội suy và ngoại suy tốt.
Phương pháp mới đề xuất cũng là sự kết hợp của việc sử dụng mơ hình hàng đợi với phân
tích hồi quy GP nên cho ra kết quả nội suy và ngoại suy tốt. Các kết quả này được kiểm
chứng trong phần thực nghiệm nêu ở phần sau của đồ án này.

Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 13


CHƯƠNG 1: CƠ SỞ LÍ THUYẾT
Chương này trình bày các vấn đề lí thuyết sau:



Web Services: Tổng quan về Web Service; các thành phần của Web Services và
xét tới hiệu năng của Web Service.



Hệ thống Web Services dựa trên hàng đợi: Tổng quan về hệ thống; phân tích bản
chất của đại lượng tốc độ tới và tốc độ dịch vụ; đánh giá hiệu năng Web Service
hàng đợi theo định luật Little; và cuối cùng trình bày về các mơ hình hàng đợi phổ
biến, đánh giá thời gian đáp ứng của các mơ hình này.



Các phương pháp phân tích hồi quy: Tổng quan về bài tốn phân tích hồi quy;
Trình bày về phân tích hồi quy có tham số và phân tích hồi quy phi tham số.

1.1. Web Services
1.1.1. Tổng quan về Web Services
Theo định nghĩa của W3C, Web Service là “một hệ thống phần mềm được thiết kế để
hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau thơng qua mạng
Internet”. Web Services đóng một vai trò quan trọng trong các kiến trúc hướng dịch vụ
(SOA) vì chúng cho phép các dịch vụ có sẵn thể được lựa chọn một cách nhanh chóng để
xây dựng một ứng dụng mong muốn. Một ứng dụng có thể được cộng tác sản xuất bởi
nhiều tổ chức, cá nhân khác nhau thơng qua Web Services. Ví dụ, một số nhà cung cấp
dịch vụ lớn Google, Facebook, Amazon, Ebay, Paypal, Youtube…. đang có những bước
phát triển vượt bậc, thu lại lợi nhuận lớn, nhờ phát triển Websites kèm theo các dịch vụ
Web, giúp cho người sử dụng khi viết ứng dụng có thể nhúng vào trong các hệ thống của
họ. Các dịch vụ Web rất phong phú và đa dạng, như dịch vụ chọn lọc và phân loại tin tức
(hệ thống thư viện có kết nối đến Web Portal để tìm kiếm các thơng tin cần thiết); ứng
dụng cho dịch vụ du lịch (cung cấp giá vé, thông tin về địa điểm…); dịch vụ cung cấp

thông tin thương mại như giá cả thị trường, tỷ giá hối đoái, đấu giá qua mạng; các dịch vụ
giao dịch trực tuyến như đặt vé máy bay, thuê xe, nhà kho, sân bãi; dịch vụ xử lí văn bản,
tài liệu; ....
Web Services ra đời đã biến Internet trở thành một nơi để các công ty, tổ chức, cá nhân
hợp tác để làm việc chứ khơng chỉ là nơi chia sẻ tin tức, hình ảnh, liên lạc, giải trí. Điều
này có thể đạt được là do Web Services có những ưu điểm nổi bật sau. Web Services tồn
tại độc lập với nhau, trong khi có thể cùng tham gia vào một ứng dụng. Web Services nâng
cao khả năng tái sử dụng, một Web Service có thể tham gia vào nhiều hệ thống khác nhau.
Web Services thích hợp cho các hệ thống phân tán, dễ dàng tích hợp, mở rộng hệ thống,
làm giảm sự phức tạp hệ thống, phát triển nhanh và tương tác hiệu quả với các hệ thống
khác. Web Services hoàn toàn độc lập với mọi nền tảng máy tính khác nhau, giúp cho hai
máy tính bất kì nào, dù chạy hệ điều hành Windows hay Linux, … cũng đều có thể tương
tác, trao đổi dữ liệu với nhau được dễ dàng thông qua các giao thức đã được chuẩn hóa
chung.
Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 14


Các thành phần trong Web Services đó là sự kết hợp của SOAP (Simple Object Access
Protocol), WSDL (Web Services Description Language), và UDDI (Universal Description,
Discovery and Integration) trong môi trường phân tán và dựa trên nền tảng các giao thức
Internet với mục tiêu tích hợp ứng dụng dịch vụ và truyền thông điệp. SOAP là một giao
thức xây dựng dựa trên XML được dùng để truyền thông điệp, dữ liệu. WSDL là một ngôn
ngữ dựa trên định dạng XML được sử dụng để mô tả các dịch vụ, làm thế nào để truy cập
các dịch vụ. Và UDDI được sử dụng để liệt kê các thông tin về những dịch vụ nào hiện tại
đang có sẵn để có thể sử dụng. Chúng ta sẽ tìm hiểu chi tiết về các thành phần này ở phần
sau của đồ án. Có ba tác nhân chính tham gia vào một hệ thống dựa trên Web Services, đó

là Service Provider: phía nhà cung cấp dịch vụ, sử dụng WSDL để mô tả các dịch vụ đang
cung cấp; Service Broker: tác nhân sử dụng UDDI để lưu trữ thông tin về các dịch vụ được
cung cấp. Service Requester: bên người dùng yêu cầu sử dụng dịch vụ, sử dụng WSDL để
đặc tả các yêu cầu gửi tới Service Broker, khi tìm thấy dịch vụ sẽ giao tiếp với Service
Provider để sử dụng dịch vụ đó [8]. Ta mơ tả các cơ chế đã nói ở trên trong hình sau:
Service
Broker

UDDI

WSD
L

WSD
L
Yêu cầu (SOAP)

Service
Requester

Phản hồi (SOAP)

Service
Provider

Hình 1: Kiến trúc Web Services
Trong hình 1 ở trên, một yêu cầu sử dụng dịch vụ Web được thực hiện như sau. Khi
Service Provider sẵn sàng cung cấp một dịch vụ nào đó, họ sẽ viết mơ tả về dịch vụ đó
bằng WSDL và đăng kí với Service Broker. Khi Service Requester muốn yêu cầu sử dụng
một dịch vụ nào đó, họ sẽ mô tả về dịch vụ yêu cầu bằng WSDL và gửi lên Service Broker.

Service Broker căn cứ vào mô tả này để tìm kiếm dịch vụ phù hợp và trả về thơng tin dịch
vụ đó cho Service Requester. Khi có thơng tin về dịch vụ u cầu, Service Requester tạo
lập gói tin SOAP chứa yêu cầu sử dụng dịch vụ và gửi tới Service Provider. Service
Provider nhận được yêu cầu, xử lí yêu cầu và gửi phản hồi về cho Service Requester thông
qua bản tin SOAP.

1.1.2. Các thành phần Web Services [8]
1.1.2.1. Simple Object Access Protocol (SOAP)
SOAP là một tiêu chuẩn của W3C, giao thức sử dụng XML để đặc tả và trao đổi thông
tin về các cấu trúc dữ liệu cũng như các kiểu dữ liệu giữa các thành phần trong hệ thống.
Sử dụng SOAP, ứng dụng có thể yêu cầu thực thi phương thức trên máy tính ở xa mà
không cần quan tâm đến chi tiết về platform cũng như các phần mềm trên máy tính đó.
SOAP có khả năng mở rộng, được hiểu theo nghĩa cung cấp khả năng phục vụ cho nhu cầu
Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 15


đặc thù của ứng dụng và nhà cung cấp. Các chức năng về bảo mật, tăng độ tin cậy có thể
đưa vào phần mở rộng của SOAP. Các nhà cung cấp dịch vụ khác nhau, tùy vào đặc điểm
hệ thống của mình có thể định nghĩa thêm các chức năng mở rộng nhằm tăng thêm lợi thế
cạnh tranh cũng như cung cấp thêm tiện ích cho người sử dụng.
Các thành phần chuẩn của SOAP bao gồm có ngơn ngữ đánh dấu mở rộng XML, lời gọi
thủ tục từ xa RPC và trao đổi tài liệu điện tử EDI, thông điệp SOAP, vận chuyển SOAP.
Ngôn ngữ đánh dấu mở rộng XML: XML là chuẩn do W3C đề xuất, và được cả thế giới
công nhận, sử dụng giống như là ngôn ngữ giao tiếp giữa các máy với nhau. Thông điệp
XML rất đơn giản trong việc xây dựng thông tin ở đây có thể có cấu trúc, hay các mơ tả về
tài liệu,... Người dùng có thể tự mình tạo các tag riêng trong cách tài liệu XML của mình

theo các quy tắc logic ở mức trên do người dùng tự định nghĩa trong giao tiếp. XML cung
cấp tính mềm dẻo cho các ứng dụng trong quá trình giao tiếp với nhau và là một dạng cơ
bản của SOAP. SOAP sử dụng XML là chuẩn được thế giới công nhận, điều này tạo khả
năng độc lập môi trường cho SOAP.
RPC và EDI: SOAP có hai ứng dụng liên quan là RPC và EDI. Thủ tục gọi hàm từ xa
RPC là một dạng tính tốn phân tán cơ bản, mơ tả cách thức để một chương trình tạo ra
một thủ tục gọi hàm hoặc phương thức tới một máy tính khác, truyền đối số và lấy giá trị
trả về. Trao đổi tài liệu điện tử EDI là việc chuyển giao thông tin từ máy tính điện tử này
sang máy tính điện tử khác bằng phương tiện điện tử, có sử dụng một tiêu chuẩn đã được
thỏa thuận để cấu trúc thông tin [UNCITRAL]. Một khi thơng tin có cấu trúc đã được định nghĩa,
EDI được thực hiện hoàn toàn tự động, mang lại lợi ích về tốc độ cao, tính kinh tế, tính
chính xác trong việc xử lí các chứng từ giao dịch trong các quy trình nghiệp vụ.
Thơng điệp SOAP: bao gồm phần tử gốc Envelope bao trùm toàn bộ nội dung thơng
điệp SOAP, trong đó có các phần tử SOAP Header và SOAP Body. Phần tử Header chứa
các thông tin tiêu đề cho trang, phần tử này không bắt buộc khai báo trong văn bản. Những
đầu mục còn có thể mang những dữ liệu chứng thực, những chữ ký số hóa, và thông tin mã
hóa, hoặc những cài đặt cho thao tác.... Các dữ liệu chứa nội dung chính được lưu trữ tại
phần tử Body. Bất cứ thứ gì có thể trình bày cú pháp XML đều nằm trong phần tử Body
của một thơng điệp SOAP, thơng thường nó chứa các thơng tin u cầu và phản hồi. Trong
Body có thể chứa phần tử phát sinh lỗi (SOAP Fault) cung cấp thơng tin lỗi xảy ra trong
q trình xử lý thơng điệp. Hiểu được cấu trúc của thông điệp SOAP, các tạo một thơng
điệp SOAP ta có thể dễ dàng kết nối và sử dụng dịch vụ, gửi yêu cầu và nhận kết quả trả
về. Hình dưới đây cho ta cái nhìn trực quan về các thành phần của thơng điệp SOAP:
SOAP Envelope
Header (optional)
Body (required)
Faults (optional)

Hình 2: Cấu trúc một thơng điệp SOAP
Sinh viên thực hiện: Phùng Đình Vũ


– 20073526 – KSTN-CNTT-K52

Trang 16


SOAP Faults: là một dạng thông điệp SOAP đặc biệt được dùng để thơng báo lỗi trong
q trình trao đổi, xử lí thơng tin.
Vận chuyển SOAP: SOAP có thể sử dụng các giao thức vận chuyển khác nhau và đa
dạng để trao đổi các thông điệp, như HTTP, FTP, SMTP, POP3, IBM's MQSeries, hay
Microsoft Message Queuing (MSMQ). Hiện nay, HTTP được sử dụng phổ biến trên
Internet, chính vì tính phổ biến của nó, cho nên HTTP hiện tại đang là giao thức vận
chuyển phổ biến nhất cho việc vận chuyển các thông điệp SOAP. Nội dung của SOAP qua
giao thức HTTP sẽ nằm trong nội dung của HTTP. Phần Header của HTTP bao gồm thêm
SOAPAction để chỉ định phương thức thực thi thông điệp SOAP. SOAP-RPC thông qua
HTTP rất thuận tiện trong việc gửi yêu cầu và nhận các thông điệp đáp ứng bởi vì bản chất
HTTP chính là giao thức dựa trên nền tảng gửi các yêu cầu và nhận các đáp ứng (requestresponse-base protocol).
1.1.2.2. Web Service Definition Language (WSDL)
Khi hoàn thành xây dựng Web Services, cần phải xây dựng tài liệu mô tả về dịch vụ này
để người sử dụng có thể biết và khai thác Web Services được cung cấp một cách hiệu quả.
WSDL được dùng để viết nên những tài liệu như vậy. WSDL là một ngôn ngữ dựa trên
XML để định nghĩa Web Services. Những nội dung mô tả trong tài liệu WSDL bao gồm vị
trí của Web Services, các phương thức được hỗ trợ, các tham số, kèm theo các kiểu dữ liệu
được sử dụng trong các thông điệp trao đổi giữa Client và Server cung cấp dịch vụ. Tất cả
các định nghĩa này kết hợp với các giao thức mạng tạo thành một điểm đầu cuối (endpoint) và sự kết hợp đó ta gọi là binding. Các giao thức khác nhau truy cập vào Web
Service ở các cổng khác nhau, ví dụ cổng sử dụng SOAP/HTTP binding, cổng sử dụng
SOAP/HTTPS binding,...
Definitions
Hình bên cho ta cái nhìn trực quan về các
thành phần của WSDL. Các thành phần của

WSDL bao gồm: types, message, portType,
binding, service. Phần tử “types” định nghĩa
các kiểu dữ liệu dùng để trao đổi giữa Client và
Server. Phần tử “message” định nghĩa thành
phần dữ liệu và các thông điệp được trao đổi,
ta có thể liên tưởng message tới một câu lệnh
gọi hàm trong ngơn ngữ lập trình truyền thống.
Phần tử “portType” dùng để định nghĩa một
tập các chức năng mà Web Service hỗ trợ và
thơng điệp ứng với từng chức năng đó. Phần tử
“binding” chỉ ra các ràng buộc giữa các ports
với nhau và ràng buộc các giao thức tầng dưới.
Phần tử “service” có tác dụng gom các ports
thành từng nhóm.

Types
Message
PortType
Operation
Input
Output

Binding
Service
Port

Hình 3: Các thành phần WSDL
Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52


Trang 17


1.1.2.3. Universal Description, Discovery and Integration (UDDI)
Mỗi nhà sản xuất kinh doanh khi hoàn thành xây dựng dịch vụ của mình sẽ đưa dịch vụ
đó vào hoạt động. Làm thế nào để đưa thông tin về những dịch vụ tới các khách hàng và
các thành viên của nhà sản xuất kinh doanh? Câu trả lời là chúng ta sử dụng UDDI cho
mục đích đó. UDDI là một framework độc lập với các nền tảng máy tính, giúp cho việc mơ
tả các Web Services, cung cấp cơ chế để đăng kí và định vị các dịch vụ Web, định nghĩa
làm thế nào để tương tác với các Web Services, và công bố cơng khai trên trên Internet để
người dùng có thể truy cập và sử dụng.
Xét về thơng tin đăng kí cho kinh doanh, dịch vụ có thể chia làm ba nhóm:
-

Bản trắng (white pages): Nhóm này đưa ra các thơng tin kinh doanh mô tả dịch vụ,
bao gồm tên, mô tả công việc kinh doanh, thông tin liên hệ (điên thoại, email, ..)
nhà cung cấp dịch vụ.

-

Bản vàng (yellow pages): Nhóm này đưa ra phân loại các dịch vụ, hoặc nhà cung
cấp dịch vụ dựa trên các chuẩn phân loại. Các chuẩn này bao gồm: Standard
Industrial Classification (SIC), North American Industry Classification System
(NAICS), United Nations Standard Products and Services Code (UNSPSC).

-

Bản xanh (green pages): Nhóm này được sử dụng để mô tả làm thế nào để truy cập
vào một Web Service, dựa trên thông tin về các service bindings mô tả trong tài

liệu WSDL. Bản xanh cung cấp các tham chiếu tới các đặc tả kĩ thuật mà các dịch
vụ thực thi, cũng như là các con trỏ đến các tệp và cơ chế khám phá dựa trên URL.

Một công ty, hay nhà cung cấp dịch vụ khi có một Web Service mới được đi vào hoạt
động, sẽ tiến hành tạo và đăng kí một bản ghi UDDI theo thơng tin phân chia trong ba
nhóm nêu trên. Bản ghi UDDI này sau đó sẽ được gán một định danh duy nhất và lưu trữ
vào kho trên Internet. Kho này chứa tập tất cả các bản ghi UDDI đã được đăng kí. Khi các
bản ghi đã được cơng bố trên Internet, các cỗ máy tìm kiếm, các ứng dụng của người sử
dụng, ... sẽ có thể truy vấn và khai thác các tính năng Web Services cung cấp. Các dữ liệu
khai thác dễ dàng được tích hợp trong các hệ thống của các công ty, tổ chức khác phục vụ
cho mục đích riêng của cơng ty, tổ chức đó.

1.1.3. Hiệu năng của Web Services [4]
Với một hệ thống Web Services trong thực tế cần phải đảm bảo ba yếu tố cần thiết sau.
Một là tính co giãn (Scalability). Tính co giãn của một hệ thống dịch vụ Web thể hiện ở
chỗ hệ thống đó phải ln ln phù hợp với những yêu cầu đặt ra ban đầu của nó, đồng
thời cũng có thể thích ứng với những sự phát triển, mở rộng hay sự co hẹp của hệ thống về
sau này. Hai là sự đảm bảo về hiệu năng của hệ thống (Performance). Nhắc tới hiệu năng ở
đây là nhắc tới việc các dịch vụ Web phải thực thi các câu truy vấn một cách nhanh chóng,
hồn thành u cầu của người sử dụng trong một khoảng thời gian ngắn hoặc chấp nhận
được, giảm thiểu sự chậm trễ trong các bản tin gửi đi và thời gian xử lí của hệ thống trong
điều kiện mạng băng thơng rộng. Ba là tính dự đoán được (Predictability), nghĩa là hệ
thống Web Services phải đảm bảo sao cho khơng cịn chỗ nào trong hệ thống cịn mơ hồ,

Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 18



không rõ ràng. Thời gian đáp ứng của hệ thống cũng phải là một đại lượng có thể dự đốn
được. Trong ba yếu tố kể trên, chúng ta sẽ xem xét yếu tố về hiệu năng của Web Services.
Hiệu năng của Web Services phụ thuộc vào rất nhiều yếu tố ràng buộc, ví dụ như mạng
kết nối mà dịch vụ được sử dụng (một yếu tố khó xác định), các hệ thống đầu cuối khác
liên kết với Web Service, các ứng dụng và công nghệ sử dụng trong hệ thống, người sử
dụng đầu cuối, tốc độ xử lí trong máy chủ của hệ thống, kiến trúc của hệ thống, thậm chí là
cả các ràng buộc về chi phí. Tất nhiên máy chủ càng nhanh, bền thì càng tốt, nhưng đồng
hành với nó là chi phí mua máy chủ đó là đắt. Khi xây dựng một Web Service cần chú ý
tới yếu tố giá thành, từ đó ảnh hưởng tới hiệu năng của dịch vụ. Nhiều cơng ty, tổ chức có
thể đầu tư nhiều phần cứng để cải thiện hiệu năng hệ thống, chi phí cho giải pháp này
thường tốn kém. Giải pháp thứ hai là phát triển yếu tố về công nghệ, sử dụng những công
nghệ tiên tiến, tối ưu hóa mã nguồn tốt nhất nhằm tăng hiệu năng hệ thống. Giải pháp này
áp dụng với công ty, tổ chức đã có độ phát triển cao.
Hiệu năng của một Web Service có thể được đánh giá từ nhiều độ đo khác nhau, đứng
trên nhiều phương diện khác nhau. Đứng trên phương diện khách hàng, độ đo được sử
dụng có thể là thời gian đáp ứng (response times) của dịch vụ. Thời gian đáp ứng có thể
tính bởi khoảng thời gian từ lúc người dùng gửi yêu cầu tới dịch vụ, Server phân tích xử lí
yêu cầu và trả kết quả về cho người dùng. Ngoài thời gian đáp ứng, trên phương diện
khách hàng, một độ đo cũng được sử dụng đó là số lượng kết nối bị lỗi, hiệu năng của dịch
vụ cao khi giảm tới mức tối thiểu số lượng kết nối bị lỗi từ khách hàng và người sử dụng.
Đứng trên phương diện nhà phân phối dịch vụ thì hiệu năng được đánh giá bởi số lượng
giao dịch và dịch vụ thực hiện trong một đơn vị thời gian, hoặc có thể tính bằng số lượng
người sử dụng đang kết nối đồng thời để sử dụng dịch vụ. Nếu dịch vụ đáp ứng được nhiều
giao dịch, nhiều người sử dụng đồng thời thì hiệu năng của dịch vụ đó tốt. Đứng trên khía
cạnh q trình, thì hiệu năng được đánh giá bởi thời gian cần thiết để thực hiện một giao
dịch kinh doanh. Để có thể đánh giá chính xác hiệu năng của hệ thống cần phải có một mơ
hình tốn học rõ ràng trong việc tính hiệu năng của dịch vụ Web. Việc mơ hình hóa hiệu
năng là cần thiết trong suốt quá trình hình thành và phát triển của dịch vụ. Mơ hình hóa
hiệu năng để xác thực kiến trúc, thiết kế, và sự thực thi của dịch vụ; để dự đoán hiệu năng

của dịch vụ trong các trường hợp thực tế khác …
Trước khi xây dựng mơ hình hóa hiệu năng ta cần chỉ ra những độ đo nào có thể được
sử dụng trong mơ hình. Các độ đo thường liên quan tới yếu tố về chất lượng dịch vụ
(QoS); đây là một yếu tố quan trọng trong việc đánh giá sự thành công của các nhà cung
cấp Web Services. QoS sẽ quyết định đến khả năng sử dụng và tính hữu ích của dịch vụ, cả
hai yếu tố này đều ảnh hưởng đến tính phổ biến của Web Services. Một số yếu tố cần phải
xem xét trong QoS là tính có sẵn, tính truy cập được, tính tồn vẹn, tính tin cậy, khả năng
hoạt động, tính linh động, tính an tồn. Khi xem xét các yếu tố này trong QoS ta có thể đưa
ra một vài độ đo phổ biến về hiệu năng Web Services như:

Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 19


-

Latency (Thời gian chờ): Được đánh giá thông qua round-trip time (RTT), là
khoảng thời gian Client bắt đầu khởi tạo yêu cầu cho tới khi Server bắt đầu xử lí
yêu cầu này, và ngược lại, Server gửi phản hồi tới cho Client thơng qua mơi trường
mạng. Q trình này bao gồm marshalling (quá trình chuyển đổi các kiểu dữ liệu
của ngơn ngữ lập trình sang một định dạng phù hợp cho truyền dẫn qua mạng), và
un-marshalling (ngược với marshalling) các gói tin SOAP. Lưu ý là trong cơng
thức tính Latency không bao gồm thời gian chuyển dữ liệu qua lại giữa Client và
Server, nên nó khơng phụ thuộc vào băng thơng mạng. Q trình giao tiếp giữa
Client và Server ít nhất trải qua 3 round-trip time đó là: 1 RTT cho phân giải định
danh tên miền (DNS), 1 RTT cho thiết lập kết nối TPC, 1 RTT cho việc gửi yêu
cầu HTTP.


-

Response time (thời gian đáp ứng): Có nhiều cách hiểu khác nhau về thời gian đáp
ứng, đứng trên các khía cạnh khác nhau. Đứng trên khía cạnh Server, thời gian đáp
ứng được xem là khoảng thời gian từ lúc người sử dụng bắt đầu đi vào hệ thống
cho tới khi yêu cầu được Server thực thi và người sử dụng đi ra khỏi hệ thống.
Đứng trên khía cạnh Client, thời gian đáp ứng được xem bằng tổng thời gian Server
thực thi và thời gian chờ (Latency) trong quá trình giao tiếp giữa Client và Server.

-

Transaction time (Thời gian giao dịch): Là thời gian cần thiết để thực thi một
nhiệm vụ kinh doanh. Trong cơng thức tính thời gian giao dịch, có thể bao gồm
nhiều q trình vận chuyển bản tin SOAP qua lại giữa Client và Server.

-

Throughput: Đại lượng này được tính là lượng dữ liệu được xử lí bởi Server trong
một đơn vị thời gian. Ví dụ một Web Service xử lí 9000 yêu cầu HTTP trong
khoảng 30 phút với kích thước một bản tin SOAP là 467Kb. Khi đó throughput
được tính là:

Một Web Service được gọi là có hiệu năng cao khi Web Service đó có throughput lớn,
hay thời gian chờ, thời gian thực thi nhỏ, hay thời gian xử lí giao dịch nhanh, hay thời gian
đáp ứng thấp.
Hiệu năng Web Services được xem xét ở nhiều mức độ, góc nhìn khác nhau. Ở mức độ
hệ thống (System level), ta coi hệ thống như cả một hộp đen, khi đó sẽ đứng trên phương
diện người sử dụng đầu cuối để đánh giá hiệu năng. Đại lượng được dùng lúc này là
Throughput, hoặc thời gian đáp ứng của hệ thống. Ở mức độ thành phần (Component

level), đánh giá hiệu năng thông qua các tương tác, các thông số tài nguyên của dịch vụ. Ở
mức độ mô phỏng, đánh giá hiệu năng hệ thống dịch vụ trong thực tế thông qua việc mô
phỏng các trạng thái chuyển đổi trong hệ thống. Ở mức độ phân tích chi tiết, hiệu năng sẽ
được xác định rõ bởi các biểu thức toán học. Từ đó xây dựng nên những đồ thị cho phép ta
suy diễn ra hiệu năng của dịch vụ. Một số đồ thị phổ biến được sử dụng trong hầu hết các
bài báo khoa học nghiên cứu về hiệu năng Web Services là:
Sinh viên thực hiện: Phùng Đình Vũ

– 20073526 – KSTN-CNTT-K52

Trang 20



×