Nghiên cứu sâu về Ấn bản DB2 Advanced Enterprise Server, Phần 3: Quản lý tải công việc

Đây là bài thứ ba trong loạt bài nêu bật IBM® DB2® Advanced Enterprise Server Edition (AESE - Ấn bản Máy chủ doanh nghiệp nâng cao DB2 của IBM) cho Linux®, UNIX® và Windows® (LUW) — một gói phần mềm gồm Ấn bản máy chủ doanh nghiệp DB2 của IBM (IBM DB2 Enterprise Server Edition) phiên bản V9.7 với các tính năng tối ưu hóa hiệu năng và lưu trữ. Khi cung cấp một giải pháp tích hợp, toàn diện trong một gói, AESE của DB2 cải thiện khả năng quản lý môi trường DB2 của bạn mà không làm phức tạp thêm. Bài này làm sáng tỏ các khả năng và các lợi ích được cung cấp bởi Trình quản lý tải công việc DB2 (DB2 Workload Manager hay WLM) có trong DB2 AESE của IBM.

Karen McCulloch, Nhà quản lý, Phát triển WLM của DB2, IBM

Karen McCulloch là một nhà quản lý phát triển và lãnh đạo kỹ thuật của nhóm phát triển Quản lý tải công việc đồng thời cũng là một trong các nhà phát triển. Karen đã đóng một vai trò quan trọng trong việc thiết kế và phát triển các tính năng WLM của DB2 từ lúc ấp ủ nó. Trước khi làm việc về WLM, Karen đã là lãnh đạo kỹ thuật của công cụ DB2 Query Patroller (Trình kiểm soát truy vấn DB2). Karen đã là một thành viên của nhóm DB2 kể từ năm 2002.



09 03 2012

Xem qua DB2 Advanced Enterprise Server Edition (DB2 AESE)

DB2 AESE gồm có các tính năng và lợi ích sau đây, không tính thêm chi phí:

  • Tính năng lưu trữ tối ưu hóa (Nén) làm giảm chi phí lưu trữ.
  • IBM Optim Performance Manager (OPM – Trình quản lý hiệu năng Optim của IBM) giúp xác định các vấn đề trước khi chúng ảnh hưởng đến kinh doanh.
  • Sao chép đồng nhất (Q-REP) cho phép di trú liền mạch phiên bản này sang phiên bản khác và các cấu trúc liên kết chủ động-chủ động có tính sẵn sàng cao (giới hạn cho một cặp cơ sở dữ liệu DB2 cho LUW).
  • Kiểm soát truy cập nâng cao cho phép kiểm soát tốt hơn những ai có thể truy cập dữ liệu của bạn.
  • IBM Optim Database Administrator (ODA – Nhà quản trị cơ sở dữ liệu Optim của IBM) giúp tiết kiệm thời gian và giảm các lỗi về quản trị cơ sở dữ liệu.
  • IBM Optim Development Studio (ODS – Xưởng phát triển Optim của IBM) sẽ giúp phát triển nhanh và cải thiện sự hợp tác giữa các nhóm.
  • IBM InfoSphere™ Federation (Liên hiệp InfoSphere của IBM) cho phép tích hợp dữ liệu thời gian thực, giữa các ứng dụng (giới hạn với liên hiệp DB2, Informix® và Oracle).
  • IBM DB2 Workload Manager (Trình quản lý tải công việc DB2 của IBM) sắp xếp phân bổ tài nguyên để ưu tiên kinh doanh.

Trình quản lý tải công việc DB2 (WLM)

Các máy chủ cơ sở dữ liệu hiện nay thường xuyên bị tràn ngập một loạt các hoạt động cơ sở dữ liệu, thường là từ nhiều nguồn khác nhau. WLM của DB2 cho phép bạn giám sát và kiểm soát việc thực hiện công việc trên một hệ thống cơ sở dữ liệu. Điều này sẽ giúp bạn tối đa hóa hiệu quả hệ thống và/hoặc lưu lượng, cũng như giúp bạn đạt được các mục tiêu về hiệu năng nghiệp vụ. WLM là một phần thiết yếu của DB2 AESE của IBM, luôn có mặt và nhận biết bất cứ khi nào có một cơ sở dữ liệu DB2 đang hoạt động. Tất cả công việc chạy qua WLM, thậm chí là qua cấu hình mặc định. Một tính năng bổ sung của WLM là theo tùy chọn bạn có thể tích hợp với việc quản lý tải công việc của hệ điều hành AIX hoặc Linux, cho phép bạn tận dụng các khả năng của cả hai khi cần thiết.

