深度实战指南:3大场景解锁AMD SMUDebugTool性能调优技巧
2026/4/17 17:47:53
cluster:index列表。ccs_minimize_roundtrips=true,先向各远程集群发送can-match探针,只把真正可能命中的分片加入二次请求,减少跨机房 RTT。_source(只在必要时第三次往返)。版本限制:本地集群版本必须 ≥ 远程集群,且功能集需完全交集,否则行为未定义。
index.soft_deletes.enabled=true(8.x 默认开启)。cluster.remote.{name}.proxy_address注册。以下示例基于 8.x 单节点 Docker 环境,安全功能已关闭。
4.1 拉起两套集群
leader/docker-compose.yml
services:es-leader:image:docker.elastic.co/elasticsearch/elasticsearch:8.12.0environment:-cluster.name=leader-cluster-discovery.type=single-node-xpack.security.enabled=falseports:["9200:9200"]follower/docker-compose.yml 把cluster.name改成follower-cluster,ports: ["9201:9200"]。
4.2 在 Follower 侧注册远程集群
curl-XPUT http://localhost:9201/_cluster/settings -H'Content-Type: application/json'-d' { "persistent": { "cluster.remote.leader-cluster": { "mode": "sniff", "seeds": ["es-leader:9300"] } } }'4.3 启动 CCR
# 先确保 Leader 索引已开启 soft_deletescurl-XPUT http://localhost:9200/orders# 再在 Follower 侧创建 Follower 索引curl-XPUT http://localhost:9201/orders_follower/_ccr/follow?pretty -H'Content-Type: application/json'-d' { "remote_cluster": "leader-cluster", "leader_index": "orders" }'返回"follow_index_created": true表示同步已生效;继续往 Leader 写数据,可在 Follower 实时查到。
4.4 执行 CCS
curl-XGET http://localhost:9201/leader-cluster:orders,orders_follower/_search?pretty -H'Content-Type: application/json'-d' { "query": { "match_all": {} }, "sort": [{ "timestamp": { "order": "desc" } }] }'一次请求即可拿到两个集群的最新订单。
| 维度 | CCS 建议 | CCR 建议 |
|---|---|---|
| 网络 | 专线 / PrivateLink,开启 TLS 并做双向认证;ping.interval与connect.timeout根据 RTT 调优。 | 同上,传输层复用 9300,确保带宽 ≥ 峰值索引速率 × 2。 |
| 安全 | Remote Cluster 使用API Key或PKI认证;搜索侧通过DLS/FLS限制字段级权限。 | Follower 集群对 Leader 只授予monitor与read_ccr权限,最小化暴露面。 |
| 性能 | 对滚动日志场景,把ccs_minimize_roundtrips设为true可节省 30–50% 跨机房 RT;对聚合量大场景可关闭,避免二次往返拉取_source。 | Follower 拉取线程数max_outstanding_read_requests默认 12,可随网络延迟线性上调;写-heavy 场景建议单独冷/热分层,Leader 热层 SSD,Follower 冷层 HDD + ILM。 |
| 监控 | 协调节点ccs_total_roundtrips、ccs_remote_failures;搜索延迟突增时优先检查跨域 DNS 与 MTU。 | 使用GET _ccr/stats观察leader_global_checkpoint与follower_global_checkpoint差值;差值持续 >5 min 需排查带宽或 GC。 |
| 灾备演练 | —— | 定期做提升演练:POST orders_follower/_ccr/pause_follow→POST orders_follower/_ccr/unfollow→POST orders_follower/_settings把index.blocks.write=false,确认业务侧写入口可秒级切换。 |
indices.snapshot.max_concurrent_operations,或先用手动 snapshot 导入基线,再启用 CCR 追增量。CCS 让你“像查一个集群一样查所有集群”,CCR 让你“把一个集群的数据安全快速地搬到另一个集群”;两者配合,Elasticsearch 才真正具备了跨地域、多活、读写分离的企业级能力。
更多技术文章见公众号: 大城市小农民