1. Trang chủ
  2. » Luận Văn - Báo Cáo

bài thảo luận cơ sở dữ liệu

16 134 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

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

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

Nội dung

Một vài thuật ngữ: - Resource pools Nhóm tài nguyên: gồm một phần của CPU và bộ nhớ trong SQL server - Workload groups Nhóm công việc: là tập hợp các phiên làm việc được tạo ra khi sử dụ

Trang 1

BIÊN BẢN ĐÁNH GIÁ

Nhóm: 10

Mã LHP: 1582eCIT2511 GV: Hà Minh Phương

1 Nguyễn Thị Trúc 12D190038 Nhóm trưởng

2 Lê Thanh Tùng 12D190039 Thành viên

3 Trần Ánh Tuyết 12D190098 Thành viên

4 Nguyễn Thị Uyên 12D190040 Thành viên

6 Phạm Minh Vân 12D190115 Thành viên

8 Đỗ Hoàng Việt 12D190229 Thành viên

9 Nguyễn Thị Yến 12D190100 Thành viên

Nhóm trưởng Nguyễn Thị Trúc

Mở đầu:

Trang 2

Quản lý tài nguyên - Resource Governor - trong SQL Server 2008 là một điểm mới Governor được sử dụng để hạn chế người dùng hoặc nhóm người dùng chi phối các lớp tài nguyên mức cao Các mục có thể được kiểm tra gồm có độ rộng băng tần CPU, thời gian timeout, số lần ngoại lệ, số lần khóa và số lần nhàn rỗi Nếu một mức ngưỡng của Resource Governor đạt tới thì hệ thống có thể kích hoạt một sự kiện hoặc dừng quá trình

I Nội dung.

SQL server 2008 có một nét đặc trưng mới quản lý tài nguyên Nó cho phép bạn giới hạn lượng tiêu thu tài nguyên của server theo từng loại kết nối khác nhau Ví dụ: Bạn

có thể sử dụng nó để giới hạn thời gian xử lý, bộ nhớ cho từng người dùng, ứng dụng

và hệ thống

Một vài thuật ngữ:

- Resource pools (Nhóm tài nguyên): gồm một phần của CPU và bộ nhớ trong SQL server

- Workload groups (Nhóm công việc): là tập hợp các phiên làm việc được tạo ra khi

sử dụng tài nguyên của server Khi tạo một workload group, bạn cần gán giá trị cho vùng chứa tài nguyên

- Classifier function (Chức năng phân loại): giúp SQL Server gán giá trị mới cho các phiên trong nhóm công việc dựa trên mối quan hệ giữa các thuộc tính (như người dùng, ứng dụng…)

Mỗi khi một phiên làm việc mới bắt đầu trên SQL Server, Resource Governor (nếu được kích hoạt) sử dụng một chức năng để phân tích các thuộc tính kết nối của phiên

đó và gán nó vào một Workload groups dựa trên những thuộc tính

Sau đó SQL Server cho phép phiên làm việc sử dụng CPU và tài nguyên bộ nhớ được phân bổ cho các Resource Pool của nó trên cơ sở chia sẻ với các phiên khác trong cùng một Workload group (hoặc Workload group khác được gán trong cùng một Resource pools)

Trang 3

Bộ điều chỉnh tài nguyên chỉ phân loại một phiên một lần: khi nó được tạo ra Nếu bạn thay đổi các chức năng phân loại, sự thay đổi này chỉ ảnh hưởng đến các phiên mới Các phiên đang tồn tại sẽ duy trì phân loại ban đầu của chúng

1 Creating resource pools: Tạo nhóm tài nguyên

SQL Server có 2 nhóm tài nguyên được cấu hình trước

- Nhóm tài nguyên nội bộ (trong đó sử dụng các nhóm khối lượng công việc nội bộ): xử lý tài nguyên cho chính SQL Server Không có giới hạn về việc sử dụng các nguồn lực trong các nhóm tài nguyên nội bộ và người dùng không thể sửa đổi được chúng

- Nhóm tài nguyên mặc định: có giá trị tối thiểu là 0 và giá trị tối đa là 100 cho cả

bộ nhớ và thời gian xử lý mặc định Người dùng có thể sửa đổi các đặc điểm nếu muốn