Trình quản lý tải công việc DB2 (DB2 WLM) có thể:

  • cung cấp các chức năng và độ chi tiết mà bạn cần để giám sát và kiểm soát đúng đắn công việc trong môi trường thực thi DB2 của bạn.
  • cho phép bạn phân bổ tài nguyên quan trọng giữa các bộ phận khác nhau của doanh nghiệp của bạn để giúp đảm bảo các SLA của bạn được đáp ứng.
  • cho phép bạn đạt được cách sử dụng tốt hơn các phần cứng hiện có với việc cân bằng tải.
  • giúp bạn tự động phát hiện ra và hành động ngay với bất kỳ các câu lệnh có hành vi không đúng nào trước khi chúng có bất kỳ tác động đáng kể nào đến hệ thống của bạn.
  • cho phép bạn tận dụng môi trường quản lý tải công việc của hệ điều hành (AIX và Linux) để giúp bổ sung các khả năng giám sát và kiểm soát DB2.

Các phần tiếp theo sẽ mô tả khái niệm về nền tảng WLM của DB2 cũng như một số các tính năng giám sát và các tính năng khác có sẵn thông qua WLM.


Các lớp dịch vụ

Một lớp dịch vụ là một trong số các thành phần cơ bản của WLM của DB2. Mục đích của một lớp dịch vụ là định nghĩa một môi trường thực hiện mà trên đó có thể chạy được công việc của một máy chủ dữ liệu. Các lớp dịch vụ dùng làm điểm chính của việc phân phối, kiểm soát và giám sát tài nguyên để thực hiện công việc trong DB2. Tất cả các công việc được gửi đến thông qua một kết nối người dùng, sẽ thực hiện trong một lớp dịch vụ DB2.

Các định nghĩa lớp dịch vụ, giống như tất cả các định nghĩa đối tượng WLM, được lưu trữ trong các danh mục DB2 và được đọc vào bộ nhớ khi cơ sở dữ liệu khởi động. Cấu hình WLM được lưu trữ trong bộ nhớ là giống nhau trên tất cả các phân vùng trong một môi trường DPF (Tính năng phân vùng cơ sở dữ liệu).

Có 3 lớp dịch vụ mặc định trong DB2:

  • SYSDEFAULTUSERCLASS — Tất cả các hoạt động của người dùng chạy trong lớp dịch vụ này trừ khi các lớp dịch vụ khác được tạo ra đặc biệt.
  • SYSDEFAULTMAINTENANCECLASS — Lớp dịch vụ này được sử dụng để dò vết các yêu cầu DB2 bên trong đang thực hiện các nhiệm vụ quản trị và bảo trì, ví dụ như làm sạch chỉ mục không đồng bộ, ghi dữ liệu thống kê (runstats) tự động, tái tổ chức tự động và sao lưu tự động.
  • SYSDEFAULTSYSTEMCLASS — Lớp dịch vụ này được sử dụng để dò vết công việc DB2 bên trong đang thực hiện các nhiệm vụ ở mức hệ thống như các trình làm sạch trang, các trình tìm nạp trước (prefetcher - một thành phần của trình quản lý bộ nhớ để tăng tốc độ quá trình khởi động Windows) và các trình viết bản ghi nhật ký.

Có hai kiểu lớp dịch vụ được tổ chức trong một hệ thống phân cấp hai tầng:

  • Các siêu lớp dịch vụ là tầng cao hơn dành cho công việc và có thể được coi như là các thực thể logic cung cấp các thuộc tính phổ biến trên các lớp con dịch vụ.
  • Các lớp con dịch vụ là nơi mà các hoạt động thực sự chạy. Một hoặc nhiều lớp con có thể tồn tại trong một siêu lớp dịch vụ và một lớp con mặc định được tạo tự động cho mỗi siêu lớp. Lớp con mặc định đó là nơi mà bất kỳ công việc nào được ánh xạ tới siêu lớp (tức là không được ánh xạ trực tiếp vào một lớp con do người dùng định nghĩa) sẽ chạy.

