Tôi so sánh FSDirectory và RAMDirectory.
- kích thước chỉ mục là 1.4G
nhớ
- Centos, 5G
Search 1000 từ khóa, thư mục/min/Thời gian đáp ứng trung bình max (ms) là ở đây
- FSDirectory
- lần chạy đầu tiên: 351/7/2611
- chạy thứ hai: 47/7/837
- chạy thứ ba (ứng dụng khởi động lại): 53/7/2343
- RAMDirectory
- chạy đầu tiên: 38/7/1133
- chạy thứ hai: 34/7/189
- chạy thứ ba (khởi động lại ứng dụng): 38/7/959
Vì vậy, bạn có thể thấy RAMDirectory là làm nhanh hơn sau đó FSDirectory, nhưng sau khi 'os tập tin bộ nhớ cache ấm lên', khoảng cách tốc độ không phải là quá khác biệt. Đâu là bất lợi của RMADirectory? Trong thử nghiệm của tôi
- Nó ăn nhiều bộ nhớ hơn, tệp 1.4G cần khoảng 2G để tải nó vào bộ nhớ. trong khi FSDirectory chỉ sử dụng 700m. Sau đó, nó có nghĩa là thời gian dài hơn cho gc đầy đủ.
- Cần thêm thời gian để tải, đặc biệt khi tệp chỉ mục lớn. Nó cần sao chép dữ liệu từ tập tin vào bộ nhớ khi mở chỉ mục. Điều đó có nghĩa là các yêu cầu sẽ bị chặn trong nhiều thời gian hơn khi khởi động lại ứng dụng.
- Không thực tế để duy trì hai chỉ mục trong cùng một thời điểm. Bởi vì ứng dụng của chúng tôi chuyển chỉ mục mỗi vài giờ.Chúng tôi muốn chỉ số mới đang ấm lên trong khi chỉ số cũ vẫn đang hoạt động trong cùng một tomcat.
Cảm ơn các yếu tố đầu vào ur .. có thể tôi biết nhỏ như thế nào là "đủ nhỏ"? – user43498
Tôi sẽ tưởng tượng nhỏ hơn RAM vật lý hiện có của bạn. –