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

Phương pháp đánh giá hiệu năng phần mềm quản trị cơ sở dữ liệu và ứng dụng thử nghiệm trong chương trình quản lý lhs lào

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 (2.85 MB, 72 trang )

PEUNGNHOTHOUNG Tavansai

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

PEUNGNHOTHOUNG Tavansai

CÔNG NGHỆ THÔNG TIN

PHƯƠNG PHÁP ĐÁNH GIÁ HIỆU NĂNG PHẦN MỀM QUẢN
TRỊ CƠ SỞ DỮ LIỆU VÀ ỨNG DỤNG THỬ NGHIỆM TRONG
CHƯƠNG TRÌNH QUẢN LÝ LHS LÀO

LUẬN VĂN THẠC SĨ KỸ THUẬT
CHUN NGÀNH CƠNG NGHỆ THƠNG TIN

KHĨA 15B
Hà Nội – 2018


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

PEUNGNHOTHOUNG Tavansai

PHƯƠNG PHÁP ĐÁNH GIÁ HIỆU NĂNG PHẦN MỀM QUẢN TRỊ CƠ
SỞ DỮ LIỆU VÀ ỨNG DỤNG THỬ NGHIỆM TRONG CHƯƠNG TRÌNH
QUẢN LÝ LHS LÀO


LUẬN VĂN THẠC SĨ KỸ THUẬT
CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS. TS. HUỲNH QUYẾT THẮNG

Hà Nội – 2018


LỜI CÁM ƠN
Trước tiên, tôi xin được bày tỏ sự trân trọng và lòng biết ơn sâu sắc đối với
Thầy PGS.TS. Huỳnh Quyết Thắng, người đã trực tiếp hướng dẫn tơi trong tồn bộ
q trình thực hiện đề tài, dù rất bận với công việc giảng dạy nhưng Thầy vẫn dành
nhiều thời gian quý báu và tận tình chỉ bảo, hướng dẫn tôi trong việc nghiên cứu,
thực hiện luận văn.
Xin cảm ơn các thầy cô giáo ở Viện Công nghệ thông tin và Truyền thông –
Trường Đại học Bách khoa Hà Nội đã giúp đỡ tơi trong q trình học tập và thực
hiện luận văn.
Xin cảm ơn toàn thể các bạn bè, đồng nghiệp, những người đã giúp đỡ tôi rất
nhiều và đặc biệt là các thành viên trong gia đình đã tạo mọi điều kiện tốt nhất, động
viên, cổ vũ tơi trong suốt q trình học tập vừa qua.
Mặc dù đã nỗ lực hết mình nhưng do thời gian có hạn, năng lực bản thân cịn
nhiều hạn chế và một số khó khăn nhất định trong việc nghiên cứu nên luận văn
khơng thể khơng có những thiếu sót. Tơi rất mong được các thày cơ và các bạn góp ý
kiến thêm.

Xin trân trọng cám ơn!
Hà Nội, ngày 04 tháng 04 năm 2018
TÁC GIẢ


PEUNGNHOTHOUNG Tavansai


LỜI CAM ĐOAN
Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng tơi dưới sự
hướng dẫn của PGS. TS. Huỳnh Quyết Thắng. Tôi cũng xin cam đoan rằng
mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cám ơn và các thơng
tin trích dẫn trong luận văn này đã được chỉ rõ nguồn gốc.

Hà Nội, ngày 04 tháng 04 năm 2018
TÁC GIẢ

PEUNGNHOTHOUNG Tavansai


MỤC LỤC
DANH MỤC CÁC KÍ HIỆU VÀ VIẾT TẮT ................................................................... 1
DANH MỤC CÁC BẢNG ................................................................................................ 3
DANH MỤC HÌNH VẼ .................................................................................................... 4
MỞ ĐẦU ........................................................................................................................... 5
1. Lý do chọn đề tài ......................................................................................................... 5
2. Mục đích nghiên cứu ................................................................................................... 5
3. Nhiệm vụ nghiên cứu .................................................................................................. 5
4. Phạm vi nghiên cứu và giới hạn .................................................................................. 5
5. Phương pháp nghiên cứu ............................................................................................. 6
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT VỀ HIỆU NĂNG, GIÁ TRỊ TÍNH NĂNG
PHẦN MỀM VÀ ĐO LƯỜNG HỆ THỐNG ................................................................... 7
1.1. Tổng quan về hiệu năng phần mềm và ứng dụng .................................................... 7
1.2. Các khái niệm cơ bản trong đo lường hiệu năng ..................................................... 8

1.3. Hệ thống xử lý sự kiện EP...................................................................................... 10
1.3.1. Tổng quan EP .................................................................................................... 10
1.3.2. Chức năng xử lý sự kiện ................................................................................... 11
1.4. Khái niệm và phân loại Điểm chuẩn ...................................................................... 13
1.4.1. Điểm chuẩn vi mô ............................................................................................. 15
1.4.2. Điểm chuẩn vĩ mô ............................................................................................. 16
1.5. Tiểu kết chương ...................................................................................................... 17
CHƯƠNG 2. LÝ THUYẾT CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ KỸ THUẬT PHÂN
TÁN DỮ LIỆU ................................................................................................................ 18
2.1. Khái niệm và định nghĩa cơ sở dữ liệu phân tán .................................................... 18
2.1.1. Tổng quan cơ sở dữ liệu phân tán ..................................................................... 18
2.1.2. Khái niệm xử lý phân tán .................................................................................. 18
2.2. Khái niệm và sự cần thiết phân mảnh dữ liệu ........................................................ 19
2.3. Các quy tắc phân mảnh .......................................................................................... 19
2.3.1. Tính đầy đủ ....................................................................................................... 19
2.3.2. Tính phục hồi .................................................................................................... 19
2.3.3. Tính tách biệt .................................................................................................... 20
2.4. Kỹ thuật phân mảnh ngang dữ liệu ........................................................................ 20
2.4.1. Khái niệm phân mảnh ngang dữ liệu ................................................................ 20
2.4.2. Thông tin cần thiết của phân mảnh ngang ........................................................ 20
2.5. Kỹ thuật phân mảnh dọc dữ liệu ............................................................................ 23
2.5.1. Khái niệm phân mảnh dọc ................................................................................ 23
2.5.2. Thông tin cần thiết của phân mảnh dọc ............................................................ 24
2.6. Bài toán phân bố dữ liệu......................................................................................... 27