Có một số cách để định nghĩa quyền ưu tiên và kiểm soát tài nguyên cho các lớp dịch vụ:

  • Quyền ưu tiên CPU có thể được kiểm soát theo hai cách: thông qua việc quản lý tải công việc AIX hoặc Linux; hoặc bằng cách sử dụng quyền ưu tiên của đại lý, có thể được thiết lập trên tất cả các lớp dịch vụ DB2. Quyền ưu tiên đại lý ảnh hưởng đến việc thiết lập quyền ưu tiên đại lý tương đối cho các đại lý đang chạy trong lớp dịch vụ.
  • Quyền ưu tiên tìm nạp trước gán một mức ưu tiên cho các yêu cầu tìm nạp trước và có ảnh hưởng đến thứ tự mà máy chủ dữ liệu giải quyết chúng.
  • Quyền ưu tiên nhóm bộ đệm ảnh hưởng đến số lượng trang trong nhóm bộ đệm đã được truy cập bởi các hoạt động trong một lớp dịch vụ cụ thể.

Các tải công việc

Một tải công việc xác định công việc đến dựa trên một tập các thuộc tính kết nối do người dùng định nghĩa. Tất cả các kết nối của người dùng ánh xạ tới một tải công việc DB2 và nếu không tồn tại các định nghĩa tải công việc do người dùng định nghĩa, kết nối của người dùng sẽ được ánh xạ tới tải công việc người dùng mặc định (SYSDEFAULTUSERWORKLOAD). Các tải công việc xác định ai đã gửi công việc đến và sau đó định tuyến công việc tới một lớp dịch vụ DB2 để thực hiện. Các kết nối được ánh xạ tới một tải công việc cụ thể khi kết nối được thiết lập và các ánh xạ kết nối được tính toán lại tại ranh giới của đơn vị của công việc khi cần thiết.

Các thuộc tính kết nối có thể được định nghĩa cho một tải công việc là:

  • tên ứng dụng — có thể sử dụng các ký tự đại diện (*)
  • Mã định danh ủy quyền (người dùng, nhóm, vai trò)
  • thông tin máy khách (mã định danh người dùng máy khách, applname của máy khách, wrkstnname của máy khách, accstr của máy khách) có thể được thiết lập qua sqleseti hoặc WLM_SET_CLIENT_INFO — có thể sử dụng các ký tự đại diện (*)
  • địa chỉ IP
  • bất kỳ tổ hợp nào nói trên

Khi một kết nối đi vào hệ thống cơ sở dữ liệu, các thuộc tính của kết nối đó được so sánh với các thuộc tính định nghĩa tải công việc DB2. Kết nối sẽ được ánh xạ tới định nghĩa tải công việc đầu tiên được tìm thấy (tìm kiếm theo thứ tự được quy định theo trình tự tính toán) có các thuộc tính của nó khớp với các thuộc tính kết nối.

Hình 1 cho thấy môi trường WLM của DB2 không có tuỳ chỉnh của người dùng (các thiết lập mặc định). Tất cả các kết nối người dùng được ánh xạ tới tải công việc người dùng mặc định, mà sau đó tải này lại ánh xạ trực tiếp tới lớp dịch vụ người dùng mặc định. Tất cả các hoạt động bảo trì bên trong được ánh xạ trực tiếp tới lớp dịch vụ bảo trì mặc định và tất cả các hoạt động của hệ thống được ánh xạ trực tiếp đến lớp dịch vụ hệ thống mặc định.

Hình 1. Môi trường WLM DB2 mặc định
Sơ đồ tải công việc và các lớp dịch vụ mặc định của DB2

Hình 2 cho thấy một môi trường WLM DB2 có tùy chỉnh với các yêu cầu từ các ứng dụng khác nhau đang được các tải công việc ánh xạ tới các lớp dịch vụ cụ thể. Các kết nối không khớp với một tải công việc cụ thể do người dùng định nghĩa được ánh xạ tới tải công việc người dùng mặc định mà sau đó nó ánh xạ hoạt động của mình đến lớp dịch vụ người dùng mặc định.

Hình 2. Môi trường WLM của DB2 có tùy chỉnh
Sơ đồ của môi trường DB2 tùy chỉnh với các yêu cầu của người dùng đang được ánh xạ bằng các tải công việc tới các lớp cụ thể

Các ngưỡng

