Bỏ qua để đến nội dung

Đĩa đầy / cơ sở dữ liệu phình không giới hạn

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ữ.

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ì.

  1. Vào thư mục gói phát hành mà bạn dùng để cài đặt và cập nhật.

  2. Chạy:

    Terminal window
    sudo ./compact-db.sh
  3. Đọ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.

  4. 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.

  1. 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 đủ.

  2. 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.

  3. 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.sh

    Sau đó script:

    • tạo một bản snapshot cơ sở dữ liệu vào thư mục backups củ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.

  4. 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.

Backend xóa dữ liệu cũ theo lịch. Giá trị mặc định là:

Dữ liệuThời gian giữThiết lập
Bản ghi suy luận (độ trễ, throughput, sự kiện pipeline)1 ngàyInferenceObservability:RetentionDays
Payload yêu cầu và phản hồi6 giờInferenceObservability:PayloadRetentionHours
Giới hạn số dòng bản ghi suy luận5.000.000 dòng mới nhấtInferenceObservability:MaxRows
Mục trên trang Nhật ký10.000 dòng mới nhấtLoggingService: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_KEEP trong Biến môi trường.