2.6.1. Khái niệm .......................................................................................................... 27
2.6.2. Bài toán phân bố ............................................................................................... 28
2.6.3. Thơng tin cần thiết cho bài tốn phân bố .......................................................... 29
2.6.4. Mơ hình phân bố dữ liệu ................................................................................... 30

2.7. Xử lý truy vấn phân tán dữ liệu .............................................................................. 32
2.7.1. Vấn đề xử lý truy vấn ........................................................................................ 33
2.7.2. Mục đích của việc xử lý truy vấn ...................................................................... 38
2.7.3. Phân rã truy vấn ................................................................................................ 38
2.7.4. Xây dựng câu truy vấn phân tán ....................................................................... 39
2.8. Tiểu kết chương ...................................................................................................... 40
CHƯƠNG 3. XÂY DỰNG MƠ HÌNH DỮ LIỆU PHÂN TÁN CHO PHẦN MỀM
QUẢN LÝ LHS LÀO ..................................................................................................... 41
3.1. Mơ hình hệ thống phần mềm Quản lý LHS Lào .................................................... 41
3.1.1. Thống kê số lượng sinh viên của Bộ giáo dục và thể thao Lào năm 2015 ....... 41
3.1.2. Yêu cầu quản lý ................................................................................................. 43
3.2. Thiết kế cơ sở dữ liệu Quản lý LHS Lào ............................................................... 45
3.2.1. Kỹ thuật thiết kế ................................................................................................ 45
3.2.2. Quy trình thiết kế dữ liệu phân tán ................................................................... 46
3.2.3. Phân bố dữ liệu phân tán ................................................................................... 46
3.2.4. Mẫu dữ liệu ....................................................................................................... 48
3.2.5. Mẫu quan hệ giữa các bảng ............................................................................... 52
3.3. Tiểu kết chương ...................................................................................................... 53
CHƯƠNG 4. ÁP DỤNG THỬ NGHIỆM ĐÁNH GIÁ HIỆU NĂNG TRÊN PHẦN
MỀM QUẢN LÝ LHS LÀO ........................................................................................... 54
4.1. Triển khai thử nghiệm ............................................................................................ 54
4.1.1. Mơ hình hệ thống phân tán ............................................................................... 54
4.1.2. Quy trình xử lý dữ liệu phân tán ....................................................................... 54
4.1.3. Nền tảng công nghệ sử dụng ............................................................................. 56
4.2. Thực nghiệm đo đánh giá các giá trị tính năng Điểm chuẩn vi mơ ....................... 57
4.3. Thực nghiệm đo đánh giá các giá trị tính năng Điểm chuẩn vĩ mô ....................... 62
4.4. Một số nhận xét và khuyến cáo .............................................................................. 63
KẾT LUẬN ..................................................................................................................... 64



DANH MỤC CÁC KÍ HIỆU VÀ VIẾT TẮT
ASG

Association of Separated Group

Benchmark

Phương pháp điểm chuẩn

BGDTT Lào

Bộ giáo dục và thể thao Lào

CSDL

Cơ sở dữ liệu

DBMS

Database Management system

DDBMS

Distributed database management system

DUR

Duration

ĐSQ


Đại sứ quán

EP

Event Processing

EMP

Employee

IC

Instruction Count

IEC

International Electrotechnical Commission

IEEE

Institute of Electrical and Electronics Engineers

ISO

International Organization for Standardization

LOG

Location


LHS Lào

Lưu học sinh Lào

Macro-Benchmark

Điểm chuẩn vĩ mô

Micro-Benchmark

Điểm chuẩn vi mô

PAY

Payment

PROJ

Project



Quy định

RD

Remote Database

1



RESP

Responsibility

SAL

Salary

SPE

Software Performance Engineering

SPEC

Standard Performance Evaluation Corporation

SPEM

Systems Process Engineering Metamodel

SQL

Structured Query Language

SUT

System Under Test


2


DANH MỤC CÁC BẢNG
Bảng 1.1: Tóm tắt điểm chuẩn vi mơ .............................................................. 16
Bảng 2.1: Một ví dụ về ma trận giá trị sử dụng thuộc tính ............................. 25
Bảng 2.2: Ma trận lực hút thuộc tính .............................................................. 27
Bảng 3.1: Thống kê số lượng LHS Lào đi học, đang học và về nước. ........... 42
Bảng 3.2: So sánh các phương pháp nhân bản ............................................... 47
Bảng 3.3: Các bảng mẫu dữ liệu ..................................................................... 48
Bảng 4.1: Kết quả giá trị tính năng trên 2 may khi sử dụng công cụ Server
Profiler. ................................................................................................................ 60
Bảng 4.2: Kết quả giá trị tính năng trên 2 máy khi sử dụng công cụ Database
Engine Tuning Advisor. ...................................................................................... 62

3


DANH MỤC HÌNH VẼ
Hình 1.1: Một phần phổ biến của thời gian phản hồi [3] .................................. 8
Hình 1.2: Mối quan hệ giữa thời gian phản hồi, thông lượng và sử dụng tài
ngun với khối lượng cơng [3] ............................................................................ 9
Hình 1.3: Cấu trúc của một ứng dụng xử lý sự kiện [4] ................................. 12
Hình 1.4: Các kiểu kiểm thử hiệu năng và Điểm chuẩn khác nhau [3] .......... 14
Hình 2.1: Mơ tả mối quan hệ giữa các quan hệ bởi các đường nối ................ 21
Hình 2.2: Các giải pháp truy vấn tương đương............................................... 36
Hình 2.3: Ví dụ về cây đại số quan hệ ............................................................ 40
Hình 3.1: Biểu đồ phân cấp chức năng của hệ Quản lý LHS Lào .................. 43
Hình 3.2: Giao diện Quản lý thơng tin cá nhân. ............................................. 44
Hình 3.3: Giao diện Quản lý thơng tin nơi học............................................... 44