Các ngưỡng cung cấp một cách tự động để giám sát và kiểm soát các hoạt động hoặc các kết nối có thể đang hoạt động xấu hoặc không mong đợi. Mục đích chính của chúng là duy trì tính ổn định của hệ thống. Có nhiều kiểu ngưỡng khác nhau. Một số giám sát và tác động đến các hoạt động (ví dụ như một truy vấn hoặc DDL) và một số khác giám sát và tác động đến các kết nối. Một số là dự phòng trước trong đó chúng phản ứng trước khi công việc thậm chí được khởi động ví dụ như ngăn không cho chạy một truy vấn có ước tính chi phí (timerons) quá lớn. Các ngưỡng khác là phản ứng lại và sẽ giám sát và phản ứng dựa vào các khía cạnh khác nhau của công việc hiện đang thực hiện ví dụ như thời gian dùng cho việc thực hiện hoặc việc tiêu dùng tài nguyên. Và vẫn còn các ngưỡng khác, các ngưỡng tương tranh, về bản chất là dự phòng trước, giám sát và phản ứng dựa vào số lượng các kết nối đang hoạt động hoặc các hoạt động đang chạy. Các ngưỡng cũng có thể được áp dụng tại các miền khác nhau ví dụ như cơ sở dữ liệu, lớp dịch vụ hoặc tải công việc.

Dưới đây là danh sách của tất cả các ngưỡng WLM hiện có sẵn được nhóm lại dựa theo kiểu của chúng, cùng với một mô tả ngắn gọn về mỗi ngưỡng.

Các ngưỡng dự phòng trước

Hoạt động

  • ESTIMATEDSQLCOST điều khiển kích thước của một hoạt động DML có thể chạy. Tại thời gian biên dịch, trình tối ưu hóa DB2 tạo ra một chi phí ước tính, sau đó được ngưỡng này sử dụng để xác định liệu có nên được cho phép chạy hay không, trước khi hoạt động DML khởi động.

Kết nối (Gộp chung)

  • TOTALDBPARTITIONCONNECTIONS kiểm soát số lượng các ứng dụng đang nối đến cùng một phân vùng (trình điều phối).
  • TOTALSCPARTITIONCONNECTIONS kiểm soát số lượng các ứng dụng được gán cho một lớp dịch vụ cụ thể trên một phân vùng. Đây là một ngưỡng bắt xếp hàng.

Hoạt động (Gộp chung)

  • CONCURRENTWORKLOADACTIVITIES kiểm soát số lượng các hoạt động xảy ra đồng thời có thể chạy, tính theo đầu mỗi tải công việc trên một phân vùng.
  • CONCURRENTDBCOORDACTIVITIES kiểm soát số lượng các hoạt động xảy ra đồng thời có thể chạy trên một cơ sở dữ liệu trên tất cả các phân vùng. Đây là một ngưỡng bắt xếp hàng và được xem là một trong những ngưỡng mạnh nhất do nó đã được chứng minh là rất có hiệu quả trong việc kiểm soát tiêu dùng tài nguyên.

Cá thể tải công việc (Gộp chung)

  • CONCURRENTWORKLOADOCCURRENCES kiểm soát số cá thể tải công việc của một tải công việc cụ thể có thể chạy tại một thời điểm. Một cá thể tải công việc là một kết nối được gắn với một định nghĩa tải công việc. Ví dụ nếu kết nối APPLICATIONA được ánh xạ tới WORKLOADA, kết nối APPLICATIONA được coi là một cá thể của WORKLOADA.

Các ngưỡng phản ứng

Hoạt động

  • ACTIVITYTOTALTIME kiểm soát tổng thời gian mà một hoạt động có thể dùng để chạy, bao gồm cả thời gian chờ đợi hoặc xếp hàng bất kỳ.
  • SQLROWSRETURNED kiểm soát số lượng các hàng có thể được một hoạt động trả về cho ứng dụng.
  • CPUTIME và CPUTIMEINSC kiểm soát số lượng thời gian CPU mà một hoạt động có thể tiêu dùng trong suốt vòng đời của nó trên một phân vùng.
  • SQLTEMPSPACE kiểm soát số lượng vùng bảng tạm thời của hệ thống mà một hoạt động có thể tiêu dùng trên một phân vùng.
  • SQLROWSREAD và SQLROWSREADINSC kiểm soát số lượng các hàng mà một hoạt động có thể đọc trong suốt vòng đời của nó trên một phân vùng.

