toiuu100x | Bài viết này tôi sẽ chia sẻ một báo cáo đánh giá hiệu năng Cơ sở dữ liệu Core Banking – T24 khi bị chậm. Các kinh nghiệm, case study này là một phần trong chương trình Từ điển tối ưu 100x hiệu năng của Wecommit
1. [toiuu100x] – Mô tả hiện trạng
Cơ sở dữ liệu của hệ thống Core banking (T24) của ngân hàng gặp hiện tặng chậm/ treo
Loại Cơ sở dữ liệu sử dụng: Oracle Database
Phiên bản cơ sở dữ liệu: Oracle 11.2.0.4
Hệ điều hành: Linux
2. [toiuu100x] – Phân tích báo cáo hiệu năng thời điểm hệ thống bị chậm
Tại dự án này, cơ sở dữ liệu có nhiều vấn đề liên quan đến thiết kế, chiến lược tối ưu SQL.
Trong bài viết này tôi sẽ chia sẻ 1 số những ý chính.
Thực hiện đánh giá hiệu quả hoạt động của các câu lệnh SQL trong cơ sở dữ liệu
- Toàn bộ hệ thống thời điểm đánh giá chủ yếu thực hiện các thao tác đọc (Reads), rất ít thao tác Ghi dữ liệu (Writes). Cụ thể
- Có 1.1 TB dữ liệu được đọc
- Có 16.3 GB dữ liệu được ghi
- Trong 1.1 TB dữ liệu được đọc, hệ thống có hơn 65% là đọc ghi trực tiếp từ đĩa (Direct Reads).
- Báo cáo phân tích cho thấy có 689.GB đọc trực tiếp từ đĩa (Direct Reads)
- Chỉ có 460.9 GB đọc từ bộ nhó (Buffer Cache Reads)
- Thông số bên trên cho thấy, hiệu quả hoạt động của Cơ sở dữ liệu là không tốt. Lý do để đánh giá việc này như sau:
- Với cơ sở dữ liệu được thiết kế tốt, đa phần các thao tác phải là đọc từ bộ nhớ.
- Việc đọc ghi từ đĩa sẽ có hiệu năng chậm hơn rất nhiều lần so với đọc ghi từ bộ nhớ
3. [toiuu100x] – Khoanh vùng để tìm Objects được thiết kế chưa tối ưu trong Cơ sở dữ liệu.
Thực hiện phân tích các Objects có lượng sử dụng đọc ghi trực tiếp từ đĩa nhiều nhất, tôi thu được kết quả như sau

- MIS_CRB – chiếm 65.18%
- MIS_GL_LINE_DETAIL chiếm 9.42%
- MIS_DEPOSIT chiếm 4.77%
- T24_ACCOUNT chiếm 4.44%
- MIS_FUNDS_TRANSFER chiếm 4.03%
Tại đây ta có thể khoanh vùng được ngay: đối tượng cần thực hiện tối ưu là TABLE MIS_CRB và các các câu lệnh liên quan đến Table này.
4. Nếu bạn muốn xem thêm các Case Study và bài viết khác liên quan đến tối ưu SQL
Đọc bài viết về Case Study: Câu lệnh SQL bị chậm trong hệ thống Bệnh viện
5. Nếu bạn là DEV và chưa biêt tối ưu SQL nên bắt đầu từ đâu?
Hãy xem hết nội dung sau: : Click vào đây.
6. Nếu bạn là DEV và muốn toàn bộ những kinh nghiệm về tối ưu SQL của tôi, để trở nên KHÁC BIỆT so với các đồng nghiệp trên thị trường?
Hãy đọc về chương trình “Từ điển tối ưu 100x hiệu năng” tại đây: Click vào đây để tìm hiểu chương trình.
7. Thông tin tác giả
Tác giả: Trần Quốc Huy – Founder & CEO Wecommit.
Facebook: https://www.facebook.com/tran.q.huy.71
Youtube: https://www.youtube.com/channel/UCtsYzL7iN7rBCPnkjYp4XYw
Zalo: 0888549190
Email: huy.tranquoc@wecommit.com.vn