Hình 3.4: Giao diện Tra cứu và tìm kiếm. ...................................................... 45
Hình 3.5: Giao diện Thống kê tổng hợp. ........................................................ 45
Hình 4.1: Mơ hình hệ thống xử lý phân tán của BGDTT Lào và ĐSQ Lào ở
Việt Nam. ............................................................................................................ 54
Hình 4.2: Lược đồ phân tầng tổng quát để xử lý truy vấn phân tán. .............. 56
Hình 4.3: Giao diện phần mềm Server Profiler. ............................................. 57
Hình 4.4: Kết quả Selection, Projection và Join trên máy ảo. ........................ 59
Hình 4.5: Kết quả Selection, Projection và Join trên máy PC. ....................... 60
Hình 4.6: Cơng cụ Database Engine Tuning Advisor. ................................... 61
Hình 4.7: Kết quả Database Engine Tuning Advisor trên máy ảo. ................ 61
Hình 4.8: Kết quả Database Engine Tuning Advisor trên máy PC. ............... 62
Hình 4.9: Kết quả hiệu năng CPU và Memory trên máy ảo. .......................... 63
Hình 4.10: Kết quả hiệu năng CPU và Memory trên máy PC. ....................... 63

4


MỞ ĐẦU
1. Lý do chọn đề tài
Với sự phát triển mạnh mẽ của tất cả các lĩnh vực dẫn đến lượng thông tin cần
xử lý tăng lên rất nhanh. Đây cũng là một trong những nhân tố dẫn đến số người
dùng mạng Internet ngày càng tăng. Thực tế các hệ thống tập trung có những
nhược điểm như việc tăng khả năng lưu trữ thơng tin khó khăn và bị giới hạn,
bởi khả năng tối đa của một máy cụ thể, khả năng phục vụ không đảm bảo khi
số lượng người dùng tăng lên đáng kể. Bên cạnh những yếu tố như giao diện,
khả năng tương thích, chức năng của ứng dụng và bảo mật, thì yếu tố hiệu năng
là một trong những vấn đề rất quan trọng để đánh giá hệ thống và khả năng mở
rộng của ứng dụng đáp ứng yêu cầu người dùng, mức tải đáp ứng, là điều kiện
cần thiết trong việc phát triển và mở rộng ứng dụng.
Ở Lào, sự phát triển của mỗi ngành không thể thiếu ứng dụng công nghệ

thông tin trong các lĩnh vực quan trọng và cuộc sống hiện đại được.
2. Mục đích nghiên cứu
Nghiên cứu về lĩnh vực phương pháp điểm chuẩn (Benchmark), xác định tầm
quan trọng, vai trò của điểm chuẩn trong kỹ thuật phần mềm và các vấn đề liên
quan đến cơ sở dữ liệu phân tán.
Nghiên cứu bộ công cụ giám sát, giới thiệu một số khung giám sát, đánh giá
hiệu năng phần mềm và điểm chuẩn hệ thống. Mơ hình hệ thống phần mềm
quản trị cơ sở dữ liệu trong bài toán Quản lý LHS lào.
3. Nhiệm vụ nghiên cứu
Trong luận văn này em xin đề ra 3 nhiệm vụ cụ thể như sau:
Nhiệm vụ thứ nhất: Tổng hợp tìm hiểu cơ sở lý thuyết về hiệu năng, giá trị
tính năng, đo lường phần mềm và lý thuyết cơ sở dữ liệu phân tán.
Nhiệm vụ thứ hai: Tìm hiểu phương pháp đo lường giá trị và điểm chuẩn
(Benchmarking) tính năng của hệ thống cơ sở dữ liệu phân tán.
Nhiệm vụ thứ ba: Áp dụng thử nghiệm phương pháp đo lường giá trị trên
phần mềm Quản lý LHS lào.
4. Phạm vi nghiên cứu và giới hạn
Luận văn này nghiên cứu phương pháp điểm chuẩn (Benchmark) để đánh giá,
đo lường hiệu năng hoạt động của phần mềm và ứng dụng. Mơ hình xây dựng
phần mềm Quản lý LHS lào trên máy ảo.
Công cụ thực nghiệm dựa trên một số công cụ của Microsoft như: VMware
workstation, VB.NET, SQL Server, Server Profiler và Performane Monitor.

5


5. Phương pháp nghiên cứu
Các phương pháp nghiên cứu sau được sử dụng trong quá trình thực hiện luận
văn :
- Phương pháp nghiên cứu tài liệu: Sử dụng để nghiên cứu các phương pháp

đánh giá hiệu năng phần mềm điểm, nghiên cứu một số khung giám sát,
đánh giá hiệu năng phần mềm và điểm chuẩn hệ thống.
- Phương pháp điều tra, khảo sát thực tế: Sử dụng để khảo sát yêu cầu quản
lý lưu học sinh của Lào và xác định các yêu cầu quản lý.
- Phương pháp thực nghiệm: Sử dụng để xây dựng hệ thống quản lý cơ sở
dữ liệu lưu học sinh của Lào và thử nghiệm đánh giá hiệu năng của phần
mềm này.

6


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT VỀ HIỆU NĂNG, GIÁ TRỊ TÍNH
NĂNG PHẦN MỀM VÀ ĐO LƯỜNG HỆ THỐNG
1.1. Tổng quan về hiệu năng phần mềm và ứng dụng
Việc xác định số người dùng tối đa, sức tải công việc cũng như thời gian xử
lý các giao tác của các ứng dụng là rất quan trọng trong quá trình phát triển và
xây dựng ứng dụng và cơ sở dữ liệu.
Hiệu năng là một trong những thuộc tính có tính chất và các yêu cầu phi chức
năng quan trọng nhất đối với các hệ thống phần mềm. Trong thời gian gần đây,
qua các nghiên cứu và khảo sát, hiệu năng của hệ thống phần mềm và các phép
đo hiệu năng vẫn là một trong những thách thức quan trọng nhất trong kỹ thuật
phần mềm.
Hiệu năng ứng dụng là một trường hợp đặc biệt của hiệu năng phần mềm nói
chung. Do đó, các định nghĩa cho hiệu năng phần mềm cũng có thể áp dụng cho
hiệu năng ứng dụng
Hiệu năng phần mềm: là mức độ mà một hệ thống hoặc một bộ phận đạt được
tiêu chí chức năng của nó trong những ràng buộc nhất định như tốc độ, độ chính
xác hoặc bộ nhớ sử dụng. Một trong những đặc điểm chính ảnh hưởng đến chất
lượng phần mềm là hiệu quả hoạt động, được chia thành ba đặc tính : hành vi
thời gian (Time behavior), sử dụng tài nguyên (Resource utilization) và công

suất (Capacity). Theo tiêu chuẩn ISO/IEC 25010: 2011 [9]:
Hành vi thời gian : Mức độ đáp ứng và thời gian xử lý, tốc độ thông lượng
của một sản phẩm đạt yêu cầu.
Sử dụng tài nguyên : mức độ mà tổng số và loại tài nguyên được sử dụng bởi
một sản phẩm đạt yêu cầu.
Công suất : Mức độ giới hạn tối đa của một sản phẩm đáp ứng yêu cầu.
Định nghĩa này về hiệu năng phần mềm là toàn diện trong đó bao gồm việc sử
dụng tài ngun và cơng suất, nhưng bỏ qua tương quan hành vi thời gian với
việc sử dụng tài nguyên và công suất. Tương tự định nghĩa được đưa ra bởi Jain
trong khi Smith và Williams [3] cung cấp một định nghĩa tập trung vào hành vi
thời gian như sau :
Hiệu năng phần mềm : là mức độ mà một hệ thống hoặc thành phần phần
mềm đáp ứng các mục tiêu của nó cho kịp thời.
Theo định nghĩa của Smith và Williams [3], tính kịp thời có thể được đo bằng
thời gian đáp ứng và thông lượng với việc đo khả năng đáp ứng và mở rộng của
hai chiều. Khả năng mở rộng là khả năng đáp ứng các yêu cầu này với nhu cầu
ngày càng tăng.

7


Cần lưu ý rằng bất kỳ chỉ số hiệu năng nào được sử dụng trong các định nghĩa
này đều cầu các phép đo làm cơ sở. Những phép đo này có thể quan tâm hành vi
thời gian hoặc sử dụng tài nguyên của ứng dụng. Định nghĩa đo lường và các
thuật ngữ liên quan được đưa ra trong phần tiếp theo.
1.2. Các khái niệm cơ bản trong đo lường hiệu năng
Có nhiều định nghĩa trong đo lường hiệu năng. Đo lường hiệu năng là hành
động kiểm định, đánh giá phần mềm, một thành phần hoặc phần cứng có đúng
với yêu cầu về hiệu năng và tối ưu hóa hiệu năng của nó.
Một cách định nghĩa khác của đo hiệu năng là xác định thời gian phản hồi

(Responsiveness), thông lượng (throughput), công suất (Capacity) của hệ thống
theo khối lượng công việc (workload).
Thời gian phản hồi: là khoảng thời gian giữa yêu cầu của người sử dụng và
phản hồi của một hệ thống.
Đã gửi Đã nhận Bắt đầu
yêu cầu yêu cầu thực hiện
Thời
gian

Thời
gian

Thời gian
phục vụ

Đã gửi Đã nhận
yêu cầu yêu cầu
Thời
gian

Thời
gian

Thời gian
đáp ứng

Hình 1.1: Một phần phổ biến của thời gian phản hồi [3]

Định nghĩa này phù hợp nhất cho các hệ thống phân tán, chẳng hạn như các
dịch vụ dựa trên web.

Loại đo lường đầu cuối này thường là một điểm khởi đầu tốt trong việc phân
tích hiệu năng của hệ thống phần mềm. Các phương pháp đo khác, chẳng hạn
như giám sát (trong phần tiếp theo), cung cấp một cái nhìn sâu hơn các hệ thống
và yêu cầu các định nghĩa khác nhau của đo thời gian đáp ứng.
Thông lượng hệ thống: Là một phép đo quan trọng khác cho hiệu năng của
một hệ thống phần mềm. Nó được định nghĩa là số lượng yêu cầu có thể được
xử lý trong khoảng thời gian cố định. Ví dụ, trong trường hợp một ứng dụng
8


web, nó thường được định nghĩa là các yêu cầu trang web trong mỗi giây. Thời
gian đáp ứng và thông lượng tạo thành một mối quan hệ, đó là một thời gian
phản ứng thấp, thường dẫn đến một thông lượng cao, trong khi thời gian đáp
ứng cao gây ra lượng thông lượng thấp.
Khối lượng công việc: Bên cạnh thời gian phản hồi, thông lượng của một hệ
thống phụ thuộc vào khối lượng công việc. Khối lượng công việc của một hệ
thống là số yêu cầu được thực hiện trong một khoảng thời gian nhất định, ví dụ:
số lượng người dùng đồng thời trên mỗi giây yêu cầu một trang web. Một mặt,
một khối lượng cơng việc thấp, ít u cầu cho hệ thống, kết quả trong thông
lượng thấp, mặt khác, một khối lượng công việc quá cao dẫn đến sử dụng nguồn
lực cao và kết quả thời gian đáp ứng cao hơn dẫn đến thông lượng cũng thấp
hơn.
Thời gian đáp ứng
Thơng lượng
Sử dụng nguồn lực

Sức chứa

Khối lượng
cơng việc


Hình 1.2: Mối quan hệ giữa thời gian phản hồi, thông lượng và sử dụng tài
nguyên với khối lượng công [3]

Một phép đo quan trọng nữa là việc sử dụng tài nguyên. Tài nguyên trong
một hệ thống phần mềm có thể là tài nguyên phần cứng, chẳng hạn như thời
gian CPU hoặc bộ nhớ có sẵn, nhưng cũng có thể là tài nguyên phần mềm,
chẳng hạn như các thread có sẵn trong một luồng thread hoặc các kết nối cơ sở
9


