Có rất nhiều yếu tố có thể phát huy tác dụng, vì vậy tôi không nghĩ có nhiều hướng dẫn chung.
Bạn nên tiến hành đánh giá tỷ lệ nhỏ hơn, có thể bằng 1/5 bộ dữ liệu ban đầu để xem mọi thứ hoạt động như thế nào khi bạn ném chỉ mục và tải tìm kiếm dự kiến vào thiết lập. Điều này sẽ đảm bảo bạn hiểu được dữ liệu của bạn sẽ tiêu thụ bao nhiêu dung lượng trong công cụ tìm kiếm. Đối với elaticsearch, tùy thuộc vào việc bạn đang lưu trữ json nguồn và cách các trường được phân tích và nếu chúng được lưu trữ.
EC2 có thể là một cách hợp lý để đánh giá el elearch mà không cần chi tiêu h / w lớn.
Đối với phần mềm dựa trên cụm, như elaticsearch, có sự đánh đổi giữa việc giữ cụm nhỏ hơn so với lớn hơn. Một cụm lớn là tốt bởi vì khi bạn mất một máy chủ, ít dữ liệu cần phải được phân bổ lại. Một cụm nhỏ hơn tiêu thụ ít năng lượng hơn và dễ bảo trì hơn.
Chúng tôi chạy một cụm với 35 triệu tài liệu với tổng kích thước chỉ mục khoảng 300GB x 2, vì tất cả các chỉ mục đều được sao chép. Để hỗ trợ điều này và số lượng tìm kiếm rất lớn, chúng tôi có 4 nút, mỗi nút có 24 lõi, 48GB RAM và 1TB dung lượng lưu trữ với 10K đĩa trong raid10. Gần đây chúng tôi đã tăng kích thước đĩa để đảm bảo chúng tôi có nhiều phòng đầu hơn.
Đối với trường hợp của bạn, tôi muốn giới thiệu thêm RAM và nhiều đĩa hơn. Bạn có thể tiết kiệm tiền cho CPU với khối lượng tìm kiếm đó.
Khối lượng tìm kiếm thấp thực sự làm tổn hại đến hiệu suất, vì bộ nhớ cache (cả nội bộ cho s / w được sử dụng và đĩa hệ điều hành) sẽ không được làm ấm tốt.
Hy vọng điều này sẽ giúp, Paul