Bạn có thể tạo nhóm tài nguyên riêng bằng cách sử dụng CREATE RESOURCE POOL với cú pháp sau:

CREATE RESOURCE POOL resource_pool_name

WITH ( [ MIN_CPU_PERCENT = value]

[ [ , ] MAX_CPU_PERCENT = value]

[ [ , ] MIN_MEMORY_PERCENT = value]

[ [ , ] MAX_MEMORY_PERCENT = value] )

Trong câu lệnh trên resource_pool_name phải là tên duy nhất với các chữ cái và không quá 128 ký tự Mỗi value nên là các giá trị xác định như một số nguyên từ 0

đến 100 Các tham biến trong nhóm tài nguyên như sau:

 MIN_CPU_PERCENT chỉ ra tỷ lệ phần trăm CPU trung bình để đảm bảo cho nhóm tài nguyên

Trang 4

Tổng của các giá trị MIN_CPU_PERCENT cho tất cả các nhóm tài nguyên trong một trường hợp không thể vượt quá 100%

 MAX_CPU_PERCENT cung cấp tỷ lệ phần trăm tối đa trung bình khi các truy vấn được gán, nhóm tài nguyên sẽ nhận nó khi các truy vấn khác hoàn thành cho thời gian xử lý

 MIN_MEMORY_PERCENT chỉ ra các phần bảo đảm tối thiểu mà bộ nhớ dành riêng cho nhóm tài nguyên

Tổng các giá trị MIN_MEMORY_PERCENT cho tất cả các nhóm tài nguyên trong một trường hợp không thể vượt quá 100%

 MAX_MEMORY_PERCENT cung cấp số lượng tối đa của bộ nhớ mà một nhóm tài nguyên có thể sử dụng

Ví dụ:

Muốn sử dụng Resource Governor để hạn chế người sử dụng SSMS đến 50% giá trị CPU và tài nguyên bộ nhớ Bạn có thể tạo một nhóm tài nguyên với tên “SSMS pool” với các câu lệnh T-SQL sau:

CREATE RESOURCE POOL SSMSpool

WITH (MAX_CPU_PERCENT = 50,

MAX_MEMORY_PERCENT = 50)

Nếu bạn muốn chỉnh sửa một nhóm tài nguyên sử dụng lệnh ALTER RESOURCE POOL tương tự như sau:

ALTER RESOURCE POOL {resource_pool_name | “default”}

WITH ( [ MIN_CPU_PERCENT = value]

[ [ , ] MAX_CPU_PERCENT = value]

[ [ , ] MIN_MEMORY_PERCENT = value]

Trang 5

[ [ , ] MAX_MEMORY_PERCENT = value] )

Ví dụ khi bạn muốn sửa đổi mặc định để nó có thể chỉ tiêu thụ tối đa là 75% CPU

và 25% bộ nhớ Bạn sẽ sử dụng câu lệnh T-SQL sau:

ALTER RESOURCE POOL “default”

WITH ( MAX_CPU_PERCENT = 75,

MAX_MEMORY_PERCENT = 25)

Khi bạn muốn thay đổi tài nguyên được gán cho các nhóm tài nguyên theo mặc định, ban phải kèm theo từ “default” trong dấu ngoặc kép

2 Creating workload groups

SQL Server 2008 cũng đi kèm cấu hình sẵn với hai nhóm khối lượng công việc,

nội bộ và mặc định Những nhóm khối lượng công việc sử dụng các nguồn tài

nguyên đã tạo

Tạo các nhóm khối lượng công việc mới bằng cách sử dụng CREATE GROUP Với cú pháp sau đây:

CREATE WORKLOAD GROUP workload_group_name

WITH ( [ IMPORTANCE = { LOW | MEDIUM | HIGH } ]

[ [ , ] REQUEST_MAX_MEMORY_GRANT_PERCENT = value ]

[ [ , ] REQUEST_MAX_CPU_TIME_SEC = value ]

[ [ , ] REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value ]

[ [ , ] MAX_DOP = value ]

[ [ , ] GROUP_MAX_REQUESTS = value ] )

[ USING { resource_pool_name | “default” } ]

Các tham số để CREATE Workload lệnh GROUP là:

Trang 6