dữ liệu tự do. Với khối lượng công việc ngày càng tăng, các tài nguyên trở nên
ngày càng được sử dụng, cho đến khi một hoặc nhiều tài nguyên được sử dụng
và không thể phục vụ các yêu cầu tiếp theo, do đó tạo ra một nút cổ chai
(bottleneck).
Cơng suất của một hệ thống là số lượng các nguồn lực sẵn có trong quan hệ
với khối lượng cơng việc, khối lượng cơng việc có thể mà khơng có bất kỳ tác
động bất lợi trên thời gian đáp ứng hoặc thông lượng của hệ thống.
Các mối quan hệ đã đề cập giữa thời gian phản ứng, thông lượng (Đường số
2), và sử dụng tài nguyên (Đường số 1) trên một trục và tăng khối lượng công
việc trên trục khác được minh họa trong Hình 1.2. Miễn là khối lượng cơng việc
được miêu tả công suất của hệ thống, các tỷ lệ đo xấp xỉ bằng tuyến tính với
khối lượng cơng việc tăng. Khi việc sử dụng tài nguyên đạt đến mức tối đa của
nó, thời gian đáp ứng (Đường số 3) bắt đầu tăng theo số mũ và thông lượng
giảm.
Theo định nghĩa của Smith và Williams [3], một hệ thống có khả năng đáp
ứng tốt nếu nó đáp ứng các yêu cầu về hiệu năng về mặt thông lượng và thời
gian đáp ứng cho một khối lượng công việc nhất định.
1.3. Hệ thống xử lý sự kiện EP
1.3.1. Tổng quan EP

Trước khi tìm hiểu cụ thể hơn giá trị tính năng của hệ thống phần mềm, chúng
ta nghiên cứu, tìm hiểu về các nội dung liên quan đến hệ thống xử lý sự kiện EP,
từ đó nhằm mục đích nghiên cứu, so sánh, cải thiện hiệu năng và khả năng mở
rộng của các hệ thống EP.
Về cơ bản, các hệ thống xử lý sự kiện cố gắng trả lời một câu hỏi: "Điều gì
đang xảy ra trong kinh doanh / cơ sở hạ tầng / hệ thống thông tin của tôi ngay
bây giờ? Ý tưởng là sử dụng thông tin chứa trong hàng ngàn hoặc hàng triệu sự
kiện xảy ra trên một mơi trường để có được cái nhìn sâu sắc về tình trạng hiện
tại của nó và sau đó phản ứng một cách thích hợp.

10


Luồng thơng tin liên tục
Gói mạng

Dữ liệu lưu lượng

Nhà cung cấp

Dây chuyền sản xuất

Nguồn cấp dữ liệu thị trường
chứng khoán

Kho

vận chuyển

Dư liệu môi trương


Hệ thống xử
lý sự kiện EP

Cảnh báo, thông báo, đánh giá …

Người tiêu dùng sự kiện

Bảng điều khiển và cổng thông tin web

Nhà quản lý, Quản trị viên CNTT

dịch vụ khẩn cấp

Hình 1.3: Tổng quan về xử lý sự kiện [4]

Từ quan điểm của một hệ thống EP, một sự kiện có thể được xem như là một
đối tượng phải được xử lý trong máy tính. Đối tượng này bao gồm một bản ghi,
với một số thuộc tính, chứa thơng tin về sự xuất hiện, giống như một hàng trong
một cơ sở dữ liệu quan hệ.
1.3.2. Chức năng xử lý sự kiện
Một bộ lõi của các hoạt động xử lý sự kiện được yêu cầu của gần như tất cả
ứng dụng và được hầu hết các sản phẩm hỗ trợ. Bao gồm:
Filtering: q trình trích xuất thơng tin từ các luồng sự kiện thường bắt đầu
bằng cách chọn phần nào của đầu vào bản ghi phải tiến hành xử lý. Q trình
này có thể được tiến hành theo chiều ngang, loại bỏ toàn bộ các sự kiện và chỉ
giữ lại những gì thỏa mãn một vị từ cụ thể, hoặc theo chiều dọc, bằng cách loại
bỏ một số thuộc tính của từng sự kiện. Lưu ý rằng hai hoạt động tương ứng
tương ứng với lựa chọn hoạt động quan hệ lựa chọn (σ) và phép chiếu cột (π).


11


Moving Aggregations and Windowing: một khả năng phổ biến khác của hệ
thống xử lý sự kiện là để tính tập hợp di chuyển trên các luồng sự kiện. Các hoạt
động (Σ) thường được áp dụng kết hợp với các cửa sổ đang di chuyển - các cấu
trúc dữ liệu chỉ lưu giữ những tài liệu mới nhất sự kiện của một luồng. Di
chuyển cửa sổ cho phép giới hạn số lượng đối tượng (hoặc khoảng thời gian) để
được xem xét khi tính tốn các chức năng tổng hợp thay vì hơn là sử dụng toàn
bộ các sự kiện nhận được từ khi bắt đầu thực hiện.
Correlation/Enrichment: Một tình huống phổ biến là tham gia (⋈) thông tin
thời gian thực hiện bởi sự kiện với dữ liệu lịch sử được lưu trữ trong cơ sở dữ
liệu hoặc kho dữ liệu, với mục đích làm giàu các bộ dữ liệu đến hoặc xác định
độ lệch từ hành vi quan sát lịch sử.
Event Pattern Matching: một trong những tính năng cơ bản nhất được cung
cấp bởi nền tảng xử lý sự kiện bao gồm việc phát hiện các trình tự các sự kiện
cùng nhau đại diện cho một tình huống quan tâm. Truy vấn mẫu sự kiện thường
là một câu lệnh xác định một tập hợp các sự kiện cấu thành, thứ tự tương đối của
chúng và khoảng thời gian trong đó các sự kiện cùng xảy ra.
Integration: các ứng dụng hướng sự kiện cần một số hình thức tích hợp với
các hệ thống hiện có để nhận các sự kiện từ các nguồn bên ngoài và nguồn cấp
dữ liệu, và kết quả đầu ra cho người dùng. Để giải quyết nhu cầu này, hầu hết
các sự kiện xử lý nền tảng đi kèm với bộ điều hợp đầu vào và đầu ra cho phép
chúng truyền thông thông qua các công nghệ và giao thức đa dạng.
Lưu ý rằng mặc dù được trình bày ở đây một cách riêng biệt, các hoạt động
nói trên là thường kết hợp trong một ứng dụng hướng sự kiện. Trên thực tế,
phần lớn các ứng dụng có thể được xem như là một chuỗi các hoạt động cơ bản,
qua đó các luồng sự kiện, như minh họa trong Hình 1.3.

Hình 1.3: Cấu trúc của một ứng dụng xử lý sự kiện [4]


12


