Có một số điều đang diễn ra ở đây.
Đầu tiên, tất cả các công nghệ đĩa hiện đại được tối ưu hóa để chuyển số lượng lớn. Nếu bạn cần di chuyển 100 MB dữ liệu, họ sẽ thực hiện nhanh hơn nhiều nếu chúng ở trong một khối liền kề thay vì nằm rải rác khắp nơi. SSD giúp rất nhiều ở đây, nhưng thậm chí họ thích dữ liệu trong các khối liền kề.
Thứ hai, khả năng phục hồi là khá tối ưu cho đến khi hoạt động của đĩa. Bạn đọc một khối dữ liệu liền kề khổng lồ từ một đĩa, thực hiện một số thao tác CPU nhanh trên nó, sau đó viết lại thành một đoạn lớn tiếp giáp với một đĩa khác. Nếu mất điện giữa chừng, không có vấn đề gì lớn - bạn sẽ bỏ qua mọi dữ liệu có tổng kiểm tra xấu và tiếp tục như bình thường.
Thứ ba, xóa một tập tin là rất chậm . ZFS đặc biệt xấu, nhưng thực tế tất cả các hệ thống tập tin đều chậm xóa. Họ phải sửa đổi một số lượng lớn các khối dữ liệu khác nhau trên đĩa và thời gian chính xác (tức là chờ) để hệ thống tập tin không bị hỏng nếu mất điện.
Làm thế nào có thể phục hồi toàn bộ mảng mất một giờ, nhưng xóa khỏi đĩa mất 4 ngày?
Khả năng phục hồi là thứ mà các đĩa thực sự rất nhanh và việc xóa là thứ mà các đĩa bị chậm. Mỗi megabyte của đĩa, bạn chỉ phải thực hiện một chút khả năng phục hồi. Bạn có thể có một ngàn tệp trong không gian đó cần phải xóa.
70 xóa / giây hiệu suất có vẻ rất rất xấu
Nó phụ thuộc. Tôi sẽ không ngạc nhiên về điều này. Bạn chưa đề cập đến loại SSD nào bạn đang sử dụng. SSD Intel và Samsung hiện đại khá tốt trong loại hoạt động này (đọc-sửa đổi-ghi) và sẽ hoạt động tốt hơn. SSD rẻ hơn / cũ hơn (ví dụ Corsair) sẽ chậm. Số lượng thao tác I / O mỗi giây (IOPS) là yếu tố quyết định ở đây.
ZFS là đặc biệt chậm để xóa mọi thứ. Thông thường, nó sẽ thực hiện xóa trong nền để bạn không thấy độ trễ. Nếu bạn đang làm một số lượng lớn trong số họ, nó không thể che giấu nó và phải trì hoãn bạn.
Phụ lục: tại sao xóa chậm?
- Xóa một tập tin đòi hỏi một vài bước. Siêu dữ liệu tệp phải được đánh dấu là 'đã xóa' và cuối cùng nó phải được lấy lại để không gian có thể được sử dụng lại. ZFS là một "hệ thống tập tin có cấu trúc nhật ký" hoạt động tốt nhất nếu bạn chỉ tạo ra mọi thứ, không bao giờ xóa chúng. Cấu trúc nhật ký có nghĩa là nếu bạn xóa một cái gì đó, có một khoảng trống trong nhật ký và do đó, dữ liệu khác phải được sắp xếp lại (phân mảnh) để lấp đầy khoảng trống. Điều này là vô hình với người dùng nhưng nói chung là chậm.
- Các thay đổi phải được thực hiện theo cách mà nếu mất điện giữa chừng, hệ thống tập tin vẫn nhất quán. Thông thường, điều này có nghĩa là chờ cho đến khi đĩa xác nhận rằng dữ liệu thực sự có trên phương tiện truyền thông; đối với một ổ SSD, có thể mất nhiều thời gian (hàng trăm mili giây). Hiệu quả ròng của việc này là có nhiều sổ sách kế toán hơn (tức là hoạt động I / O của đĩa).
- Tất cả những thay đổi là nhỏ. Thay vì đọc, viết và xóa toàn bộ khối flash (hoặc hình trụ cho đĩa từ), bạn cần sửa đổi một chút của một khối. Để làm điều này, phần cứng phải đọc trong toàn bộ một khối hoặc hình trụ, sửa đổi nó trong bộ nhớ, sau đó ghi lại ra phương tiện truyền thông một lần nữa. Điều này mất một thời gian dài.