Hoạt động (Gộp chung)

  • AGGSQLTEMPSPACE kiểm soát tổng mức tiêu thụ trong sử dụng vùng bảng tạm thời của hệ thống bởi các hoạt động trong một lớp dịch vụ, tính theo mỗi phân vùng cơ sở dữ liệu.

Kết nối

  • CONNECTIONIDLETIME kiểm soát lượng thời gian mà một kết nối có thể ở trạng thái chờ.

Các ngưỡng khác

  • UOWTOTALTIME UOWTOTALTIME kiểm soát tổng số thời gian mà trình quản lý cơ sở dữ liệu sẽ cho phép một đơn vị công việc thực hiện.

Các hành động vi phạm ngưỡng

Một hành vi vi phạm ngưỡng xảy ra khi công việc đang chạy trên hệ thống DB2 của bạn làm chạm tới một giá trị đã quy định cho một ngưỡng (ví dụ, một hoạt động DML với một chi phí ước tính lớn hơn cái mà ngưỡng ESTIMATEDSQLCOST đã quy định). Bất cứ khi nào một ngưỡng bị vi phạm, nếu một trình giám sát sự kiện THRESHOLDVIOLATIONS đã được tạo ra và được kích hoạt, thì một bản ghi có chứa thông tin như tên ngưỡng, đã bị vi phạm khi nào, đã thực hiện hành động nào và v.v.. được chèn vào các bảng của trình giám sát sự kiện.

Ngoài ra, khi một ngưỡng bị vi phạm, một trong các hành động sau đây có thể được thực hiện. (Lưu ý: một số trong các hành động này chỉ áp dụng cho một số kiểu ngưỡng cụ thể).

  • Dừng ngăn không cho hoạt động hoặc kết nối tiếp tục chạy. Hành động này sẽ gửi một sqlcode phủ định trả lại tới ứng dụng, cho biết rằng ngưỡng này đã bị vượt quá.
  • Tiếp tục cho phép hoạt động hoặc kết nối tiếp tục chạy. Nếu được sử dụng với trình giám sát sự kiện THRESHOLDVIOLATION, hành động này có thể có ích khi cố gắng tìm hiểu để thiết lập các ngưỡng ở những giá trị nào mà không làm ảnh hưởng tiêu cực đến công việc của bạn. Khi ngưỡng bị vi phạm, hoạt động hoặc kết nối được phép tiếp tục, nhưng thông tin được thu thập sau đó có thể được phân tích và giúp cung cấp sự hiểu biết sâu sắc về việc liệu có nên điều chỉnh các giá trị ngưỡng hay không.
  • Buộc dừng ứng dụng chỉ có sẵn với ngưỡng UOWTOTALTIME. Khi hành động này được quy định và ngưỡng này bị vượt quá, hệ thống sẽ buộc phải tắt ứng dụng.
  • Ánh xạ lại chỉ có sẵn cho hai ngưỡng "trong lớp dịch vụ" (CPUTIMEINSC và SQLROWSREADINSC). Hành động này sẽ làm cho hoạt động này được ánh xạ đến một lớp con dịch vụ trong cùng siêu lớp dịch vụ. Hành động này có thể có ích nếu bạn muốn giảm ưu tiên của một hoạt động hiện đang thi hành vì nó tiêu dùng quá nhiều CPU hoặc đọc quá nhiều hàng.
  • Thu thập dữ liệu hoạt động cho phép bạn thu thập thông tin bổ sung về hoạt động gây ra sự vi phạm ngưỡng. Nếu trình giám sát sự kiện ACTIVITY được tạo ra và được kích hoạt, thông tin như là văn bản câu lệnh, môi trường biên dịch và các giá trị dữ liệu đầu vào sẽ được thu thập.

Bắt xếp hàng

Có 2 ngưỡng WLM của DB2 (CONCURRENTDBCOORDACTIVITIES và TOTALSCPARTITIONCONNECTIONS) cung cấp cho bạn khả năng đưa các hoạt động hoặc kết nối quá mức vào một hàng đợi. Thay vì dừng hoạt động hoặc kết nối và gây ảnh hưởng tiêu cực đến tải công việc, nó được đưa vào một hàng đợi ở đó nó chờ đến lượt của mình để chạy. Đối với người dùng cuối, nó chỉ đơn giản xuất hiện như thể hoạt động hoặc kết nối đang chạy. Vì thế, các ngưỡng bắt xếp hàng thường được sử dụng, đặc biệt là ngưỡng CONCURRENTDBCOORDACTIVIES.