Trong suốt quá trình, các sự kiện được chuyển đổi, loại bỏ, và các sự kiện
mới được tạo ra, cho đến khi các câu trả lời quan tâm được tạo ra, và được
chuyển đến nơi thích hợp điểm đến.
Như vậy, hiệu năng tổng thể của một ứng dụng dựa trên sự kiện chạy ở một
máy EP sẽ phụ thuộc vào mức độ hiệu quả của những hoạt động cơ bản được
thực hiện. Ngồi ra, các thơng số về khối lượng cơng việc như kiểu cửa sổ và
kích thước, và độ chọn lọc thuộc tính sẽ quyết định cơng việc của EP phải làm
việc như thế nào để trả lời các yêu cầu. Cuối cùng, các yếu tố bên ngoài như tài
nguyên có sẵn, dữ liệu đến và số lượng và loại truy vấn và các quy tắc có thể
tích cực hoặc tiêu cực ảnh hưởng đến hiệu năng của hệ thống.
1.4. Khái niệm và phân loại Điểm chuẩn
Giá trị Điểm chuẩn được sử dụng để so sánh các nền tảng, công cụ hoặc kỹ
thuật khác nhau trong các thực nghiệm. Chúng xác định các phép đo chuẩn để
cung cấp các kết quả có thể lặp lại, khách quan và có thể so sánh được. Trong
khoa học máy tính, Điểm chuẩn được sử dụng để so sánh, ví dụ, hiệu năng của
CPU, hệ thống quản lý cơ sở dữ liệu, hoặc các thuật tốn truy xuất thơng tin.
Ngồi các đánh giá hiệu năng, Điểm chuẩn trong khoa học máy tính có thể cũng
sử dụng các phép đo khác nhau. Theo đó, một số tổ chức và tiêu chuẩn cung cấp
các định nghĩa khác nhau của tiêu chuẩn chung.
Tiêu chuẩn ISO/IEC 25010: 2011 cung cấp một định nghĩa chung của
Benchmark [9]:
Điểm chuẩn là một tiêu chuẩn để kết quả có thể được đo lường hoặc đánh
giá.
Các định nghĩa tương tự được cung cấp bởi hệ thống IEEE và ISO/IEC/IEEE
24765 [9]:
1. Một tiêu chuẩn mà các phép đo hoặc so sánh có thể được thực hiện.

2. Một thủ tục, vấn đề hoặc kiểm thử có thể được sử dụng để so sánh các hệ
thống hoặc các thành phần với nhau hoặc theo tiêu chuẩn.
Một định nghĩa tập trung hơn vào hiệu năng các hệ thống máy tính được cung
cấp bởi Standard Performance Evaluation Corporation (SPEC):
Điểm chuẩn là việc kiểm thử, hoặc tập hợp việc kiểm thử, được thiết kế để so
sánh hiệu năng của một hệ thống máy tính với hiệu năng của những hệ thống
khác.
Một định nghĩa tương tự, tập trung vào việc đo hiệu năng phần mềm được xây
dựng trong [3] và [4]. Vì vậy, Điểm chuẩn là quá trình đo hiệu năng của một hệ
thống với sự hỗ trợ của một Điểm chuẩn [3,4]:

13


Điểm chuẩn là một hệ thống phần mềm chuẩn (Benchmark system) được sử
dụng để đo hiệu năng của một nền tảng hoặc một hệ thống khác (nền tảng / hệ
thống được kiểm thử (SUT)) tương tác với nó.
Benchmark system là định nghĩa của các cách đo và các phép đo được sử
dụng để xác định hiệu năng. Platform/system under test (SUT) tương tác với
Benchmark system có thể là phần cứng hoặc nền tảng phần mềm, một thành
phần cấu thành trong phần mềm, hoặc thậm chí là một hoạt động đơn lẻ. Tương
tự như Benchmark system, độ phức tạp của nó có thể là bất cứ điều gì từ một
câu lệnh bổ sung duy nhất cho toàn bộ hệ thống lớn. Các chi tiết bổ sung về việc
xây dựng Điểm chuẩn và các yêu cầu thiết kế được cung cấp trong các phần tiếp
theo.

Hình 1.4: Các kiểu kiểm thử hiệu năng và Điểm chuẩn khác nhau [3]

Như đã đề cập như trên, Điểm chuẩn là một trường hợp đặc biệt của kiểm thử
hiệu năng. Như vậy, chúng ta có thể áp dụng một phân lớp cho các kiểu kiểm

thử hiệu năng.
Utting và Legeard [3] sử dụng ba chiều để phân loại kiểm thử: tính năng đang
được kiểm thử, quy mơ của SUT và các thông tin được sử dụng để thiết kế kiểm
thử. Trong trường hợp đo lường Điểm chuẩn chúng ta có thể tập trung trên hai
trục cịn lại trong Hình 1.4. Tương tự, thơng tin được sử dụng để thiết kế các
phép kiểm thử tương ứng với thông tin được sử dụng để thiết kế các Điểm
chuẩn. Do đó, chúng ta có thể phân loại các Điểm chuẩn theo sự phức tạp của
chúng.
Điểm chuẩn có thể được phân thành hai loại: Điểm chuẩn vi mô MicroBenchmarks và Điểm chuẩn vĩ mô Macro-benchmarks. Điểm chuẩn vi mô được
thiết kế để đánh giá hiệu năng của một mơ hình cụ thể, thường là một phần nhỏ
của một hệ thống phần mềm. Điểm chuẩn vĩ mô thường là hệ thống điểm chuẩn

14


phức tạp, được thiết kế để mô phỏng một hệ thống thực hoặc một một phần của
nó.
1.4.1. Điểm chuẩn vi mơ
Hầu hết Điểm chuẩn vi mơ, cịn được gọi là sự kết hợp; phổ hẹp, hạt nhân,
hoặc benchmark đơn giản; được thống nhất để so sánh các khái niệm cơ bản,
chẳng hạn như một thao tác đơn lẻ, hoặc các khía cạnh hẹp của một hệ thống lớn
hơn. Ví dụ điển hình của các Điểm chuẩn này là so sánh các thuật toán phân loại
khác nhau hoặc hiệu năng của một hoạt động trên các nền tảng phần cứng khác
nhau. Tùy thuộc vào kích cỡ của các Benchmark, các hạng mục khác của các
Điểm chuẩn được sử dụng [3].
Các Điểm chuẩn vi mơ thường tương ứng với góc dưới bên phải của Scale và
trục thơng tin trong Hình 1.4. Họ đang tập trung vào một phần nhỏ và cụ thể của
một hệ thống. Ngoài ra, họ thường sử dụng phương pháp hộp trắng trong thiết
kế của họ, nghĩa là chúng được thiết kế với hệ thống đang được kiểm thử thực
tế.

