Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Tổng quan về hiệu chuẩn I / O Oracle 11g

Mỗi khi Cơ sở dữ liệu Oracle ® đọc hoặc ghi dữ liệu vào đĩa, cơ sở dữ liệu sẽ tạo ra các thao tác nhập và xuất đĩa (I / O). Hiệu suất của nhiều ứng dụng phần mềm bị giới hạn bởi I / O đĩa và các ứng dụng sử dụng phần lớn thời gian của khối xử lý trung tâm (CPU) để chờ hoạt động I / O hoàn tất bị ràng buộc I / O. Hiệu chuẩn I / O giúp giải quyết vấn đề này.

Giới thiệu

Thiết lập một hệ thống con I / O vững chắc là một phần thiết yếu của việc xây dựng cơ sở hạ tầng cho một ứng dụng. Nếu bất kỳ thành phần nào trong ngăn xếp I / O có thông lượng giới hạn, nó sẽ trở thành liên kết yếu nhất trong luồng I / O. Bởi vì khối lượng công việc trong thế giới thực không thể dễ dàng tái tạo nên việc xác thực các hàm băm của hệ thống con I / O là một nhiệm vụ khó khăn.

Tính năng hiệu chuẩn I / O của Cơ sở dữ liệu Oracle cho phép bạn đánh giá hiệu suất của hệ thống con lưu trữ và xác định xem vấn đề hiệu suất I / O là do cơ sở dữ liệu hay do hệ thống con lưu trữ gây ra. Không giống như các công cụ hiệu chuẩn I / O otherexternal phát hành tuần tự các hoạt động I / O, tính năng I / Ocalibration của Cơ sở dữ liệu Oracle đưa ra các hoạt động I / O một cách ngẫu nhiên bằng cách sử dụng tệp dữ liệu Phép màu để truy cập phương tiện lưu trữ. Điều này tạo ra kết quả phù hợp hơn với hiệu suất thực tế của cơ sở dữ liệu.

Tính năng Hiệu chỉnh I / O dựa trên một hàm PL / SQL được gọi là DBMS_RESOURCE_MANAGER.CALIBRATE_IO() . Khi hiệu chỉnh I / O được gọi, nó sẽ tạo ra khối lượng công việc với các đặc điểm sau:

  • I / O chuyên sâu, chỉ đọc, I / O ngẫu nhiên (db_block_size)
  • khối lượng công việc I / O tuần tự khối lớn (1 MB)

Kết quả từ Hiệu chỉnh I / O phải được theo dõi và so sánh với tốc độ thông lượng dự kiến ​​(thông lượng tổng thể tối đa của hệ thống con I / O). I / Ocalibration có thể được sử dụng để đánh giá hiệu suất của hệ thống con lưu trữ và để xác định xem liệu các vấn đề về hiệu suất I / O có xuất phát từ máy chủ cơ sở dữ liệu hoặc hệ thống con lưu trữ hay không.

Blog này bao gồm các chủ đề sau:

  • Điều kiện tiên quyết để hiệu chuẩn I / O
  • Đang chạy hiệu chuẩn I / O
  • Cân nhắc hiệu chuẩn

Điều kiện tiên quyết để hiệu chuẩn I / O

Trước khi chạy hiệu chuẩn I / O, hãy đảm bảo rằng các yêu cầu sau được đáp ứng:

  • Người dùng phải được cấp SYSDBA đặc ân.
  • TIMED_STATISTICS phải được đặt thành TRUE .
  • I / O không đồng bộ phải được bật.

Khi sử dụng hệ thống tệp, có thể bật I / O không đồng bộ bằng cách đặt FILESYSTEMIO_OPTIONS tham số khởi tạo thành SETALL .

Với I / O đồng bộ, khi một yêu cầu I / O được gửi đến hệ điều hành, quá trình ghi sẽ bị chặn cho đến khi hoạt động hoàn tất. Với asynchronousI / O, quá trình gọi tiếp tục công việc của nó mà không chặn các yêu cầu khác vẫn đang thực thi.

Đảm bảo rằng I / O không đồng bộ được bật cho các tệp dữ liệu bằng cách chạy truy vấnSQL sau:

COL NAME FORMAT A50
SELECT NAME,ASYNCH_IO FROM V$DATAFILE F,V$IOSTAT_FILE I
  WHERE  F.FILE#=I.FILE_NO
  AND    FILETYPE_NAME='Data File';

Hình ảnh sau đây cho thấy truy vấn và kết quả:

Tổng quan về hiệu chuẩn I / O Oracle 11g Liệt kê kết quả lệnh ô

Lưu ý: Mỗi lần chỉ có thể thực hiện một hiệu chuẩn trên một phiên bản cơ sở dữ liệu.

Đang chạy hiệu chuẩn I / O

