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 toán dự đoán hiệu năng Web Services. Để từ đó đề ra định hướng giải pháp để giải quyết bài toá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ự đoá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ự đoá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ự đoán tốt hơn nữa
Trang 1TRƯỜ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ự đoán hiệu năng Web Services sử dụng phân tích hồi quy Gaussion Process
Trang 2HÀ 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: phungdinhvu@gmail.com
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 quyGaussian 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 GausianProcess, 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àitoá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ìnhtí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ếtquả 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 toà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ảovệ:
Hà Nội, ngày tháng năm 2012
Giáo viên hướng dẫn
Trang 3PGS.TS Huỳnh Quyết Thắng
Trang 4Tô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ếnthức quý báu, bổ ích, lí thú Để từ đó, tôi có đủ khả năng và hiểu biết để thực hiện và hoànthà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ắccho 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 yêu, nơinuôi 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ị trongcô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 đượcnhiều kiến thức trong trường học liên quan tới Web & Web Services Cảm ơn công ty đã chotô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ự đoán mới được đề xuấtnà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ậtchấ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ânthiế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ũ
Trang 5
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ảmnhậ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ệunăng Web Services, trong đồ án này sử dụng mô hình hay được dùng nhất trong các bàibáo đó là biểu diễn mối quan hệ giữa thời gian đáp ứng Tcủ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 T , cùng vớithanh 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ánmớ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 toán dự đoán hiệu năng Web Services Để từ đó đề ra địnhhướng giải pháp để giải quyết bài toá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ệună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ệnphươ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ăngWeb 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ệuhiệ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ự đoán mong muốn vớikhoả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ếtquả dự đoá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 đánhgiá 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ự đoá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ộidung đượ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ọcViện Công nghệ thông tin và truyền thông, đại học Bách Khoa Hà Nội
Trang 7ABSTRACT OF THESIS
This thesis is performed to solve the “Web Services performace prediction” problem, orsimply the prediction problem Web Services are emerging as paradigm to build complexdistributed systems across different oganizations The Web Services arichitecture allowsloosely-coupled services, potentially implimented on different platforms, to communicatevia the Internet using standard protocols Performance plays an impotant role in WebServices because it has a direct affection for user experience Evaluating the performance
of Web Services is therefore neccessary and important in bulding high quality WebService-based systems There are many ways to model performance of Web Services Inthe scenario of this thesis, we use the model that performs the relationship betweenresponse time Tand arrival rate of users We provides the models of input data,including signal model and noise model Then we combine Gaussian Process and queuingmodel to predict the results base on this input data The results include mean value ofresponse time T , following the error bar Error bar depicts the 95% of confidence intervalfor T 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 newsolution 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 inprediction performance of Web Services, and the basic of regression methods
- Chapter 2: This chapter contains the main content of this thesis The first partrefers to the exists methods for solving prediction problem We analyze then pointout the advantage and disadvantage of each method The second part describes thenew provided method, and the detail in each step that excutes this new method Thefirst step is about collecting performance data, and building the input models Thesecond step uses queuing model to enrich the input data Then the enriched data isused in Gaussian Process regression in step 3 After step 3, we provide theprediction results This chapter also includes the estimation in theory of our newmethod
- Chapter 3: This chapter desribes the deployment of a Web Service-based queuingsystem, the software design to impliment the new method Then we estimate theerror on prediction, estimate the practiced results of new method
- Conclusion: This chapter gives the conclusions of the new method and furtherresearches
Trang 8MỤ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
1.1.2 Các thành phần Web Services [8] 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à Service 21
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
2.1.1 Dự đoán sớm hiệu năng qua mô phỏng[1] 29
2.1.2 Dự đoán hiệu năng của các luồng công việc WS[9] 30
2.1.3 Dự đoá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 Quá 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ự đoán sử dụng mô hình hàng đợi 44
Trang 92.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ự đoá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 đợi 60
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 70
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
Trang 10DANH 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ự đoá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ự đoá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ự đoá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ự đoán dùng Gaussian Process 1
Hình 17: Kết quả dự đoán dùng mô hình hàng đợi 1
Hình 18: Kết quả dự đoá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ự đoán theo mô hình QN 1
Bảng 3: Kết quả dự đoá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ự đoá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ự đoá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 0.52 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
Trang 11DANH 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ầngW3C 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
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ảnXML eXtensible Markup Language Ngôn ngữ đánh dấu mở rộng
EDI Electronic Document Interchange Trao đổi tài liệu điện tử
UML Unified Modeling Language Ngôn ngữ mô hình hóa thống nhất
Trang 12MỞ ĐẦ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úcServer 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ăngcủa Web Services đóng vai trò quan trọng, là yếu tố quyết định ảnh hưởng tới cảm nhậncủ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àngthay đổ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 Tuynhiê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ốnnhiề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úcnà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ạtnhiề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ự đoán một cách chính xác hiệu năng của hệ thốngdự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àithấp, việc dự đoán đóng vai trò quan trọng hơn cho môi trường tải cao, dĩ nhiên vẫn đảmbả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àynhư đề 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áccô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 đượcWeb Services, và thực hiện dự đoán trên đó Hoặc đơn giản là thực hiện dự đoán ở phíaClient 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ậndướ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ồntạ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ảnvớ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ốngnà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àinguyê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ươngphá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ị trungbì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 đề
Trang 13xuất ngoà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 T , 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 T với khoảng tin cậy 95% cho giá trị kì vọng dự đoá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 trongcá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ồiquy Gaussian Process (GP) Theo [6] một GP tương đương với một mạng nơ-ron trongphươ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, trongkhi các lí thuyết về GP có tính chất đúng đắn về toá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ươngphá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ớinà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ễunà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àykhá 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 Servicesthự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ồmmột kì vọng và thanh lỗi với khoảng tin cậy kết quả dự đoá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ự đoá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ọngcho hiệu năng tại điểm cần dự đoán, còn có thêm thanh lỗi, tương ứng với khoảng tin cậy95% để 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ớithanh 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ếtquả 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ộtphươ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ântí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ểmchứng trong phần thực nghiệm nêu ở phần sau của đồ án này
Trang 14CHƯƠ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ảnchất của đại lượng tốc độ tới và tốc độ dịch vụ; đánh giá hiệu năng Web Servicehà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 toá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ạngInternet” 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ởinhiều tổ chức, cá nhân khác nhau thông qua Web Services Ví dụ, một số nhà cung cấpdịch vụ lớn Google, Facebook, Amazon, Ebay, Paypal, Youtube… đang có những bướcphá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); ứngdụ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ấpthô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ânhợ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ềunày có thể đạt được là do Web Services có những ưu điểm nổi bật sau Web Services tồntạ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ângcao 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ốngkhá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 haimá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ươngtá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óachung
Trang 15Các thành phần trong Web Services đó là sự kết hợp của SOAP (Simple Object AccessProtocol), 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ứcInternet 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 giaothứ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ônngữ 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ậpcá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ầnsau 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ụ đangcung cấp; Service Broker: tác nhân sử dụng UDDI để lưu trữ thông tin về các dịch vụ đượccung 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 ServiceProvider để sử dụng dịch vụ đó [8] Ta mô tả các cơ chế đã nói ở trên trong hình sau:
Hình 1: Kiến trúc Web ServicesTrong 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 KhiService 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ụngmộ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ụ yêu cầu, Service Requester tạolập gói tin SOAP chứa yêu cầu sử dụng dịch vụ và gửi tới Service Provider ServiceProvider 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ôngqua 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ôngtin 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
ServiceBroker
Service
WSDL
WSDLYêu cầu (SOAP)Phản hồi (SOAP)
UDDI
Trang 16đặ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ọithủ 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ệpXML 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ìnhtheo các quy tắc logic ở mức trên do người dùng tự định nghĩa trong giao tiếp XML cungcấ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 toán phân tán cơ bản, mô tả cách thức để một chương trình tạo ramộ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àysang 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 đã đượcthỏ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ínhchí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ứacá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ạiphầ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ử Bodycủa một thông điệp SOAP, thông thường nó chứa các thông tin yêu cầu và phản hồi TrongBody 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 trongquá 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 EnvelopeHeader (optional)Body (required)Faults (optional)
Trang 17SOAP Faults: là một dạng thông điệp SOAP đặc biệt được dùng để thông báo lỗi trong
quá 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, hayMicrosoft Message Queuing (MSMQ) Hiện nay, HTTP được sử dụng phổ biến trênInternet, 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ậnchuyể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 quagiao thức HTTP sẽ nằm trong nội dung của HTTP Phần Header của HTTP bao gồm thêmSOAPAction để chỉ định phương thức thực thi thông điệp SOAP SOAP-RPC thông quaHTTP 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ấtHTTP 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 (request-response-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ênXML để đị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 (end-point) và sự kết hợp đó ta gọi là binding Các giao thức khác nhau truy cập vào WebService ở các cổng khác nhau, ví dụ cổng sử dụng SOAP/HTTP binding, cổng sử dụngSOAP/HTTPS binding,
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
DefinitionsTypesMessagePortType
OutputOperation
ServicePort
Input
Binding
Hình 3: Các thành phần WSDL
Trang 181.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 chomụ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ĩalà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à cungcấ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: StandardIndustrial 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ậpvào một Web Service, dựa trên thông tin về các service bindings mô tả trong tàiliệ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 banhó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ácbả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ệukhai 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 luôn luôn phù hợp với những yêu cầu đặt ra ban đầu của nó, đồngthờ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,hoàn thành yê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ồ,
Trang 19khô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ự đoá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ạngkế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ácliê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 đồnghà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àythườ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ôngnghệ 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, đứngtrê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ệnkhá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ượnggiao 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ượngngườ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ềugiao 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íacạnh quá 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 giaodị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 toá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ệună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óahiệ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ăngcủ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ảixem xét trong QoS là tính có sẵn, tính truy cập được, tính toàn vẹn, tính tin cậy, khả nănghoạt động, tính linh động, tính an toà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ư:
Trang 20- 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ườngmạng Quá trình này bao gồm marshalling (quá trình chuyển đổi các kiểu dữ liệucủ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ôngthứ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 Quá trình giao tiếp giữaClient và Server ít nhất trải qua 3 round-trip time đó là: 1 RTT cho phân giải địnhdanh 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êucầ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ốngcho 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 Serverthự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ồmnhiều quá 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 trongkhoảng 30 phút với kích thước một bản tin SOAP là 467Kb Khi đó throughputđược tính là:
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ươngdiệ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 (Componentlevel), đá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 tasuy 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ácbài báo khoa học nghiên cứu về hiệu năng Web Services là:
Trang 21Đồ thị biểu diễn mối quan hệ giữa thời gian đáp ứng của Web Services với tốc độ tới(arrival rate) của người sử dụng Ta sẽ đề cập tới tốc độ tới ở phần sau của đồ án này Cácbài báo [1], [2], [4], [9] trong phần tài liệu tham khảo sử dụng mô hình này Đồ thị như chỉ
ra dưới đây:
Hình 4: Mô hình hóa hiệu năng theo thời gian đáp ứng
Đồ thị biểu diễn mối quan hệ giữa Throughput của Web Services với tốc độ tới của người sử dụng Về cơ bản đồ thị này giống với đồ thị ở hình 4, chỉ cần thay thời gian đáp ứng bởi Throughput Bài báo [9] sử dụng mô hình này
Đồ thị biểu diễn mối quan hệ giữa thời gian chờ trung bình trong một giao dịch với số lượng giao dịch hệ thống Web Service thực hiện trong đơn vị thời gian
Trong các mô hình trên thì mô hình biểu diễn mối quan hệ giữa thời gian đáp ứng của Web Services với tốc độ tới của người sử dụng hay được sử dụng nhất Ta cũng sử dụng
mô hình này trong phương pháp nêu ở phần sau của đồ án
1.2 Hệ thống dựa trên hàng đợi - Queue System [3]
1.2.1 Tổng quan
Các hệ thống được xây dựng dựa trên hàng đợi có nền tảng toán học là lí thuyết phục vụđám đông, hay lí thuyết hàng đợi Lí thuyết này không chỉ được ứng dụng mạnh mẽ trongcông nghệ thông tin mà còn các ngành khác như viễn thông, kinh tế Chúng ta có thể gặpkhái niệm hàng đợi ngay trong đời sống hàng ngày, như việc xếp hàng dài khi tới các cơ sởkhám chữa bệnh để chờ bác sĩ khám, hay xếp hàng chờ kiểm tra hộ chiếu khi lên máybay, Nói chung thì đặc điểm của các hệ thống này là cung cấp dịch vụ cho khách hàng sửdụng Web Services là hệ thống cung cấp các dịch vụ dựa trên Web, nên lí thuyết hàng đợiđược áp dụng cho các hệ thống Web Services Ta nhận thấy rằng với bác sĩ họ bị hạn chế
về thời gian, mỗi thời điểm chỉ khám được cho một bệnh nhân mà không thể phục vụ đồngthời nhiều bệnh nhân Với hệ thống kiểm tra hộ chiếu, lối vào cửa sân bay có hạn trongkhi có nhiều khách hàng cùng vào cửa một lúc Hàng đợi ra đời nhằm giải quyết bài toánhạn chế nguồn tài nguyên hệ thống Khi nguồn tài nguyên hạn chế, không phải bất kì người
sử dụng nào vào hệ thống là họ được đáp ứng yêu cầu ngay lập tức, mà cần phải đợi mộtkhoảng thời gian nhất định khi hệ thống phân bổ đủ tài nguyên để đáp ứng yêu cầu đó củangười dùng
Trang 22Lí thuyết hàng đợi ra đời nhằm giải quyết bài toán tối thiểu hóa thời gian chờ của người
sử dụng khi vào hệ thống có tài nguyên hữu hạn, cũng như tối ưu hóa việc sử dụng cácnguồn tài nguyên có hạn này Các mô hình phân tích được đưa ra nhằm đưa ra đánh giá vềthời gian kì vọng mà một tài nguyên được sử dụng, cũng như thời gian kì vọng một người
sử dụng phải đợi trong hệ thống Các thông tin này là hữu ích, giúp cho việc đưa ra quyếtđịnh khi nào, và làm cách nào để nâng cấp tài nguyên hệ thống nhằm phục vụ nhu cầungười sử dụng một cách tốt nhất Trong ví dụ, khi lượng bệnh nhân tới đông và đợi lâu,người bác sĩ sẽ xem xét việc thuê thêm một trợ lí mới, khi lượng khách hàng lên chuyếnbay lớn sân bay sẽ xem xét mở thêm những lối vào khác để việc kiểm tra hộ chiếu đượcnhanh Mô hình hàng đợi đơn giản nhất được xem xét trước tiên là mô hình một hàng đợi,một server phục vụ:
Hình 5: Mô hình một hàng đợi, một server phục vụ
Mô hình một hàng đợi, một server phục vụ ở trên tuy đơn giản nhưng nó phản ánh đầy
đủ một hệ thống dựa trên hàng đợi nói chung Người sử dụng hệ thống sẽ tới hệ thống theomột tốc độ nào đó (Arrivals) Tốc độ tới này phản ánh lưu lượng người sử dụng vào hệthống Khi tài nguyên hệ thống chưa đủ để phục vụ, người sử dụng đó sẽ phải đợi tronghàng đợi (queue) Khi Server cấp phát đủ tài nguyên để phục vụ, người sử dụng trong hàngđợi sẽ được lựa chọn theo một tiêu chí nào đó để Server phục vụ yêu cầu của người sửdụng này Khi yêu cầu được thực thi thành công, người sử dụng sẽ rời khỏi hệ thống Một
hệ thống bao gồm các hàng đợi và các máy chủ phục vụ như thế được gọi là hệ thống hàngđợi Tùy theo số lượng hàng đợi, số lượng máy chủ phục vụ, mối quan hệ liên kết giữa cáchàng đợi và các máy chủ phục vụ mà ta có các mô hình hàng đợi khác nhau được xem xét
ở mục dưới Một hệ thống hàng đợi làm việc dựa trên những giả thiết sau:
- Nếu như Server rảnh rỗi (hiện chưa phục vụ người sử dụng nào), và trong hàng đợitrống, thì bất kì một người sử dụng nào đi vào hệ thống cũng được phục vụ ngay lậptức mà không phải mất thời gian chờ trong hàng đợi
- Nếu như Server đang bận vì còn phải phục vụ yêu của một người dùng nào đó, cáckhách hàng mới khi vào hệ thống sẽ phải chờ đợi trong hàng đợi theo một nguyêntắc nào đó, cho tới khi Server cung cấp đủ tài nguyên để phục vụ yêu cầu kháchhàng đó
- Khi Server rảnh rỗi, và trong hàng đợi có người sử dụng, thì người sử dụng sẽ đượcchọn tuân theo một chính sách lập lịch định trước, và người sử dụng đó lập tức sẽ
Trang 23được Server phục vụ yêu cầu Thời gian giữa việc một người sử dụng rời khỏi hệthống và một người sử dụng trong hàng đợi được phục vụ bằng không.
- Khi người sử dụng đã đợi trong hàng đợi, ta sẽ giả sử người sử dụng có đủ kiên nhẫn
để chờ đợi tới khi yêu cầu được phục vụ và người sử dụng rời khỏi hệ thống Tấtnhiên các cơ chế lập lịch chọn người sử dụng tiếp theo sẽ tốt để người sử dụng nàocũng được phục vụ một cách thỏa mãn nhất
1.2.2 Arrivals và Service
Lí thuyết hàng đợi sử dụng các công cụ toán học, mà cụ thể là xác suất và đại số để biểudiễn, mô hình hóa các quá trình.Trong hệ thống hàng đợi, độ dài của hàng đợi phụ thuộcvào các mô tả xác suất của quá trình người sử dụng đến hệ thống (arrival process) và quátrình dịch vụ (service process) Ta có thể hình dung là khi lượng người sử dụng trung bìnhđến hệ thống nhiều hơn so với khả năng phục vụ của hệ thống thì hệ thống sẽ xảy ra tắcnghẽn, các hàng đợi đều đầy Trường hợp này nên tránh bằng cách bổ sung thêm tàinguyên cho hệ thống để đáp ứng đầy đủ các yêu cầu người sử dụng Ta sử dụng công cụxác xuất để mô tả quá trình người sử dụng đến hệ thống và quá trình dịch vụ của hệ thống.Quá trình đến (arrival process) có thể được biểu diễn bởi một trong hai đại lượng sau:một là tốc độ tới (arrival rate) , là số lượng người sử dụng đến hệ thống trong một đơn vịthời gian; hai là arrival time - khoảng thời gian trung bình giữa các lần người sử dụng đến
hệ thống (1
) Quá trình dịch vụ cũng được biểu diễn bởi một trong hai đại lượng sau: một
là tốc độ dịch vụ (service rate) , là số lượng người sử dụng được hệ thống phục vụ trongmột đơn vị thời gian; hai là service time - thời gian cần thiết để phục vụ một người sử dụng(1
), lưu ý là thời gian này không bao gồm thời gian người sử dụng phải đợi trong hàngđợi
Các lí thuyết nghiên cứu của Markov và Poisson đưa ra kết quả khẳng định rằng quátrình đến có phân phối xác suất theo hàm mũ (phân phối mũ), đó là một quá trình Poisson(Poisson process) Một quá trình Poisson {N(t), t 0} với tốc độ là một quá trình đếm
có tính chất gia tăng độc lập (independent increment), nghĩa là số lượng các sự kiện trongcác khoảng thời gian không đè lên nhau là độc lập với nhau; tính gia tăng dừng (stationaryincrement), nghĩa là phân phối của số lượng các sự kiện trong bất kì khoảng thời giàn nàochỉ phụ thuộc vào độ dài của khoảng thời gian đó Điều kiện ban đầu là N(0) = 0, khi đó sốlượng sự kiện xuất hiện trong một khoảng thời gian có độ dài t cho bởi công thức sau:
Với hệ thống hàng đợi Web Service, đặt pn(t) là xác suất để xảy ra n người sử dụng tới
hệ thống trong khoảng thời gian (0,t] Theo công thức (1-1) ta có:
Trang 24( )( ) Pr { ( ) }
!
n t n
k
t k
k t k
t
E N t kp t t e
k t
1.2.3 Đánh giá hiệu năng Queue System
Như đã chỉ ra ở mục 1.1.3 có rất nhiều độ đo để đánh giá hiệu năng của hệ thống, vàtrong đồ án này ta quan tâm tới thời gian đáp ứng của hệ thống Đối với hệ thống WebServices dựa trên hàng đợi, có một số đại lượng sau ta cần quan tâm và tính toán đó là sốlượng người sử dụng đang có trong hệ thống, thời gian chờ trong hàng đợi của người sửdụng, độ dài khoảng thời gian Server bận phục vụ, độ dài khoảng thời gian Server ở trạngthái rảnh rỗi (IDLE), Sau đây ta sẽ xem xét đánh giá các đại lượng này
Số lượng người sử dụng trong hệ thống: Gọi N là một biến ngẫu nhiên chỉ số lượng
người sử dụng ở trong hệ thống pn là xác suất để tìm thấy số lượng người sử dụng trong hệthống là n: pn = Prob{ N = n } Khi đó số lượng người sử dụng trong hệ thống được tính
Trang 25đợi là n: pqn = Prob{ Nq=n } Khi đó số lượng người sử dụng đợi trong hàng đợi được tính
Thời gian đáp ứng và thời gian trong hàng đợi: Như mục 1.1.3 đã mô tả về thời gian
đáp ứng, ta kí hiệu là R, và giá trị kì vọng của thời gian đáp ứng là E[R] Thời gian đápứng ở đây được xem xét trên khía cạnh Server Đó là thời gian người sử dụng bắt đầu đivào hệ thống, có thể đợi trong queue để chờ Server thực thi, cho tới khi yêu cầu được thựcthi xong và người sử dụng đi ra khỏi hệ thống Đối với hệ thống Web Services hàng đợimột đại lượng thời gian nữa cần xét tới là thời gian chờ trong hàng đợi, ta kí hiệu là Wq, vàgiá trị kì vọng của thời gian chờ trong hàng đợi này là E[Wq]
Độ sử dụng hệ thống (System Utilization): Gọi c là số lượng Server trong hệ thống.
Trước tiên ta xem xét với hệ thống 1 Server (c=1) Độ sử dụng hệ thống U được định nghĩa
là phần thời gian Server ở trạng thái bận, nghĩa là đang phục vụ người sử dụng Ở mục1.2.2 ta đã đề cập tới hai khái niệm là tốc độ tới và tốc độ dịch vụ Khi đó độ sử dụng
hệ thống U được đánh giá thông qua đại lượng cường độ lưu thông U
Mở rộngcho hệ thống có nhiều Server (c > 1), độ sử dụng hệ thống đánh giá qua đại lượng
Sau đây ta sẽ tìm hiểu về định luật Little trong việc đánh giá thời gian đáp ứng của hệthống Xét trong khoảng thời gian [0,t), gọi a(t) là số lượng người sử dụng tới hệ thống,g(t) là tổng thời gian đáp ứng của tất cả các người sử dụng đến hệ thống trong khoảng thờigian đó Tốc độ tới của người dùng được tính theo công thức (1-4) như sau t ( )
a t t
Lấy giới hạn trong công thức (1-6) khi t , với lưu ý là:
limt L t L E N[ ], limt t , limt R t E R[ ]
Ta có công thức cho định luật Little như sau:
E N E R (1-7)
Trang 26Công thức (1-7) khẳng định rằng số lượng người sử dụng trung bình trong hệ thốngbẳng tích của tốc độ tới của người dùng đến hệ thống với thời gian đáp ứng trung bình của
hệ thống cho một người sử dụng Đây là nội dung của định luật Little Định luật Littlekhông chỉ đúng với việc đánh giá số lượng người sử dụng trong hệ thống, mà còn đúng choviệc đánh giá số lượng người sử dụng phải đợi trong hàng đợi, cũng như số lượng người sửdụng đang được hệ thống phục vụ Từ công thức (1-7) ta đánh giá được thời gian đáp ứngtrung bình của hệ thống cho một người sử dụng như sau:
[ ][ ] E N
1.2.2 Các mô hình hàng đợi
Mô hình M/M/1: Đây là mô hình hệ thống hàng đợi đơn giản nhất, bao gồm một
hàng đợi, một Server phục vụ Cơ chế lựa chọn người sử dụng trong hàng đợi là FCFS(First Come First Server), người sử dụng nào đến hàng đợi trước sẽ được lựa chọn trước đểđáp ứng yêu cầu Tốc độ lưu thông hệ thống là ( 1)
Ta có kết quả sau đối với
mô hình M/M/1, xác suất để tìm thấy n người sử dụng trong hệ thống tại một thời điểm nào
Mô hình M/M/c: Đây là mô hình tổng quát hơn so với mô hình M/M/1, trong mô
hình M/M/c hệ thống gồm có một hàng đợi và c Servers phục vụ Tất cả các Servers nàyhoạt động độc lập với nhau, mỗi một Server giống với Server trong mô hình M/M/1, vớitốc độ phục vụ Ta coi những người sử dụng đến hệ thống với cùng một tốc độ tới giốngnhau bằng Tốc độ lưu thông của hệ thống là
Trang 27Công thức đánh giá thời gian đáp ứng trung bình của hệ thống theo mô hình M/M/c là:
1[ ]
Trang 28Công thức tính PQ còn gọi là công thức Erlang-C:
0
1 1
Trong công thức (1-11) khi cho số lượng Server lên tới vô hạn c ta có thời gian
đáp ứng sẽ tiệm cận tới giá trị hằng số 1/ không phụ thuộc vào tốc độ tới của người sửdụng
Mô hình Queuing Network [2]: Đây là mô hình hệ thống hàng đợi tổng quát, trong
mô hình này không chỉ một dịch vụ được hệ thống cung cấp mà còn có cả một trung tâmdịch vụ chứa nhiều dịch vụ khác nhau, không chỉ có một hàng đợi được sử dụng mà cónhiều hàng đợi khác nhau, không chỉ có một Server phục vụ mà có nhiều Server khácnhau, chúng được liên kết với nhau tạo thành mạng Người sử dụng đi vào hệ thống có thểlựa chọn nhiều dịch vụ, sử dụng xong dịch vụ này tới dịch vụ khác được cung cấp bởi hệthống Sau đây ta đánh giá hiệu năng trong mô hình đóng Web Services theo mô hình hàngđợi tổng quát này Mô hình đóng Web Services xem xét hệ thống chỉ đáp ứng một lượngngười sử dụng nhất định nào đó trong mọi hoạt động của hệ thống Ta cũng có thể xem xétngười sử dụng luôn vào hệ thống thông qua hàng đợi đầu tiên
Gọi M là số số lượng hàng đợi trong hệ thống; là tốc độ người sử dụng tới trong toàn
bộ hệ thống;p là xác suất để người sử dụng vào hàng đợi j sau khi rời khỏi hàng đợi i ( i j,
, 0
i i
p ); p là xác suất người sử dụng rời khỏi hệ thống sau khi chờ ở hàng đợi i; qi p là iq
xác suất người sử dụng đến hệ thống ở hàng đợi i ( p1q 1; p iq 0,i 2,M ); ilà tốc độ tớitổng thể ở hàng đợi i; v là tỉ số thăm (visit ratio) ở hàng đợi i (tỉ số thăm thực chất là giá i
trị tốc độ tới được chuẩn hóa)
Khi người sử dụng rời khỏi hàng đợi i, chỉ có khả năng là người sử dụng đó rời tới mộthàng đợi nào khác, hoặc rời khỏi hệ thống, nên ta có:
i,j 1
M
qi j
p p i M
(1-13)Tốc độ tới hàng đợi i được xem xét trong mối quan hệ với tốc độ rời đi ở các hàng đợikhác tới hàng đợi i Ở mỗi hàng đợi tốc độ rời đi được đánh giá thông qua tốc độ tới Ta cóđánh giá sau:
1
M i
Trang 29Ta sẽ sử dụng mô hình M/M/1, công thức (1-9) cho mỗi hàng đợi trong hệ thống Công thức xác định số lượng người sử dụng trung bình sử dụng dịch vụ trong mỗi hàng đợi là:
i i
i
i i i
Mô hình tổng quát của phân tích hồi quy là: gọi X là biến ngẫu nhiên đầu vào – nhân tố
Y là biến ngẫu nhiên đầu ra có điều kiện phụ thuộc vào biến đầu vào X theo quy luật nào
đó Đặt p N *là số nhân tố được sử dụng cho phân tích hồi quy ( , , ) xác định mộtkhông gian xác suất và ( , ) S là một không gian đo được, trong đó
metric đầy đủ Mục đích của phân tích hồi quy là cần tìm một hàm đo được
Trang 30: ( p, p) ( , )
f S S sao cho độ đo (d X Y X X( ), f X( ))là nhỏ nhất Với lí do nàycác phương pháp phân tích hồi quy được xếp vào loại bài toán tối ưu
1.3.2 Phân tích hồi quy có tham số
Điển hình cho phương pháp này là phân tích hồi quy tuyến tính Ta giả thiết hàm f phụ
thuộc tuyến tính vào bộ dữ liệu vào (X1,X2, ,Xp) Ta cần tìm tập các tham số phù hợp
có giám sát, nghĩa là ta cung cấp cho mạng Nơron các giá trị đầu vào và đầu ra tương ứng,gọi là tập huấn luyện, kèm theo bộ trọng số của các tham số tham khảo ban đầu Quá trình
học sẽ tiến hành thay đổi dần dần các trọng số trong mạng, để tìm ra hàm f trong tập các hàm F của mạng thỏa mãn làm cho sai số giữa đầu ra thực tế và đầu ra mong muốn là nhỏ nhất, nghĩa là hàm f sẽ thỏa mãn bộ dữ liệu đầu vào nhất
Nhược điểm của phân tích hồi quy có tham số là khi bộ dữ liệu đầu vào lớn (p lớn) thì
số lượng tham số cũng sẽ lớn ảnh hưởng tới tốc độ dự đoán
1.3.3 Phân tích hồi quy phi tham số
Ngược lại với phân tích hồi quy có tham số, phân tích hồi quy phi tham số lại đòi hỏikích thước bộ dữ liệu đầu vào đủ lớn Sẽ không có tham số phụ thuộc vào bộ dữ liệu đầuvào như ở trên, mà trong phương pháp này sẽ xây dựng các hàm đặc trưng, có các tham sốcho các hàm đặc trưng này, để phân biệt với tham số ở trên ta gọi các tham số của các hàmđặc trưng này là các siêu tham số (hyperparameters) Có các thuật toán tối ưu để tìm ra cácsiêu tham số này dựa vào bộ dữ liệu vào
Điển hình cho phương pháp phân tích hồi quy phi tham số là phân tích hồi quy Gaussian
Trang 31pháp dự đoán hiệu năng Web Services như thế nào chi tiết trong chương 2 của đồ án này.
Ở đây ta sẽ trình bày tư tưởng cơ bản của phân tích hồi quy Gaussian Process là sử dụngmột hàm hiệp phương sai k(x,x’) làm nhân, hàm hiệp phương sai này sẽ chứa các siêutham số Trước tiên ta cần đánh giá các siêu tham số này dựa vào bộ số liệu đầu vào thôngqua các phương pháp tối ưu hóa như phương pháp Gradient liên hợp, phương pháp Nelder-Mead, Hàm tối ưu hóa được sử dụng là hàm Marginal Likelihood được suy ra từ côngthức xác suất điều kiện Bayes Khi các siêu tham số được đánh giá, hàm hiệp phương sai làhoàn toàn xác định Tiến tới ta xây dựng ma trận hiệp phương sai, và sử dụng lí thuyết xácsuất để đánh giá và tìm ra giá trị dự đoán Kết quả dự đoán đưa ra giá trị kì vọng ứng vớigiá trị đầu vào và cả phương sai cho kì vọng, giá trị phương sai là cơ sở để xác địnhkhoảng sai số cho kì vọng dự đoán với độ tin cậy xác định
1.4 Kết chương
Trong chương này ta đã trình bày các vấn đề lí thuyết cơ bản, những lí thuyết đã trình bày
là cơ sở để xây dựng phương pháp dự đoán hiệu năng Web Services
Phần một giúp ta hiểu được cơ bản về Web Services như vai trò, các thành phần, tácnhân, cách thức hoạt động của một Web Services, để từ đó có thể làm quen được với một
hệ thống Web Services thực tế Mục đích của đồ án này là xây dựng một phương pháp mới
để dự đoán hiệu năng Web Services do đó trong phần viết về Web Services ta cũng đi tìmhiểu sâu hơn về hiệu năng Web Services, các mô hình hóa hiệu năng, để từ đó lựa chọnmột mô hình hiệu năng phù hợp nhất để đánh giá
Phần hai của chương này trình bày về các lí thuyết hàng đợi, các mô hình hàng đợi, vàđánh giá hiệu năng của các mô hình này Mô hình hàng đợi là mô hình phổ biến đối vớicác hệ thống cung cấp dịch vụ cho khách hàng, không chỉ trong công nghệ thông tin màcòn trong các lĩnh vực khác Web Services với mục đích cung cấp các dịch vụ của nhàcung cấp cho khách hàng dựa trên môi trường Web, nên mô hình hàng đợi được sử dụngphổ biến và rộng rãi trong các hệ thống Web Services Tìm hiểu về lí thuyết hàng đợi cho
ta một công cụ toán học để từ đó đưa ra những công thức đánh giá hiệu năng Web Services
về mặt lí thuyết
Phần ba của chương này cho ta một cái nhìn tổng quan về các phương pháp phân tích hồiquy hiện nay Trong đó phổ biến và đang được nghiên cứu phát triển gần đây nhất là mạngNơron đại diện cho phân tích hồi quy có tham số và Gausian Process đại diện cho phântích hồi quy phi tham số Theo tài liệu [7] các nghiên cứu của Williams - Rasmussen, vàNeal lấy động lực là sử dụng Gaussian Process thay thế cho mạng Nơron học có giám sát.Williams – Rasmussen viết trong một cuốn sách của mình[6] nhận định rằng mạng Nơronkhông dễ sử dụng trong thực hành, vì người dùng phải đưa ra nhiều quyết định liên quantới kiến trúc, hàm hoạt động, tốc độ học, và thiếu công cụ lí thuyết để trả lời cho tínhđúng đắn của các quyết định này Ngược lại Gaussian Process dựa trên lí thuyết xác suấtvới các công trình của Bayes, có nền tảng toán học rõ ràng Các mô hình Gauss luôn xemxét làm việc với các hệ thống có nhiễu, mà bất kì hệ thống thực tế nào thì nhiễu cũng luôntồn tại, và ngẫu nhiên Điều này tạo động lực cho ta trong việc áp dụng Gaussian Process
Trang 32trong phương pháp dự đoán hiệu năng Web Services, và đề xuất ra mô hình nhiễu của hệthống.
Trang 33CHƯƠNG 2 : XÂY DỰNG PHƯƠNG PHÁP DỰ ĐOÁN
Chương này trình bày các vấn đề sau:
Các phương pháp dự đoán hiệu năng Web Services tồn tại: Bao gồm ba phương pháp
là dự đoán sớm hiệu năng qua mô phỏng, dự đoán hiệu năng các luồng công việc WebServices, dự đoán hiệu năng phía Client Trong mỗi phương pháp trình bày phươngpháp luận, chỉ ra ưu điểm và hạn chế
Trình bày cách xây dựng phương pháp dự đoán hiệu năng mới:
o Tổng quan về phương pháp
o Xây dựng mô hình dữ liệu đầu vào
o Thực hiện phân tích hồi quy Gaussian Process: Lựa chọn hàm hiệp phương sai,đánh giá siêu tham số hàm hiệp phương sai, quy trình thực hiện phân tích hồiquy, đánh giá kết quả phân tích hồi quy
o Dự đoán sử dụng mô hình hàng đợi: Đánh giá tham số cho mô hình, đánh giákết quả dự đoán
o Sử dụng kết hợp phân tích hồi quy với mô hình hàng đợi
Đánh giá phương pháp về mặt lí thuyết
2.1 Các phương pháp dự đoán hiệu năng WS
2.1.1 Dự đoán sớm hiệu năng qua mô phỏng[1]
Phương pháp này được các tác giả Reddy, Geetha, Srinivasa, Kumar, Kanth trình bàytrên tạp trí quốc tế về Web Services Computing tháng 9 năm 2011 Như đã chỉ ra trong tiêu
đề của mục này, phương pháp các tác giả đưa ra có một lợi thế nào cho phép dự đoán hiệunăng Web Services trong pha phát triển sớm của hệ thống, thực hiện thông qua việc sửdụng công cụ mô phỏng hoạt động của hệ thống
Phương pháp luận được đưa ra để dự đoán hiệu năng Web Services như sau:
1 Phát triển mô hình ca sử dụng cho một hệ thống Web Services tổng quát
2 Sinh biểu đồ trình tự để việc biểu diễn luồng các sự kiện trong mỗi ca sử dụng
3 Xem xét môi trường thực thi của các thành phần phần mềm
4 Mô phỏng mô hình sử dụng công cụ SMTQ, để từ đó thu được các độ đo hiệu năng.Các biểu đồ ca sử dụng, biểu đồ trình tự và biểu đồ triển khai của Web Services tổngquát được xây dựng dựa trên những kiến thức được trình bày trong mục 1.1 của chương 1.Phương pháp này sử dụng ngôn ngữ mô hình hóa UML để sinh ra các biểu đồ này (trìnhbày trong phụ lục) Các biểu đồ là đầu vào cho công cụ mô phỏng SMTQ (Simulation ofMulti-tiered Queuing Applications) Đây là công cụ mô phỏng hướng quy trình, được pháttriển cho việc đánh giá hiệu năng của phần mềm nói chung, Web Services nói riêng, cho
Trang 34các hệ thống xây dựng trên nền tảng đa tầng (multi-tier architecture) Công cụ này cungcấp đầy đủ tiện ích cho việc mô phỏng các mô hình, các tham số đầu vào, và đưa ra các kếtquả Tham số đầu vào cho việc mô phỏng đánh giá hiệu năng Web Services là các yêu cầu
về tài nguyên, môi trường thực thi, cấu trúc thực thi phần mềm Các kết quả đầu ra là cácđánh giá về hiệu năng Web Services, thông qua các độ đo là: độ sử dụng tài nguyên, thờigian đáp ứng trung bình, thời gian dịch vụ trung bình, thời gian chờ trung bình của người
sử dụng trong hàng đợi
Ưu điểm của phương pháp này là thực hiện đánh giá hiệu năng hệ thống Web Servicesbằng công cụ mô phỏng nên có thể thực hiện ở giai đoạn sớm trong quá trình phát triển hệthống Các kết quả đánh giá là cơ sở để quyết định tính khả thi khi đi vào triển khai thực tế,
từ đó có thể làm giảm chi phí khắc phục những sai sót có thể xảy ra Hạn chế của phươngpháp này là cần mô hình hóa được hệ thống một cách chi tiết, các thông tin tham số đầuvào cũng chỉ mang tính chất đánh giá ước lượng, chưa có cơ sở thực tế Một hệ thống WebServices khi đi vào hoạt động thực tế, có rất nhiều các trường hợp có thể xảy ra, có cảnhững tham số mang tính chất ngẫu nhiên trong đó nữa, nên rất khó đánh giá thông qua môphỏng
2.1.2 Dự đoán hiệu năng của các luồng công việc WS[9]
Phương pháp này được Marzolla và Mirandola trình bày trong hội nghị quốc tế lần thứ 3
về các ứng dụng, thành phần và kiến trúc phần mềm năm 2007 Trong phương pháp nàycác tác giả nhận định rằng ngôn ngữ thực thi quy trình kinh doanh – Business ProcessExecution Language – BPEL được sử dụng để cho phép người sử dụng mô tả các tương tácvới hệ thống Web Services theo một cách chuẩn hóa Ngôn ngữ BPEL dựa trên nền tảngXML kết hợp với WSDL, dùng để mô hình hóa và thực thi các quy trình nghiệp vụ dựatrên Web Services Phương pháp luận được đưa ra để thực hiện dự đoán hiệu năng cácluồng công việc Web Services được thể hiện trong biểu đồ hoạt động dưới đây:
Hình 6: Biểu đồ hoạt động cho phương pháp Marzolla và Mirandola[9]
Trang 35Trong biểu đồ hoạt động trên ta thấy phương pháp luận này mô hình hóa hai phía, phíangười sử dụng, và phía nhà cung cấp dịch vụ Web Services Phía người sử dụng xác địnhdịch vụ cần đánh giá, sử dụng ngôn ngữ BPEL để mô tả và thực thi các chuỗi yêu cầu tớitrung tâm dịch vụ phía nhà cung cấp Khám phá và thu thập các số liệu mô tả hiệu năngcủa dịch vụ Sau đó sử dụng mô hình mạng hàng đợi (Queuing Network) để đánh giá cậntrên và cận dưới cho giá trị thời gian đáp ứng và throughput của hệ thống Web Services.Các kết quả này sẽ được đánh giá, nếu thỏa mãn yêu cầu về hiệu năng thì dừng, còn khikhông thỏa mãn lại tiếp tục vòng lặp đánh giá lại hiệu năng cho tới khi thỏa mãn yêu cầuthì dừng Ở phía nhà cung cấp, Web Services sẽ định nghĩa thông qua các giao diện mô tảbởi ngôn ngữ WSDL, và được triển khai trên các tài nguyên vật lí Ở phía nhà cung cấpdịch vụ sẽ tiến hành việc đánh giá thời gian dịch vụ một cách chi tiết trên từng tài nguyênvật lí Các thông tin này sẽ được thêm vào mô tả về dịch vụ bởi ngôn ngữ WSDL Nhữngthông tin này, kết hợp với cấu trúc của các luồng BPEL bên phía người sử dụng sẽ đượcdùng để đánh giá các cận cho giá trị hiệu năng.
Chúng ta xem xét một đặc tả bằng BPEL A={A1,A2, ,AN} bao gồm các hoạt động
A1,A2, ,AN; X là đại lượng throughput; R={R1,R2, ,RK} là tập tất cả K tài nguyên trong
hệ thống; Service[A,R] là thời gian hệ thống trung bình trên tài nguyên R đối với hoạtđộng A; Visits[A] là đại lượng thể hiện tỉ số của số lượng thăm tới hoạt động A trên số
lượng thăm tới toàn bộ các hoạt động A; D[R] gọi là “service demand” cho tài nguyên R.
Công thức tính D[R] như sau:
là tổng service demand cho tất cả các tài nguyên Dmax và Dave đặctrưng cho giá trị service demand lớn nhất và trung bình của Web Service Trong mô hìnhWeb Services mở, ta xem xét đặc tả BPEL được thực thi ở tốc độ , khi đó đánh giá cậncho throughput ( )X và thời gian đáp ứng trung bình ( ) R là:
ax
ax
1( )
là phải chỉ ra được những tài nguyên nào trong hệ thống mà các luồng công việc mô tảtrong BPEL truy cập sử dụng, và hệ thống phải đánh giá thời gian dịch vụ trên từng tàinguyên đó
Trang 362.1.3 Dự đoán hiệu năng phía Client
Phương pháp này được các tác giả Leslie Cheung, Leana Golubchik, Fei Sha đưa ra tại
hội nghị quốc tế thường niên lần thứ 19 về mô hình hóa, phân tích, mô phỏng các hệ thốngviễn thông và máy tính năm tháng 7, 2011 Phương pháp này được thực hiện phía Client,thực hiện kiểm thử hiệu năng của hệ thống, ứng với tốc độ tới của người sử dụng thựchiện đo đạc giá trị thời gian đáp ứng R Thực hiện ở nhiều tốc độ tới khác nhau ta thuđược bộ giá trị đầu vào là các cặp ( , )i R i Bộ dữ liệu này được phân ra thành hai tập: tậphuấn luyện (training set) chứa 60% các cặp giá trị có tốc độ tới ở phần nhỏ, và tập kiểmchứng (validation set) chứa 40% các cặp giá trị có tốc độ tới phần lớn Gọi max là giátrị tốc độ tới lớn nhất Như ở mục 1.1.3 đã đề cập tới việc đánh giá hiệu năng các hệ thốngdựa trên hàng đợi, trong các công thức (1-10), (1-11), (1-18) đều có chứa các tham số đặctrưng cho từng hệ thống Trong phương pháp này các tác giả đề cập tới mô hình hàng đợi,
sử dụng tập dữ liệu huấn luyện kết hợp với một thuật toán tối ưu hóa để tìm ra tham sốtrong mỗi mô hình hàng đợi Khi các tham số được đánh giá bởi một số cụ thể, các phươngtrình tính thời gian đáp ứng theo mô hình hàng đợi ở trên hoàn toàn xác định Tiếp đến, cáctác giả thực hiện sinh các cặp giá trị ( , ) R mới tại các điểm maxdựa trên các phươngtrình của mô hình hàng đợi Các dữ liệu mới này cùng với bộ dữ liệu học sẽ được sử dụng
để dự đoán cho kết quả sử dụng mạng Nơron Kết quả dự đoán là một giá trị kì vọng củathời gian đáp ứng theo tốc độ tới xác định
Ưu điểm của phương pháp này là thực hiện đo đạc thời gian đáp ứng phía người sửdụng mà không cần biết chi tiết kiến trúc của hệ thống như thế nào, coi Web Services làmột hộp đen Hơn nữa sự kết hợp giữa mô hình Queuing Network và mạng Nơron theo cáctác giả nhận định cho kết quả dự đoán tốt Điểm yếu của phương pháp này là chưa xem xéttới các yếu tố ngẫu nhiên sinh ra nhiễu của hệ thống Kết quả dự đoán chỉ là một giá trị kìvọng, không giống như phương pháp nêu trong 2.1.2, kết quả dự đoán là một khoảng giátrị với cận trên và cận dưới
2.2 Xây dựng phương pháp dự đoán hiệu năng mới
2.2.1 Tổng quan về phương pháp
Trong phần trên ta trình bày về các phương pháp dự đoán hiệu năng Web Services, chỉ
ra những ưu điểm và hạn chế trong mỗi phương pháp Điểm chung nhất có thể kể tới trong
ba phương pháp trên đó là đều sử dụng tới mô hình hàng đợi để đánh giá cho kết quả dựđoán về thời gian đáp ứng Trong phương pháp mới đề xuất này cũng sử dụng lí thuyếthàng đợi để đánh giá thời gian đáp ứng Ngoài ra với nhận định là một hệ thống thực tế thìkết quả đo được bao giờ cũng tồn tại nhiễu Chính do nhiễu nên có thể nhận thấy các kếtquả đo đạc hiệu năng với cùng một tốc độ tới là khác nhau tại các thời điểm khác nhau mặc
dù sử dụng cùng một quy trình đo đạc Nhiễu thường mang tính chất ngẫu nhiên và khôngkiểm soát được Một số nguyên nhân gây ảnh hưởng tới kết quả đo có thể kể tới là mạngkết nối trong hệ thống, tài nguyên phần cứng, phần mềm của hệ thống, Điều này gợi ýcho ta làm cách nào để xây dựng mô hình đầu vào có nhiễu dựa trên bộ số liệu thu thập
Trang 37được Và có một nhận xét cơ bản là đối với các hệ thống có nhiễu, lí thuyết Gauss tỏ ratương đối hiệu quả để giải quyết các bài toán này Một quá trình nhiễu ngẫu nhiên thườngđược mô hình hóa bởi phân phối Gauss chuẩn Phương pháp phân tích hồi quy GaussianProcess cũng xem xét tới tính chất có nhiễu của bộ dữ liệu đầu vào để đưa ra kết quả dựđoán kèm theo sai số do nhiễu Từ các nhận xét trên đã đưa ra một hướng tiếp cận mớitrong dự đoán hiệu năng Web Services đó là sự kết hợp của việc xây dựng mô hình dữ liệuđầu vào có nhiễu, sử dụng kết hợp mô hình hàng đợi để làm giàu dữ liệu với phân tích hồiquy Gaussian Process để đưa ra kết quả dự đoán kèm theo giá trị phương sai Lí thuyết vềkhoảng tin cậy trong phân phối Gauss cho ta một khoảng sai số với độ tin cậy xác địnhtrước Điều này dẫn tới kết quả dự đoán cho phương pháp là một giá trị kì vọng kèm theosai số dự đoán Kết quả này, với việc chứng minh tính đúng đắn bằng lí thuyết và thêmphần thực nghiệm cho ta giá trị dự đoán có ý nghĩa hơn, gần hơn với hệ thống thực tế.
Sự kết hợp các yếu tố kể trên được chỉ ra trong ba bước để thực hiện phương pháp nàynhư sau:
- Bước 1: Thu thập các dữ liệu hiệu năng Web Services thông qua thực hiện kiểm thử
hiệu năng Web Services, cụ thể là có được bộ giá trị tốc độ tới – thời gian phản hồi( , ) R Từ đó xây dựng mô hình nhiễu của đầu vào cho phương pháp, phân chia bộ dữliệu đầu vào thành tập huấn luyện vào tập kiểm chứng như nêu trong phương pháp2.1.3
- Bước 2: Sử dụng mô hình hàng đợi, dựa vào các dữ liệu trong tập huấn luyện để đánh
giá các tham số cho mô hình Khi mô hình hàng đợi hoàn toàn xác định, chỉ phụ thuộcvào tốc độ tới, ta bắt đầu thực hiện làm giàu dữ liệu Lấy các giá trị tốc độ tới nằmngoài khoảng giá trị trong bộ dữ liệu huấn luyện, và tính toán thời gian đáp ứng, để thuđược bộ giá trị dữ liệu mới ( , ) R
- Bước 3: Thực hiện phân tích hồi quy Gaussian Process trên bộ dữ liệu huấn luyện và
bộ dữ liệu được làm giàu Kết quả sau phân tích hồi quy Gaussian sẽ được đưa về dạngmột giá trị kì vọng kèm theo sai số với khoảng tin cậy xác định
Ba bước thực hiện phương pháp ở trên có thể được biểu diễn một cách trực quan hơnqua hình vẽ sau (DLHN = dữ liệu hiệu năng; DLLG = dữ liệu làm giàu):
Hình 7: Sơ đồ thực hiện phương pháp dự đoán mới
Trang 382.2.2 Xây dựng mô hình dữ liệu đầu vào
Để có thể xây dựng mô hình dữ liệu đầu vào cho phương pháp trước tiên ta phảitiến hành thu thập các số liệu hiệu năng Web Services thông qua kiểm thử hệ thống
Kiểm thử hiệu năng hệ thống được sử dụng trong đánh giá hiệu năng phần mềm để đảmbảo hiệu năng hệ thống giống như mong đợi Trong quá trình kiểm thử hiệu năng, ta có khảnăng kiểm soát được tải của hệ thống, có thể thực hiện kiểm thử trong môi trường tải cao(nhiều requests) hoặc môi trường tải thấp (ít requests) Việc kiểm thử hiệu năng có thể tiếnhành theo hai mô hình, mô hình mở (open model), hoặc mô hình đóng (close model).Trong mô hình mở, người sử dụng tới hệ thống ở một tốc độ định trước và rời hệ thốngkhi yêu cầu được thực hiện Trong mô hình đóng, số lượng người sử dụng được phục vụtrong hệ thống là cố định Như những phương pháp đã trình bày trong các bài báo trước,trong bài báo này ta quan tâm tới mô hình mở Đóng vai trò là người sử dụng hệ thống, ta
có thể sinh các giá trị tốc độ tới khác nhau dựa trên quá trình Poisson đã đề cập ở mục1.2.2 chương 1 Quá trình đó được thực hiện như sau:
Với mỗi tốc độ tới i ta thực hiện M lần, ở mỗi lần thứ (j j1,M)ta lần lượt gửi D ij
yêu cầu ở tốc độ tới i , sau đó thực hiện đo thời gian đáp ứng của hệ thống với từng yêucầu thứ k là R i j k, , Ở mỗi lần thứ j ta tính giá trị thời gian đáp ứng trung bình theo côngthức sau:
ij ij 1
ij 1
*
M
j i
M
j
D R R
Trang 39tổn thất khác do trong môi trường tải cao ta gửi đồng loại nhiều yêu cầu tới Server, ở mức
độ nào đó có thể coi như đây là một kiểu tấn công hệ thống làm hệ thống bị “treo” Do vậy,các số liệu hiệu năng thường được thu thập ở môi trường tải thấp là nhiều hơn so với ở môitrường tải cao Đây cũng là lí do mà phương pháp dự đoán nêu trong đồ án này và cácphương pháp dự đoán nêu ở trên đang cố gắng để làm giảm sai số ngoại suy tại các điểmkhó thu thập trong môi trường tải cao như vậy
Có hai mô hình đầu vào cần thiết cho phương pháp là mô hình tín hiệu và mô hìnhnhiễu Bây giờ ta sẽ đi xây dựng hai mô hình đầu vào này dựa vào các bộ số liệu đầu ra củakiểm thử hiệu năng Trước tiên là mô hình đầu vào cho tín hiệu: Như đề cập trong cácphương pháp dự đoán nêu ở mục 2.1, mô hình tín hiệu là chung cho tất cả các phươngpháp và có dạng là các cặp số (tốc độ tới, thời gian đáp ứng) như sau:
tuân theo phân phối xác suất Gauss, khi đó hàm mật độ phân phối của biến này có dạng:
2 2
vọng và phương sai cho nhiễu Đặt ij
1
1 M i
giá trị trung bình) Giá trị kì vọng của nhiễu ứng với tốc độ tới i sẽ là:
ij ij