Về lý thuyết, Điểm chuẩn vi mô vượt trội thực hiện nhiệm vụ của chúng trong
việc so sánh các đặc tính nhỏ được miêu tả. Do đó, Điểm chuẩn vi mô rất hạn
chế trong ứng dụng thực tế. Hạn chế lớn và nguy cơ của Điểm chuẩn vi mô là
kết quả đơn giản. Chúng thường bỏ qua các yếu tố ảnh hưởng khác và chỉ tập
trung vào một khía cạnh của các tương tác phức tạp của một hệ thống. Điều này
có thể dẫn đến sai kết quả và điều chỉnh, nâng cao hiệu năng cho Điểm chuẩn vi
mô.
Sử dụng một bộ lõi hoạt động được sử dụng trong hầu hết các kịch bản, có
sẵn trong tất cả các sản phẩm, bao gồm [3,4]: Filtering (Selection/Projection);
Correlation/Enrichment (Join); Windowing; Pattern Detection; Aggregation
Mục đích của các chuẩn vi mơ được giới thiệu trong chương này là để đánh
giá hiệu năng của máy EP trong việc xử lý các hoạt động xử lý sự kiện lõi và
định lượng tác động mà các yếu tố tải cơng việc khác nhau có trên hiệu năng của
chúng. Ngoài ra, đánh giá mức độ phù hợp của các máy với sự thay đổi tỷ lệ
xuất hiện sự kiện và quy mô đối với số lượng các truy vấn đồng thời. Bảng 1.1
tóm tắt các thực nghiệm thực hiện.

15


Query

Factors under analysis

Metrics

Filtering

Selectivity: [1%, 5%, 25%, 50%]
# attributes: [5, 10, 25, 50, 125]


Throughput

Aggregation
and
Windowing

Window type: [count-based, timebased]
Window size
- count-based: 500 to 500K tuples
Throughput
- time-based: 10 minutes to 12 hours
Memory
Window expiration: [sliding, jumping]
consumption
Aggregation function: [SUM, MAX,
STDEV]
Injection Rate (events/sec): 500
to100K

Joins