Các tập lớp công việc và các tập hành động công việc

Trong khi các tải công việc cho phép bạn xác định và xử lý công việc khác nhau dựa vào "người nào" gửi công việc đến (thông qua các thuộc tính kết nối), các tập lớp công việc và các tập hành động công việc cho phép bạn xác định và xử lý công việc khác nhau dựa trên kiểu công việc..

Các lớp công việc sẽ được dùng để xác định các kiểu công việc khác nhau dựa trên các thuộc tính của công việc. Các tập lớp công việc được tạo nên bởi một hoặc nhiều lớp công việc. Các ví dụ về các kiểu công việc được công nhận có thể xác định bao gồm READ, WRITE, DML (một tổ hợp của READ và WRITE) CALL, DDL, LOAD và ALL. Ngoài ra, có thể tiếp tục khoanh các công việc bởi:

  • Chi phí dự kiến (theo timerons) — hợp lệ với các lớp công việc kiểu READ, WRITE, DML, ALL
  • Bản số (phạm vi số lượng các hàng dự kiến được trả về) — hợp lệ với các lớp công việc kiểu READ, WRITE, DML, ALL
  • Tên lược đồ — hợp lệ với các lớp công việc kiểu CALL, ALL

Một khi công việc đã được xác định bằng cách sử dụng các lớp công việc và các tập lớp công việc, các hành động công việc và các tập hành động công việc có thể được sử dụng để áp đặt điều gì sẽ xảy ra với công việc đó bằng cách thực hiện một hành động cụ thể trên nó. Một hành động công việc biểu diễn một hành động có thể được áp dụng cho công việc nằm trong một lớp công việc. Một tập hành động công việc là một nhóm một hoặc nhiều hành động công việc và có thể được áp dụng cho các hoạt động trong một siêu lớp dịch vụ, một tải công việc hoặc toàn thể cơ sở dữ liệu nói chung. Nếu bạn định nghĩa một tập hành động công việc cho một cơ sở dữ liệu hoặc tải công việc, thì có thể áp dụng một số kiểu hành động cho các hoạt động nằm trong một lớp công việc, như các ngưỡng hoạt động, ngăn cản việc thực hiện (không cho hoạt động khởi động), thu thập dữ liệu hoạt động và đếm hoạt động. Nếu bạn định nghĩa tập hành động công việc cho một siêu lớp dịch vụ, các kiểu hành động khác nhau mà bạn có thể áp dụng cho các hoạt động bao gồm ánh xạ các hoạt động đến một lớp con dịch vụ, ngăn cản việc thực hiện, thu thập dữ liệu của hoạt động hoặc gộp nhóm dữ liệu và đếm hoạt động.

Hình 3 cho thấy một trong những ví dụ phổ biến nhất về cách sử dụng tiêu biểu các tập lớp công việc và các tập hành động công việc. Trong ví dụ này, tất cả các hoạt động DML được ánh xạ tới siêu lớp dịch vụ "MAIN_SC" sẽ chuyển qua tập hành động công việc của siêu lớp dịch vụ (SC_WAS) — ngoại trừ những hoạt động thuộc về tải công việc MARKETINGAPP. Vì MARKETINGAPP ánh xạ công việc của nó trực tiếp tới lớp con dịch vụ MARKETING_SSC, nó không bị ảnh hưởng bởi tập hành động công việc SC_WAS — và thực sự bỏ qua tập này. Tuy nhiên, tất cả các hoạt động DML nhỏ đến từ bất kỳ "các ứng dụng phát triển" nào sẽ được ánh xạ thông qua tập hành động công việc đến lớp con SMALLQUERY_SSC. Tương tự như vậy, tất cả các hoạt động DML trung bình và lớn sẽ được ánh xạ tương ứng tới lớp con MEDQUERY_SSC và lớp con LARGEQUERY_SSC. Do ví dụ này đang sử dụng SC_WAS để ánh xạ chỉ các hoạt động DML, nên bất kỳ kiểu hoạt động khác nào từ "các ứng dụng phát triển" sẽ chạy trong lớp con dịch vụ mặc định.