IMPORTANCE phản ánh tầm quan trọng tương đối của các nhóm và khối lượng công việc, có thể có một giá trị LOW | MEDIUM | HIGH Resource Governor sử dụng giá trị này phân bổ nguồn lực các nhóm công việc khác nhau bằng cách sử dụng tài nguyên cùng cạnh tranh cho thời gian CPU hoặc bộ nhớ

REQUEST_MAX_MEMORY_GRANT_PERCENT là một giá trị từ 0 đến 100 xác định số tiền tối đa của bộ nhớ mà một truy vấn có thể mất từ hệ thống tài nguyên Con số này là một tỷ lệ phần trăm của bộ nhớ được đến tài nguyên, chứ không phải là một tỷ lệ phần trăm của tổng số bộ nhớ hệ thống

REQUEST_MEMORY_GRANT_TIMEOUT_SEC là số tiền tối đa thời gian (toàn bộ giây) mà một truy vấn có thể chờ đợi cho các nguồn lực được sử dụng bởi truy vấn khác

MAX_DOP là một số giữa 0 và 64 cho thấy mức độ tối đa song song

GROUP_MAX_REQUESTS là một số nguyên xác định số lượng tối đa truy vấn

có thể thực hiện đồng thời trong nhóm

Resource_pool_name là tên của hệ thống tài nguyên có sẵn cho các nhóm khối lượng công việc

Ví dụ:

CREATE Workload GROUP SSMSworkload

WITH ( IMPORTANCE = MEDIUM)

USING SSMSpool

Bạn có thể sửa đổi một nhóm khối lượng công việc hiện tại bằng cách sử dụng các khối lượng công việc ALTER

Lệnh GROUP, trong đó có cú pháp tương tự như CREATE khối lượng công việc

Trang 7

3 Creating classifier function

Hàm phân loại là hàm do người dùng định nghĩa mà gán phiên mới cho các nhóm tải làm việc dựa trên các thuộc tính liên hệ Sau đây là 1 vài đặc trưng quan trọng của hàm phân loại:

 Cần lập hàm phân loại trong cơ sở dữ liệu chính

 Hàm phân loại trả về tên của nhóm tải làm việc, nếu nó không trả về tên của 1 nhóm tải làm việc hợp lệ, Resource Governor sẽ gán phiên cho nhóm mặc định

 Hàm phân loại phải bị ràng buộc Lập hàm schemabound bằng cách thêm câu lệnh WITH SCHEMABINDING trong định nghĩa hàm

 Chỉ có duy nhất 1 hàm phân loại hoạt động 1 lúc

Sau đây là 1 hàm phân loại bổ sung cho trường hợp đã mô tả ở trên: cho tất cả các phiên SSMS vào nhóm tải làm việc SSMS

CREATE FUNCTION dbo.SSMSClassifier()

RETURNS SYSNAME

WITH SCHEMABINDING

AS

BEGIN

DECLARE @wkldgroup SYSNAME

IF (APP_NAME() = ‘Microsoft SQL Server Management Studio’)

SET @wkldgroup = ‘SSMSgroup’

ELSE

RETURN NULL

RETURN @wkldgroup

END

4 Activating and deactivating Resource Governor

Khi đã sẵn sàng khởi động Resource Governor, trước hết phải gán cho nó 1 hàm phân loại như lệnh dưới:

Trang 8

ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = dbo.SSMSClassifier)

Cuối cùng, cần áp dụng những thay đổi đó bằng cách hướng dẫn máy chủ SQL cấu hình lại Resource Governor với những thay đổi Câu lệnh sau thực hiện điều này:

ALTER RESOURCE GOVERNOR RECONFIGURE

Phải đưa ra lệnh RECONFIGURE bất cứ khi nào muốn thay đổi cấu hình

Resource Governor nếu không máy chủ sẽ không thực hiện những thay đổi đó Nếu muốn giải hoạt Resource Governor trên đối tượng máy chủ SQL, sử dụng lệnh sau:

ALTER RESOURCE GOVERNOR DISABLE

II Demo

1 Creating resource pools

a) Đặt ra giới hạn.

_percent

max_cpu_pe rcent

min_memory_p ercent

max_memory_ percent

b) Thực hiện yêu cầu.

Cách 1: Sử dụng truy vấn.