Input source: [window, in-memory table,
DB table]
Throughput
Input size (# events): 500 to 100M
Join selectivity: 0.01 to 10

Pattern
Detection


Window size (seconds): 10 to 600
Attribute cardinality: [100, 1k, 10k,
100k]
Predicate selectivity: 0.1% to 10%

Throughput

Adaptivity

Injection rate

Maximum latency
Latency degradation
ratio
Recovery Time
Post-peak latency
variation ratio

Scalability

Number of queries: [1, 4, 16, 64]
Window size: 400k to 500k events

Throughput
Memory
consumption

Bảng 1.1: Tóm tắt điểm chuẩn vi mơ


1.4.2. Điểm chuẩn vĩ mô
Điểm chuẩn vĩ mô được sử dụng để khắc phục những yếu tố thiếu sót của
Điểm chuân vi mơ. Điểm chuẩn vĩ mơ ứng với góc trên bên trái của trục quy mơ
và trục thơng tin trong Hình 1.4 Chúng đại diện cho phần lớn hệ thống hoặc là
16


hệ thống hồn chỉnh. Hơn nữa, chúng thường có cách tiếp cận hộp đen (blackbox), nghĩa là chúng không được thiết kế với một hệ thống cụ thể theo, mà là
với một yêu cầu kỹ thuật tổng quát hơn.
Trong trường hợp tốt nhất, điểm chuẩn vĩ mô là hệ thống thử nghiệm thực tế
với một ví dụ mẫu thực tế, ví dụ như của một cửa hàng trực tuyến có thể là một
minh họa mới của hệ thống cửa hàng, được triển khai trên phần cứng và phần
mềm tương đương, và được sử dụng với các ví dụ thực tế. Trong trường hợp của
một điểm chuẩn hiệu năng, khối lượng cơng việc tạo ra bởi các mẫu cụ thể có
thể cao hơn khối lượng công việc dự kiến để điểm chuẩn cho tắc nghẽn hoạt
động. Trong hầu hết các trường hợp, điểm chuẩn vĩ mô là các đại diện của các
hệ thống thực. Bên cạnh việc thay đổi phần cứng và phần mềm chạy điểm
chuẩn, bản thân điểm chuẩn vĩ mơ giảm bớt hệ thống thực.
Ngồi sự phức tạp cao hơn, và do đó thường có chi phí cao hơn của Điểm
chuẩn vĩ mơ, nó thường khó xác định ngun nhân thực tế của các vấn đề được
phát hiện bằng những Điểm chuẩn này. Do bao gồm rất nhiều các yếu tố ảnh
hưởng, những yếu tố có liên quan khó xác định hơn. Tuy nhiên, trái với Điểm
chuẩn vi mô, nguy cơ này ít bị phát hiện.
1.5. Tiểu kết chương
Trong chương này, chúng ta đã tìm hiểu về một số các thông số liên quan đến
đánh giá hiệu năng của phần mềm như: responsiveness, throughput, resource
utilization, capacity, workload; giới thiệu mơ hình để theo dõi và hiệu chỉnh hiệu
năng trong quá trình phát triển phần mềm. Nghiên cứu các nội dung cơ bản về
các khái niệm và đặc điểm chính của hệ thống xử lý sự kiện. Mô tả chức năng
của hệ thống EP và nghiên cứu giá trị Điểm chuẩn trong kỹ thuật phần mềm

phục vụ để đo hiệu năng của một nền tảng hoặc một hệ thống khác. Trong đó có
phân chia thành 2 loại: Điểm chuẩn vi mô và Điểm chuẩn vĩ mô.

17


CHƯƠNG 2. LÝ THUYẾT CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ KỸ
THUẬT PHÂN TÁN DỮ LIỆU
2.1. Khái niệm và định nghĩa cơ sở dữ liệu phân tán
2.1.1. Tổng quan cơ sở dữ liệu phân tán
Nguyên lý các hệ cơ sở dữ liệu phân tán được xây dựng dựa trên sự hợp nhất
của hai hướng tiếp cận quá trình xử lý dữ liệu, đó là lý thuyết các hệ cơ sở dữ
liệu và cơng nghệ mạng máy tính.
Một trong những động lực thúc đẩy sử phát triển nhanh việc sử dụng các hệ
cơ sở dữ liệu là nhu cầu tích hợp các loại dữ liệu tác nghiệp, cung cấp đa dạng
các loại dịch vụ và các dịch vụ đa phương tiện chia sẻ tài nguyên thông tin
chung cho nhiều người cùng sử dụng, khai thác có hiệu quả tài ngun thơng tin,
nâng cao khả năng tích hợp và trao đổi các loại dữ liệu giữa các thành phần trên
mạng.
Nhu cầu thu thập, lưu trữ, xử lý và trao đổi thông tin ngày càng tăng, các hệ
thống xử lý dữ liệu tập trung đã có những nhược điểm như sau:
• Tăng khả năng lưu trữ thông tin trên các thiết bị nhớ rất khó khăn, bở vì bị
giới hạn tối đa dung lượng của thiết bị nhó.
• Độ sẵn sàng của cơ sở dữ liệu không cao khi số người sử dụng tăng.
• Khả năng tính tốn của các máy tính đơn lẻ dang dần tới giới hạn vật lý.
• Mơ hình tổ chức lưu trữ, xư lý dữ liệu tập trung khơng cịn phù hợp đối
với những tổ chức kinh tế, xã hội có các hoạt động trên phạm vi rộng lớn,
đa quốc gia, trền nhiều vùng lãnh thổ khác nhau.
Những nhược điểm này đã được khắc phục nhiều trong các hệ phân tán.
Những sản phẩm của các hệ thống phân tán đã xuất hiện nhiều trên thị trường và

từng bước chứng minh tính ưu việt của nó hơn hẳn các hệ thống xử lý dữ liệu
tập trung truyền thống. Các hệ thống phân tán sẽ thay thế dần các hệ thống tập
trung.
2.1.2. Khái niệm xử lý phân tán
Thuật ngữ xử lý phân tán thường được sử dụng để chỉ các hệ thống bao gồm
nhiều loại thiết bị khác nhau như hệ đa bộ xử lý, xử lý dữ liệu phân tán, mạng
máy tính… Có thể hiểu hệ xử lý phân tán là một tập các phần xử lý tự trị (không
đồng nhất) được kết nối lại với nhau bởi một mạng máy tính và chúng cùng phối
hợp thực hiện những công việc theo chức năng. Các phần tử xử lý tự trị có thể là
một thiết bị tính tốn có khả năng thực hiện được các chương trình trên nó.
Có hai khái niệm xử lý phân tán liên quan với nhau.
o Khái niệm liên quan đến việc tính tốn trên Client/Server. Trong đó ứng
dụng được chia ra thành hai phần, phần của Server và phần của Client và
18


được vận hành ở hai nơi. Trong tính tốn phân tán này, dữ liệu được phép
truy nhập trực tiếp và xử lý dữ liệu trên Server và phần của Client.
o Khái niệm thứ hai là việc thực hiện các giao dịch được xử lý phức tạp trên
nhiều hệ thống. Không gian nhớ và bộ xử lý của nhiều máy cùng hoạt động
chia nhau giao dịch xử lý. Máy trung tâm sẽ giám sát và quản lý các tiến
trình. Hàng nghìn máy cùng xử lý một giao dịch trên mạng Internet.
2.2. Khái niệm và sự cần thiết phân mảnh dữ liệu
Phân mảnh là chia CSDL thành các mảnh dữ liệu (Fragement) nhỏ hơn và xử
lý mỗi mảnh nhận được như một CSDL độc lập – tức là như một quan hệ, phân
mảnh chỉ được thực hiện khi nó tăng hiệu quả, và có độ tin cậy. Có hai kiểu
phân mảnh cơ bản là phân mảnh ngang (Horizontal fragmentation) và phân
mảnh dọc (Vetical fragmentation).
o Phân mảnh ngang làm cho CSDL được phân hoạch thành các CSDL con,
mỗi CSDL con là một tập hợp các bộ thỏa mãn một số tính chát nào đó.

o Phân mảnh dọc cũng chia CSDL thành các CSDL con gồm một tập hợp con
các thuộc tính cùng với các giá trị của chúng có trong tập các thuộc tính của
CSDL đã cho.
Khi CSDL được phân mảnh, phải có cách xử lý các câu vấn tin của người sử
dụng, các truy vấn này phải được thực hiện trên các mảnh. Tức là phải dịch câu
truy vấn toàn cục (Global query) thành nhiều câu truy vấn theo các mảnh. Như
vậy vấn đề vơ hình phân mảnh là vấn đề vơ hình xử lý các câu truy vấn.
2.3. Các quy tắc phân mảnh
Các nguyên tắc để đảm bảo cơ sở dữ liệu khi phân mảnh sẽ đảm bảo tính
khơng thay đổi về ngữ nghĩa, toàn vẹn dữ liệu và đảm bảo tính độc lập dữ liệu.
Dưới đây là ba qui tắc phải tuân thủ khi phân mảnh cơ sở dữ liệu quan hệ.
2.3.1. Tính đầy đủ
Quan hệ R được phân rã thành các mảnh R1, R2 … Rn, thì mỗi mục dữ liệu có
trong quan hệ R sẽ được chứa trong ít nhất một mảnh Ri (i=1,...,n). Quy tắc này
đảm bảo cho các mục dữ liệu trong R được ánh xạ hồn tồn vào các mảnh và
khơng bị mất. Mục dữ liệu có thể hiểu là bộ trong phân mảnh ngang và thuộc
tính trong phân mảnh dọc [2].
2.3.2. Tính phục hồi
Nếu một quan hệ R được phân rã thành tập các mảnh quan hệ
FR =: {R1, R2,…,Rn }; khi đó: R =∇ Ri, ∀ Ri∈ FR. Tốn tử ∇ có thể là:
o Phép kết nối tự nhiên, nếu thực hiện phân mảnh dọc.

19


×