Bạn có thể bắt đầu thấy sức mạnh thực sự của việc thiết lập đã mô tả trong Hình 3 khi bạn áp dụng các ngưỡng tương tranh (ví dụ, CONCURRENTDBCOORDACTIVITIES) cho các lớp dịch vụ có chứa các hoạt động DML lớn hơn. Bằng cách này, bạn có thể kiểm soát số lượng các truy vấn trung bình và lớn có thể chạy đồng thời, bắt xếp hàng đợi bất cứ thứ gì vượt quá và dành nhiều tài nguyên hệ thống hơn cho các truy vấn nhỏ hơn.

Hình 3. Ví dụ ánh xạ tập hành động công việc
Các hoạt động DML ađược ánh xạ qua một tập hành động công việc tới các lớp con dịch vụ

Tích hợp với WLM của hệ điều hành (AIX, Linux)

WLM của DB2 cung cấp khả năng tùy chọn để tích hợp chặt chẽ các lớp dịch vụ DB2 với một số các tính năng quản lý tải công việc do hệ điều hành (OS) AIX hoặc Linux (kernel 2.6.26 hoặc cao hơn) cung cấp. Mỗi lớp dịch vụ DB2 có thể được gắn kết với một lớp dịch vụ đối tác của hệ điều hành bằng cách chỉ rõ thẻ OUTBOUND CORRELATOR khi tạo hoặc thay đổi một lớp dịch vụ DB2. Khi sử dụng thẻ đó, DB2 sẽ gắn kết động tất cả các đại lý (các luồng) đang làm việc trong lớp dịch vụ DB2 với lớp dịch vụ tương đương của hệ điều hành. Điều này cho phép bạn tận dụng lợi thế của việc kiểm soát tài nguyên CPU và số liệu thống kê quản lý tải công việc do hệ điều hành cung cấp để giúp bổ sung cho những thứ do WLM của DB2 cung cấp


Giám sát

Một giai đoạn thiết yếu của việc quản lý tải công việc là giám sát. Trong WLM của DB2, các khả năng giám sát cho phép bạn làm những việc như nhận ra các thay đổi về sức khỏe của hệ thống, truy vấn ngược đến nguồn gốc của các vấn đề và điều chỉnh hệ thống của bạn để cho hiệu quả tối ưu. Có hai kiểu thông tin giám sát: thời gian thực (những gì hiện đang chạy trong hệ thống) và lịch sử (những gì đã chạy trong quá khứ). Cần lưu ý rằng cả hai việc giám sát thời gian thực và giám sát lịch sử được mô tả dưới đây đều có sẵn trong sản phẩm cơ bản của DB2 thông qua cấu hình WLM mặc định. Tuy nhiên, bạn không thể xác định những gì cần giám sát dựa vào các đối tượng WLM do người dùng định nghĩa (ví dụ như các lớp dịch vụ, các tải công việc, v.v..) khi không có giấy phép WLM.

Giám sát thời gian thực bằng cách sử dụng các chức năng bảng

Khi sử dụng các chức năng bảng bắt đầu bằng WLM_ hay MON_, bạn có thể truy cập thông tin thời gian thực về việc thực hiện công việc trên hệ thống của mình. Chúng có thể cung cấp các số liệu thống kê để giúp xác định các mẫu sử dụng và phân bổ tài nguyên; xác định các vùng vấn đề và đưa ra một ý tưởng tổng thể về sức khỏe của một máy chủ cơ sở dữ liệu DB2. Cũng có thể sử dụng dữ liệu do một số các chức năng bảng này cung cấp làm đầu vào cho các công cụ của bên thứ ba khác hoặc kết hợp với một kịch bản lệnh bổ sung để phân tích.

Dưới đây là một số ví dụ về các chức năng bảng cho thấy công việc đang chạy trên hệ thống, dữ liệu được các đối tượng WLM của DB2 tổng hợp hoặc thông tin thống kê về các đối tượng khác nhau:

  • WLM_GET_SERVICE_CLASS_WORKLOAD_OCCURRENCES_V97 trả về một danh sách các cá thể tải công việc trên các phân vùng cơ sở dữ liệu được giao cho một lớp dịch vụ.
  • WLM_GET_SERVICE_CLASS_WORKLOAD_OCCURRENCES_V97 trả về một danh sách các cá thể tải công việc trên các phân vùng cơ sở dữ liệu được giao cho một lớp dịch vụ.
  • MON_GET_WORKLOAD trả về các số liệu thống kê của một hoặc nhiều tải công việc.
  • MON_GET_SERVICE_SUBCLASS trả về các số liệu thống kê của một hoặc nhiều lớp con dịch vụ.
  • WLM_GET_SERVICE_SUPERCLASS_STATS trả về số liệu thống kê cơ bản cho một hoặc nhiều siêu lớp dịch vụ.

