Chia TempDB thành nhiều tệp bằng số lượng CPU


8

Bài viết SQL Server tempdb Thực tiễn tốt nhất Tăng hiệu suất cho thấy rằng tôi nên chia tempdbthành một số tệp bằng số lượng lõi. Vì vậy, cho 4 lõi, bạn nhận được 4 tập tin.

Bằng cách có số lượng tệp lớn hơn, bạn có thể tăng số lượng thao tác I / O vật lý mà SQL Server có thể đẩy vào đĩa bất cứ lúc nào. Càng nhiều I / O mà SQL Server có thể đẩy xuống mức đĩa, cơ sở dữ liệu sẽ chạy càng nhanh. Với cơ sở dữ liệu tiêu chuẩn, SQL Server có thể lưu trữ một lượng lớn dữ liệu mà nó cần vào bộ nhớ. Do tính chất ghi cao của tempdb, dữ liệu cần được ghi vào đĩa trước khi có thể lưu vào bộ nhớ vào bộ nhớ.

Mặc dù về mặt lý thuyết nghe có vẻ tốt, nhưng nó thực sự tốt như một tối ưu hóa chung? Đây có phải là thứ chỉ có thể áp dụng cho các hệ thống cụ thể mà IO rất cao không?

Câu trả lời:


13

Tỷ lệ 1/4 đến 1/2 lần số tệp dữ liệu TempDB cho lõi máy từ lâu đã là đề xuất ...

Nhưng bây giờ thậm chí còn hướng dẫn tốt hơn. Tại PASS năm 2011, người bạn tốt của tôi, Bob Ward, người đứng đầu về Hỗ trợ Sản phẩm SQL, đã tán thành một công thức mới: nếu bạn có ít hơn 8 lõi, hãy sử dụng #files = #cores. Nếu bạn có nhiều hơn 8 lõi, hãy sử dụng 8 tệp và nếu bạn thấy sự tranh chấp trong bộ nhớ, hãy thêm 4 tệp cùng một lúc. [liên kết]

Câu cuối cùng luôn có liên quan. Nếu bạn không thấy tranh chấp, tại sao lại thêm tệp? Để chơi an toàn, hầu hết sẽ thêm 2-4 tệp làm điểm khởi đầu cho phần lớn các bản dựng nhưng ngoài ra, hãy đo và phản ứng.


10

Giống như hầu hết các hướng dẫn chung , nó là một sự đơn giản hóa trong ánh sáng tích cực nhất của nó. Tốt nhất, đây là điểm khởi đầu tốt (với điều kiện bạn không giữ tỷ lệ tệp dữ liệu 1: 1 lõi với số lượng lõi lớn).

Không có sự thay thế cho thiết kế phù hợp và theo dõi và theo dõi cơ sở phù hợp . Lý do đằng sau việc có nhiều tệp dữ liệu cho tempdb là để giảm và giảm thiểu sự tranh chấp trang phân bổ. Có rất nhiều bài viết được xuất bản về cách theo dõi sự tranh chấp này và hành động phù hợp. Dưới đây là một vài tài nguyên:

Phá vỡ sự tham gia của TempDB (Phần 1)
Phá vỡ sự tham gia của TempDB (Phần 2)
Phân tích sự tham gia của Tempdb
Tối ưu hóa cấu hình tempdb với SQL Server 2012 Sự kiện mở rộng

Nhưng để trả lời câu hỏi của bạn, không, đây không phải là một phần cấu hình khó quên và nhanh chóng của tempdb .

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.