Phương Pháp Định Cỡ Toán Học Trên ElasticRAM: -Xmx31g OOPs, Lucene mmap & Ngưỡng Đĩa 85%
Chúng tôi thiết kế toàn bộ công thức trong ElasticRAM dựa trên tài liệu kỹ thuật chính thống của OpenJDK HotSpot, Apache Lucene 9 và OpenSearch 2.x / Elasticsearch 8.x, tuyệt đối không bịa đặt số liệu đo kiểm phần cứng.
Trạng thái dữ liệu đo kiểm thực tế: quy trình tự kiểm thử thông số vận hành trực tiếp trên máy chủ đích — chúng tôi luôn tách bạch toán học định cỡ với số liệu thực nghiệm.
Phương Trình Cốt Lõi Trong Bộ Máy Tính ElasticRAM
Indexed_Cluster_GB = Daily_Ingest_GB * Retention_Days * (1 + Replicas) * 1.15
Total_Hot_NVMe_GB = ceil(Indexed_Cluster_GB / 0.85) # 15% free below watermark.low: 85%
Primary_Shards = clamp_shard_window(Primary_Indexed_GB, target = 25..38 GB/shard)
Node_JVM_Heap_GB = min(31, floor(Node_RAM_GB / 2)) # Preserves 4-byte 32-bit Compressed OOPs
Lucene_OS_Cache_GB = Node_RAM_GB - Node_JVM_Heap_GB # >= 50% RAM for kernel mmap segments
Split_Brain_Quorum = floor(Voting_Manager_Nodes / 2) + 1
Bảng Giải Thích Tham Số jvm.options & opensearch.yml Của ElasticRAM
| Tham Số Cấu Hình | Ngưỡng Chuẩn | Giải Thích Kỹ Thuật Từ ElasticRAM |
|---|---|---|
-Xms31g / -Xmx31g (jvm.options) |
<= 31 GB (50% RAM) |
Khóa vùng nhớ khởi tạo và cực đại bằng nhau dưới ranh giới ~31.8 GB để giữ con trỏ nén 4-byte 32-bit Compressed OOPs và tránh khựng GC khi co giãn vùng nhớ. |
Linux OS Page Cache (Lucene mmap) |
>= 50% Host RAM |
Apache Lucene ánh xạ trực tiếp phân đoạn Inverted Index, cột doc_values và đồ thị vector HNSW vào bộ đệm trang của nhân Linux nằm ngoài JVM Heap. |
index.number_of_shards (ISM Rollover) |
10–50 GB / shard |
Giữ shard tìm kiếm ở mức 10–30 GB và shard lưu log Wazuh/ELK trong khung 30–50 GB bằng chính sách xoay vòng ISM nhằm tránh quá tải metadata trên Heap. |
cluster.max_shards_per_node |
<= 20 * Heap_GB |
Giới hạn tổng số shard mở trên mỗi node dữ liệu (tối đa 620 shard ở mức -Xmx31g) để cây chỉ mục FST không làm tràn vùng nhớ Old Gen của JVM. |
cluster.routing.allocation.disk.watermark.low |
85% NVMe Used |
Khi ổ cứng đầy 85%, OpenSearch ngừng phân bổ thêm bản sao mới vào node đó. Công thức ElasticRAM luôn chia cho 0.85 để dự phòng tối thiểu 15% dung lượng trống. |
cluster.routing.allocation.disk.watermark.high |
90% NVMe Used |
Chạm mốc 90%, cụm chủ động di dời các shard hiện hữu sang máy chủ khác, dễ gây nghẽn băng thông nội bộ nếu toàn bộ các node đều sắp đầy đĩa. |
cluster.routing.allocation.disk.watermark.flood_stage |
95% NVMe Used |
Chốt chặn khẩn cấp khóa cứng chỉ mục sang chế độ chỉ đọc (read_only_allow_delete: true), làm đứt mạch ghi cảnh báo Wazuh SIEM cho tới khi dọn trống ổ cứng. |
Quay Lại Trình Sinh File jvm.options & opensearch.yml Của ElasticRAM →