Giám sát lịch sử bằng cách sử dụng các trình giám sát sự kiện

Giám sát lịch sử là có ích để xem những gì đã xảy ra trên một hệ thống. Các trình giám sát sự kiện được tạo ra để thu thập thông tin có thể dùng trong tương lai hoặc để phân tích lịch sử. Các trình giám sát sự kiện không gây ra các sự kiện — chúng là các máy thu thụ động các sự kiện. Mặc dù có nhiều trình giám sát sự kiện, ở đây có ba trình giám sát sự kiện WLM:

  • Trình giám sát sự kiện của hoạt động nắm bắt thông tin chi tiết về các hoạt động riêng lẻ trong một lớp dịch vụ, tải công việc, lớp công việc hoặc các hoạt động đã vi phạm một ngưỡng. Số lượng dữ liệu cần nắm bắt có thể cấu hình được. Có thể thu thập thông tin như là mã nhận dạng WLM, số liệu thống kê thời gian cơ bản, văn bản câu lệnh, môi trường biên dịch và các giá trị dữ liệu.
  • Trình giám sát sự kiện về các vi phạm ngưỡng được sử dụng để nắm bắt thông tin về hoạt động hoặc kết nối đã làm cho ngưỡng này bị vi phạm. Nó sẽ thu thập thông tin như ngưỡng đã bị vi phạm, nó đã bị vi phạm khi nào và hành động đã được thực hiện.
  • Trình giám sát sự kiện số liệu thống kê được sử dụng để nắm bắt thông tin hoạt động tổng hợp ví dụ như số lượng các hoạt động đã hoàn thành và thời gian thực hiện trung bình. Dữ liệu tổng hợp bao gồm các hoành đồ với một số phép đo lường hoạt động ví dụ như các giá trị trung bình và các độ lệch chuẩn. Ví dụ, các hoành đồ có thể cho biết trong một khoảng thời gian cụ thể đã cho có bao nhiêu hoạt động đã hoàn thành trong một giây hoặc ít hơn, có bao nhiêu hoạt động đã hoàn thành trong vòng 5 giây và có bao nhiêu hoạt động mất nhiều hơn 5 giây.

Các khả năng khác

WLM của DB2 cũng cung cấp nhiều khả năng và chức năng khác.

  • Các thủ tục đã lưu sẵn có thể được sử dụng để hủy bỏ một hoạt động, nắm bắt thông tin chi tiết về một hoạt động, đặt lại số liệu thống kê về các đối tượng WLM của DB2 và thiết lập thông tin máy khách tại máy chủ dữ liệu.
  • Giả định bạn đã thu thập một số thông tin hoạt động, một cặp kịch bản lệnh Perl mẫu sẽ tạo ra thông tin lịch sử về các bảng, các chỉ mục và các cột nào đã được hoặc không được truy cập.
  • Một kịch bản lệnh Perl mẫu để giúp cho việc di trú dễ dàng từ DB2 Query Patroller (Trình tuần tra truy vấn DB2) đã lạc hậu sang DB2 WLM.

Kết luận

DB2 AESE là một giải pháp cơ sở dữ liệu toàn diện trong một gói duy nhất với một mức giá thấp. Quản lý tải công việc là một trong số nhiều khả năng và lợi ích mà nó cung cấp. Khả năng này cho phép kiểm soát và giám sát công việc một cách đúng đắn trong môi trường DB2 để giúp đảm bảo tài nguyên quan trọng được phân bổ nhằm đạt được các mục tiêu kinh doanh. Để tìm hiểu thêm về AESE của DB2 và các khả năng mà nó cung cấp, hãy tham khảo tài nguyên dưới đây.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Information Management
ArticleID=801338
ArticleTitle=Nghiên cứu sâu về Ấn bản DB2 Advanced Enterprise Server, Phần 3: Quản lý tải công việc
publish-date=03092012