Chạy SQL từ bộ nhớ nhanh hơn SSD?


12

Gần đây, chúng tôi đã gặp sự cố với cơ sở dữ liệu oracle của chúng tôi khóa trên 1 truy vấn mà chúng tôi biết cho đến nay.

Tôi sẽ chia sẻ những gì đang xảy ra tuy nhiên thực sự không liên quan gì đến câu hỏi của tôi nhưng tôi sẵn sàng góp ý.

Không liên tục không biết khi nào nó sẽ xảy ra, đã xảy ra 4 lần trong tháng qua, một người dùng, sẽ nhấp vào một cái gì đó trong ứng dụng. Những gì người dùng đang nhấp vẫn chưa được biết. Khi nhấp vào bất cứ thứ gì, nó sẽ chạy một truy vấn trên cơ sở dữ liệu sẽ tạo ra khoảng 700k Hàng.

Tôi đã kiểm tra bảng rằng truy vấn đang được chạy và các chỉ mục có vẻ tốt.

Cơ sở dữ liệu là 60 GB có 32 GB trên máy chủ.

Từ nhật ký trên máy chủ cơ sở dữ liệu tôi thấy I / O cao nhưng CPU và RAM vẫn giữ nguyên.

Một máy chủ ứng dụng, CPU tăng lên khoảng 75%. Tôi có thể tìm thấy tiến trình worker, tìm PID, tuy nhiên khi tôi giết PID được liên kết với process worker, CPU sẽ tắt nhanh và sau đó quay lại ngay.

Cũng tái chế nhóm ứng dụng và khởi động lại IIS cũng làm điều tương tự, CPU sẽ ngừng hoạt động trong một thời gian ngắn và sau đó quay lại ngay.

Điều duy nhất có thể được thực hiện để đưa máy chủ trở lại hàng là khởi động lại.

Vì vậy, đề nghị của tôi NẾU truy vấn này là nguyên nhân gây ra khóa máy có thể tăng bộ nhớ trên hộp để cho phép cơ sở dữ liệu được lưu vào bộ nhớ cache và hết bộ nhớ. Tôi đã nghe điều này một lần nhưng tôi không chắc nó có đúng không.

Bộ lưu trữ là HP PAR 3 với 3 tầng và cơ sở dữ liệu sống khá nhiều trong tầng SSD.

Đó là SSD hoặc bộ nhớ nhanh hơn

Câu trả lời:


6

Đó là SSD hoặc bộ nhớ nhanh hơn

DRAM nhanh hơn flash NAND. Truy cập RAM theo thứ tự 100 ns, trong khi SSD ngẫu nhiên đọc khoảng 16.000 ns. Số trễ mỗi lập trình viên nên biết

Bạn cần làm một phân tích có hệ thống về những gì đang xảy ra và tại sao. Đừng thay đổi mọi thứ chỉ vì bạn đã nghe một cái gì đó cũ về một hệ thống khác. Tìm những gì vấn đề trên hệ thống này.

May mắn thay, các hệ thống DBMS có xu hướng có các công cụ hiệu suất. Oracle và các RDBMS khác phải EXPLAIN PLANhiển thị quét toàn bộ và không hiệu quả khác. Truy vấn có thể thực hiện khủng khiếp ngay cả với các chỉ số. Ngoài ra còn có các báo cáo hiệu suất hệ thống như Oracle AWR để tìm ra các nút thắt cổ chai. Nếu bạn muốn hỏi thêm về hiệu suất DB, bạn cũng có thể hỏi trang web chị em của chúng tôi, /dba//

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.