Đĩa đầy / cơ sở dữ liệu phình không giới hạn
Triệu chứng
Phần tiêu đề “Triệu chứng”Thẻ Sức khỏe lưu trữ trên Bảng điều khiển hiển thị cảnh báo, và dòng Cơ sở dữ liệu lớn hơn nhiều so với dữ liệu box cần lưu. Việc xóa các dòng cũ, hoặc rút ngắn thời gian lưu giữ, không làm tệp nhỏ lại.
Nguyên nhân: các dòng cũ được xóa theo lịch, nhưng một cơ sở dữ liệu được tạo bởi bản phát hành cũ giữ các trang đã giải phóng trong một free-list nội bộ. Nó không bao giờ trả chúng về cho đĩa, nên tệp giữ nguyên ở kích thước lớn nhất. Cập nhật box không thay đổi điều này. Một cơ sở dữ liệu được tạo bởi bản phát hành hiện tại trả lại dung lượng đã giải phóng sau mỗi lượt quét lưu giữ.
Xác nhận
Phần tiêu đề “Xác nhận”Chạy script nén và đọc kết quả đo. Script báo cáo trước khi thay đổi bất cứ thứ gì.
-
Vào thư mục gói phát hành mà bạn dùng để cài đặt và cập nhật.
-
Chạy:
Terminal window sudo ./compact-db.sh -
Đọc báo cáo: kích thước cơ sở dữ liệu, free-list (dung lượng có thể thu hồi), và dung lượng trống trên đĩa.
-
Nếu free-list lớn, tiếp tục với phần khắc phục. Để dừng tại đây, trả lời
Nở lời nhắc. Chưa có gì thay đổi.
Nếu có ít hơn 100 MB để thu hồi và cơ sở dữ liệu đã tự trả lại dung lượng, script sẽ báo như vậy và thoát.
Khắc phục
Phần tiêu đề “Khắc phục”-
Kiểm tra dung lượng trống. Việc nén ghi một bản sao đầy đủ thứ hai của cơ sở dữ liệu trước khi thay thế, nên đĩa cần dung lượng trống ít nhất bằng kích thước cơ sở dữ liệu. Script kiểm tra điều này và từ chối chạy nếu không đủ.
-
Lên kế hoạch cho một khoảng bảo trì ngắn. Script dừng toàn bộ stack, nên suy luận dừng trong khi nó chạy. Với cơ sở dữ liệu lớn, việc này mất vài phút.
-
Chạy script từ thư mục gói phát hành và trả lời
yở lời nhắc:Terminal window sudo ./compact-db.shSau đó script:
- tạo một bản snapshot cơ sở dữ liệu vào thư mục
backupscủa thư mục cài đặt (mặc định/opt/aiboard); - dừng stack;
- nén cơ sở dữ liệu và chuyển nó sang chế độ trả lại dung lượng đã giải phóng từ nay về sau;
- khởi động lại stack.
Không ngắt script trong khi nén.
- tạo một bản snapshot cơ sở dữ liệu vào thư mục
-
Kiểm tra kết quả. Script in kích thước trước và sau cùng dung lượng đã thu hồi. Trên Bảng điều khiển, dòng Cơ sở dữ liệu hiển thị kích thước mới.
Phòng ngừa
Phần tiêu đề “Phòng ngừa”Backend xóa dữ liệu cũ theo lịch. Giá trị mặc định là:
| Dữ liệu | Thời gian giữ | Thiết lập |
|---|---|---|
| Bản ghi suy luận (độ trễ, throughput, sự kiện pipeline) | 1 ngày | InferenceObservability:RetentionDays |
| Payload yêu cầu và phản hồi | 6 giờ | InferenceObservability:PayloadRetentionHours |
| Giới hạn số dòng bản ghi suy luận | 5.000.000 dòng mới nhất | InferenceObservability:MaxRows |
| Mục trên trang Nhật ký | 10.000 dòng mới nhất | LoggingService:Retention:MaxEntries |
- Giữ thời gian lưu giữ có giới hạn. Lưu giữ càng lâu thì cơ sở dữ liệu càng lớn.
- Giữ giới hạn số dòng cao hơn khối lượng bình thường. Giới hạn số dòng cắt còn các dòng mới nhất ngay cả trong cửa sổ thời gian, nên một đợt đột biến không thể làm đầy đĩa. Nếu nó thấp hơn lượng dữ liệu của một ngày bình thường, nó sẽ rút ngắn cửa sổ thời gian.
- Cẩn trọng khi kiểm thử throughput. Các đợt ghi tốc độ cao là thứ làm phình tệp. Đừng để một bài kiểm thử tốc độ cao chạy liên tục trên box production.
- Theo dõi các bản sao lưu cũ. Mỗi lần cập nhật giữ lại vài bản sao lưu cơ sở dữ liệu
gần nhất; xem
AIBOARD_BACKUP_KEEPtrong Biến môi trường.
Liên quan
Phần tiêu đề “Liên quan”- Giám sát — thẻ Sức khỏe lưu trữ và các ngưỡng.
- Thực hành tốt khi vận hành — khi nào cần nén.