CREATERESOURCEPOOL [ReportQueries] WITH ( min_cpu_percent = ,

max_cpu_percent = 50 ,

min_memory_percent = ,

max_memory_percent = 50 ,

AFFINITY SCHEDULER = AUTO

)

GO

CREATERESOURCEPOOL [FinanceApp] WITH ( min_cpu_percent = ,

max_cpu_percent = 25 ,

Trang 9

min_memory_percent = ,

max_memory_percent = 40 ,

AFFINITY SCHEDULER = AUTO

)

GO

ALTER RESOURCE GOVERNOR RECONFIGURE ;

GO

Cách 2: Dùng trên giao diện.

Bước 1: Vào Resource governor -> click chuột phải vào Resource Pool, chọn

New Resource Pool.

Bước 2: Thêm các pool và các giá trị Minium CPU %, Maximum CPU %, Minium Memory % và Maxium memory % Và click [OK]

Trang 10

2 Creating workload groups

a) Yêu cầ u.

WORKLOA

DGROUP

importanc e

request_

max_cpu _time_se c

request_m ax_memor y_grant_p ercent

request_mem ory_grant_ti meout_sec

ma x_d op

group_ max_re quests

ReportQueri

Cách 1: Thực hiện truy vấn.

USE [master]

GO

CREATE WORKLOADGROUP [ExceQueries] WITH ( group_max_requests = 20 ,

importance = Medium ,

request_max_cpu_time_sec = 1000 ,

request_max_memory_grant_percent = 25 ,

request_memory_grant_timeout_sec = 1000 ,

max_dop = ) USING [FinanceApp]

Trang 11

USE [master]

GO

CREATE WORKLOADGROUP [ReportQueriesWG] WITH ( group_max_requests = 30 ,

importance = Medium ,

request_max_cpu_time_sec = 2000 ,

request_max_memory_grant_percent = 40 ,

request_memory_grant_timeout_sec = 1000 ,

max_dop = ) USING [ReportQueries]

GO

Cách 2: Thực hiện trên giao diện

Bước 1: Vào Resource Governor > Resource Pool > System Resource Pool

-> click chuột phải vào FinanceApp chọn New Workload Group.

Bước 2: Tại bảng Wordload Group for resource pool default thêm các

wordload group và các giá trị tương ứng

Trang 12

3 Creating classifier function

Cách 1: Thực hiện câu truy vấn.

CREATE FUNCTION Resourcegclassifier ()

RETURNSSYSNAME

WITHSCHEMABINDING

AS

BEGIN

DECLARE @WLGRP ASSYSNAME

IF ( Host_name ()='TBSClient')

SET @WLGRP ='ReportQueriesWG'

ELSEIF ( Host_name ()='TBSSQL')

SET @WLGRP ='ExcelQueries'

ELSE

SET @WLGRP ='default'

RETURN @WLGRP

END

GO

Cách 2: Thực hiện trên giao diện.

Trang 13

Bước 1: Vào Resource Governor -> Resource Pool - > System Resource Pool

-> click chuột phải vào FinanceApp chọn Properties

Bước 2: Tại button classifier function chọn [dbo] [Resourcegclassifie] và click

[OK]

Trang 14

4 Activating and deactivating Resource Governor

a) Activating Resource Governor

Cách 1: Thực hiện câu truy vấn.

Enable Resource Governor

ALTER RESOURCEGOVERNOR RECONFIGURE ;

GO

Cách 2: Thực hiện trên giao diện.

Bước 1: Vào Resource Governor -> click chuột phải chọn Enable.

Trang 15

b) Deactivating Resource Governor

Cách 1: Thực hiện câu truy vấn.

-Disable Resource Governor

ALTER RESOURCE GOVERNOR Disable;

GO

Cách 2: Thực hiện trên giao diện.

Bước 1: Vào Resource Governor -> click chuột phải chọn Disable.

Trang 16

Kết luận:

Sử dụng Resource Governor đã giúp giới hạn tài nguyê, giảm thiểu lãng phí, phân vùng và sử dụng hợp lý tài nguyên CPU và memory

Tài liệu tham khảo: SQL.Server.2008.For.Dummies, Google, Youtube.

Ngày đăng: 07/03/2019, 14:04

TỪ KHÓA LIÊN QUAN

w