Tính năng hiệu chuẩn I / O của Cơ sở dữ liệu Oracle được truy cập bằng DBMS_RESOURCE_MANAGER.CALIBRATE_IO thủ tục. Quy trình này cấp một khối lượng công việc chỉ đọc I / O liên kết (tạo thành 1 MB ngẫu nhiên của các hoạt động I / O) cho các tệp cơ sở dữ liệu để xác định IOPS tối đa (yêu cầu I / O mỗi giây) và MBPS (megabyte I / O mỗi giây) có thể được duy trì bởi hệ thống lưu trữ.

Hiệu chuẩn I / O với DBMS_RESOURCE_MANAGER.CALIBRATE_IO thủ tục bao gồm các bước sau:

  1. Thủ tục đưa ra các lần đọc ngẫu nhiên có kích thước khối cơ sở dữ liệu (theo mặc định, 8 KB) để gọi các tệp dữ liệu từ tất cả các phiên bản cơ sở dữ liệu. Bước này cung cấp hoạt độngI / O tối đa mỗi giây (IOPS) trong tham số đầu ra (max_iops ) mà cơ sở dữ liệu có thể duy trì. Giá trị của max_iops isan số liệu quan trọng cho cơ sở dữ liệu xử lý giao dịch trực tuyến (OLTP). Tham số theoutput actual_latency cung cấp độ trễ trung bình cho khối lượng công việc này. Bạn có thể chỉ định độ trễ mục tiêu cụ thể mà bạn cần với thông số đầu vào max_latency , chỉ định dung sai tối đa tính bằng mili giây cho các yêu cầu I / O có kích thước khối cơ sở dữ liệu.

  2. Quy trình này cấp phép đọc ngẫu nhiên 1 MB cho tất cả các tệp dữ liệu từ tất cả các cơ sở dữ liệu. Bước này mang lại tham số đầu ra max_mbps , chỉ định số megabyte tối đa mỗi giây (MBPS) của I / O mà tệp cơ sở dữ liệu duy trì. Đây là một số liệu quan trọng cho kho dữ liệu.

Hiệu chuẩn chạy hiệu quả hơn nếu người dùng cung cấp num_physical_disks tham số đầu vào, chỉ định số đĩa vật lý gần đúng trong hệ thống lưu trữ cơ sở dữ liệu.

Do chi phí cao từ việc chạy khối lượng công việc I / O, hiệu chuẩn I / O chỉ nên được thực hiện khi cơ sở dữ liệu không hoạt động hoặc trong giờ thấp điểm, để giảm thiểu tác động của khối lượng công việc hiệu chuẩn I / O đối với khối lượng công việc dữ liệu thông thường.

Hình ảnh sau đây cho thấy kết quả đầu ra từ DBMS_RESOURCE_MANAGER.CALIBRATE_IO thủ tục:

Tổng quan về hiệu chuẩn I / O Oracle 11g Liệt kê kết quả lệnh ô

Cân nhắc hiệu chuẩn

Trước khi chạy hiệu chuẩn I / O, hãy suy nghĩ về những cân nhắc sau:

  • Chỉ chạy một hiệu chuẩn tại một thời điểm trên cơ sở dữ liệu sử dụng cùng một hệ thống lưu trữ. Nếu bạn đồng thời chạy hiệu chuẩn trên các cơ sở riêng biệt sử dụng cùng một hệ thống con lưu trữ, thì hiệu chuẩn sẽ không thành công.
  • Cài đặt cơ sở dữ liệu để giảm thiểu I / O trên phiên bản.
  • Đối với cấu hình Nhóm ứng dụng thực của Oracle (RAC), hãy đảm bảo rằng tất cả các phiên bản đều được mở để hiệu chỉnh hệ thống con lưu trữ giữa các nút.
  • Đối với cơ sở dữ liệu Oracle RAC, khối lượng công việc được tạo đồng thời từ tất cả các quá trình.
  • num_physical_disks tham số đầu vào là tùy chọn. Bằng cách đặt thông số này thành số đĩa vật lý gần đúng trong hệ thống lưu trữ của cơ sở dữ liệu, việc hiệu chuẩn vừa nhanh hơn vừa chính xác hơn.

Bất kỳ lúc nào trong quá trình hiệu chuẩn I / O, bạn có thể truy vấn điều chỉnh hiệu chuẩn trong V$IO_CALIBRATION_STATUS lượt xem. Sau khi hoàn tất thành công hiệu chuẩn I / O, hãy xem kết quả trong DBA_RSRC_IO_CALIBRATE bảng, tương tự như ví dụ sau:

Các cột Giá trị
START_TIME 31-AUG-17 04.40.09.920679 SA
END_TIME 31-AUG-17 04.47.41.210939 SA
MAX_IOPS 39
MAX_MBPS 60
MAX_PMBPS 69
LATENCY 24
NUM_PHYSICAL_DISKS 1



Kết luận

Các tính năng Quản lý Tài nguyên I / O (IORM) và Hiệu chỉnh I / O có giá trị để hiểu các hạn chế của kiến ​​trúc I / O hiện tại của bạn. Sau khi hiệu chuẩn hoàn tất, thông tin có thể được sử dụng để thực hiện I / Odesign và định cỡ phù hợp. Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào.