[快速入门]CSS读写分离性能
Flexus企业搜索服务

Flexus企业搜索服务 Flexus企业搜索服务 基于开源Elasticsearch提供在线分布式搜索、日志统计报表、语义搜索等功能 基于开源Elasticsearch提供在线分布式搜索、日志统计报表、语义搜索等功能 基于Dify集成CSS与DeepSeek构建智能问答助手 购买

分布式缓存服务DCS功能

可用。 读写分离 Redis® 4.0/5.0/6.0基础版主备实例支持客户端读写分离,分别提供可读写的连接地址(主节点)和只读地址(备节点),客户端连接时,可分别选择主节点或备节点。 主备实例实现客户端读写分离,需要在客户端做配置。如需使用读写分离功能,推荐使用读写分离实例。 Cluster集群实例特点

云性能测试服务(性能测试)

游戏高峰测试 中间件性能测试 应用性能调优 应用性能调优 定义性能测试模型,通过性能测试服务的执行机给被测应用发送模拟流量,利用服务报告观察应用对事物的并发处理能力、被测应用的资源监控、被测应用的调用链情况 优势 灵活扩展 执行机集群按需扩展,支持不同规模的性能测试 一站式解决方案

向量数据库

CSS 向量数据库 GaussDB向量数据库 基于华为云自研的向量搜索引擎,针对大规模的向量检索场景提供了业界性能领先的向量数据库服务。 基于华为云自研的向量搜索引擎,针对大规模的向量检索场景提供了业界性能领先的向量数据库服务。 购买 价格计算器 文档 云原生高可用 全球首款在云

数据库RDS for MySQL 功能

库RDS服务默认开通DAS连接权限。 1,易用、安全、高级、智能。 2,推荐使用DAS连接。 内网连接 内网IP地址 系统默认提供内网IP地址。 当应用部署在弹性云服务器上,且该弹性云服务器与云数据库RDS实例处于同一区域,同一VPC时,建议单独使用内网IP连接弹性云服务器与云数据库RDS实例。

云数据库 TaurusDB 功能-旧链接

华为自研的最新一代云原生高性能关系型数据库,完全兼容MySQL。计算存储分离,最高支持128TB的海量存储、超百万级QPS吞吐,支持跨AZ部署,既拥有商业数据库的性能和可靠性,又具备开源数据库的灵活性。 购买 控制台 文档 企业新用户免费试用1个月 高性能 7倍性能优于开源MySQL 性能最高提升至原生

云数据库 TaurusDB 功能

华为自研的最新一代云原生高性能关系型数据库,完全兼容MySQL。计算存储分离,最高支持128TB的海量存储、超百万级QPS吞吐,支持跨AZ部署,既拥有商业数据库的性能和可靠性,又具备开源数据库的灵活性。 购买 控制台 文档 企业新用户免费试用1个月 高性能 7倍性能优于开源MySQL 性能最高提升至原生

分布式数据库中间件

库的容量和性能瓶颈 专注于解决数据库分布式扩展问题,突破传统数据库的容量和性能瓶颈 购买 控制台 文档 分库分表 支持hash和range两种拆分类型,包含多种拆分算法,轻松分库分表 弹性扩容 分层架构确保计算、存储都可线性扩展,完美解决单机数据库水平扩展瓶颈 读写分离 充分利用数据节点(RDS

云数据库 TaurusDB-旧链接

128 TB 可靠性:支持跨 AZ 部署,故障秒级切换,数据安全有保障 对比同类其他产品,性能占优 对比同类其他产品,性能占优 性能提升:TaurusDB 对比同类其他产品,在同等规格,大并发场景下性能高 30% 延迟降低:跨 AZ 部署时,TaurusDB 非主可用区的应用读业务请求可就近访问,访问延迟低

[相关产品]CSS读写分离性能
瀚高读写分离集群软件

⽤了协程编程技术、⾃研的负载均衡算法以及细粒度的读写分离解决⽅案,具备读写分离、负载均衡、多种SQL路由模式、⾼并发等功能。充分利⽤从节点服务器的资源来处理查询请求, 从而提升数据库集群的整体性能与⼯作效率。hgproxy读写分离的本质是将写语句转发到主库执⾏,读语句转发到备机执

乘数PostgreSQL高可用及读写分离软件

负载均衡 读写分离 主备复制状态监控 集群日常维护 集群日志查看 集群管理页面 集群界面 一键添加集群 集群维护 复制状态监控 集群日志查看 1.1为什么要开发CLup 乘数Cluster for PostgreSQL软件是为PostgreSQL数据库实现了高可用及读写分离的软件,简称为CLup。

奥工高性能服务门户

奥工高性能门户是一个涵盖作业调度、作业监控、用户管理、计费管理的综合型 运营服务管理平台。系统集成了作业调度模块、用户管理模块、磁盘配额模块、计费功能等模块。系统支持按用户类型进行安全---构建以安全为核心的智管门户内置模块,用户危险操作可回溯查看,监控用户非法操作指令并可及时终

智影-高性能转码系统

专业视频转码工具,为各平台提供经济、高效、可靠的视频转码能力。智影高性能转码系统是专业的视频转码工具,支持多种视频格式的高效转码,可以将该系统集成到您自己的应用和服务中,根据不同需求进行相应转码。为视频网站、在线教育系统、短视频平台等提供快速、可靠的服务。 支持视频编码格式:H.264/AVC、H.263、H

达梦数据库管理系统订阅版

让用户能更加专注于业务发展。核心特性:一、多维融合,满足多样需求1.达梦读写分离架构—数据库读写分离1.1支持自动故障切换1.2支持事务级读写负载分离1.3支持读写分配比例可调整2.读多写少业务场景下的性能近线性提升2.1达梦混合事务分析处理技术—行列融合2.02.2具备事务-分

数据库性能优化服务

SQL Server等数据库性能优化问题,如数据库连接查询慢,网站程序卡顿,服务器CPU负载高无响应,SQL语句执行效率慢,用户端访问卡慢的性能问题。曾荣获华为云精英服务商,八戒TOP服务商等荣誉。,技术团队长期服务于国内金融,电商,交通等关键行业,服务客户5000+,数据库优化成功案例2W+

HPC高性能计算实施服务

公司拥有多名经验丰富的专家,为用户提供高性能计算集群解决方案和搭建服务,适用于教育科研、工业制造、气象海洋、生命科学、能源等领域。管家式服务提供需求调研、基础环境、集群环境、应用集成、平台定制、用户培训、持续交付和在线运维等一站式服务。有丰富的性能调优经验,拥有近20年的HPC解决方案和搭建经验和丰富案例

数据库性能可观测平台

or提供了快速易用的解决方案,基于海量数据实时分析技术,深入到数据库内核,提供精准的诊断分析和优化建议。数据库性能可观测平台DBdoctor 为数据库实例提供智能分析服务,让用户既可以直观地感知数据库实例的实时运行状况,可以实时定位异常问题,并根据专家经验库给用户提供SQL问题修

Galaxybase高性能图平台(HCS版)

优异的图数据库存储、查询、计算性能Galaxybase图数据库具备原生图存储与分布式并行计算的两大能力,能够大幅提升大图数据的查询、处理性能,以支撑实时图分析需求。原生图存储,支持万亿点边超级大图的高并发读写查询:海量异构数据深链查询及关联挖掘性能达国际领先水平,支持20度及以上

[相似文章]CSS读写分离性能
CSS是什么_云搜索服务_CSS功能

关于CSS云搜索服务 什么是云搜索服务CSS 云搜索服务是一个基于Elasticsearch且完全托管的在线分布式搜索服务,为用户提供结构化、非结构化文本、以及基于AI向量的多条件检索、统计、报表。完全兼容开源Elasticsearch软件原生接口;它可以帮助网站和APP搭建搜索

GaussDB性能_性能统计_高斯数据库性能-华为云

库,具有高性能、高可用、高安全、低成本的特点,企业核心数据上云信赖之选。关于GaussDB数据库知多少呢? GaussDB 数据库性能统计 在数据库运行过程中,会涉及到锁的访问、磁盘IO操作、无效消息的处理,这些操作都可能是数据库的性能瓶颈,通过GaussDB提供的性能统计方法,可以方便定位性能问题。

GaussDB性能_Gaussdb数据库性能_高斯数据库性能-华为云

GaussDB性能 GaussDB性能 云数据库GaussDB是华为自主创新研发的分布式关系型数据库。具备企业级复杂事务混合负载能力,同时支持分布式事务,同城跨AZ部署,数据0丢失,支持1000+节点的扩展能力,PB级海量存储。本文介绍GaussDB数据库产品性能。 云数据库Ga

TaurusDB读写分离_数据库代理_Proxy事务拆分

业务压力? 立即购买 帮助文档 TaurusDB读写分离 TaurusDB读写分离简介 TaurusDB读写分离是指通过一个读写分离的连接地址实现读写请求的自动转发。创建实例后,您可以开通读写分离功能,通过TaurusDB的读写分离连接地址,写请求自动访问主节点,读请求按照读权重

TaurusDB一致性级别_事务拆分_读写分离

TaurusDB一致性级别 云数据库TaurusDB是华为自研的最新一代企业级高扩展高性能分布式数据库,完全兼容MySQL。基于华为最新一代DFV存储,采用计算存储分离架构,128TB的海量存储,故障秒级切换,既拥有商业数据库的高可用和性能,又具备开源低成本效益。云数据库 TaurusDB提供了以下三种

应用性能管理优势_性能诊断_ 应用性能管理 APM-华为云

应用性能管理优势 应用性能管理优势 应用性能管理服务提供端到端的全链路APM服务,包含前端监控、应用性能监控、全面拥抱开源生态。帮助您在复杂的业务环境下快速 发现应用性能问题,降低MTTR(平均故障恢复时长),改善用户体验。 应用性能管理服务提供端到端的全链路APM服务,包含前端

GaussDB性能怎么调_GaussDB性能调优_高斯数据库性能怎么调-华为云

库应用有广泛而深刻的理解。 须知: 性能调优过程有时候需要重启集群,可能会中断当前业务。因此,业务上线后,当性能调优操作需要重启集群时,操作窗口时间需向管理部门提出申请,经批准后方可执行。 GaussDB性能调优流程如下: 阶段 描述 确定性能调优范围 获取集群各节点的CPU、内

JMeter测试工程原生性能压测_性能测试服务_性能压测-华为云

使用JMeter原生压测 性能测试 CodeArts PerfTest相关视频 性能测试 05:59 测试资源准备 性能测试 测试资源准备 性能测试 03:08 响应提取 性能测试 响应提取 性能测试 05:59 性能测试 测试资源准备 性能测试 03:08 性能测试 响应提取 性能测试 CodeArts

什么是性能测试_性能测试作用_性能测试 CodeArts PerfTest-华为云

质量。 立即使用 服务咨询 什么是性能测试 随着分布式架构和微服务技术的普及,应用的复杂程度越来越高,在架构解耦和性能提升的同时,也带来了生产环境性能问题定位难度高、修复周期长等挑战,因此,提前进行性能测试逐渐成为了应用上线前的必选环节。 性能测试(CodeArts PerfTe

CSS读写分离性能

场景描述

读写分离支持将写入主集群(Leader)的数据自动同步到从集群(Follower),实现主集群承担写入任务,从集群承担查询任务。读写分离可以将读写压力分开,提高查询的性能。当主集群无法提供服务时,可以通过主从切换使用从集群提供写入和查询服务,保证业务可以正常进行。

图1 读写分离特性的两种使用场景

场景一(图左):主集群写入,从集群查询,分离读写压力。

场景二(图右):主集群故障时,从集群升级,正常提供服务,避免业务中断。

约束限制

  • 仅Elasticsearch 7.6.2、Elasticsearch 7.10.2集群支持读写分离。
  • 主集群和从集群的版本必须保持一致,否则服务可能异常。

前提条件

已创建两个版本一致的集群,一个作为主集群,另一个作为从集群。从集群必须能访问主集群的REST接口(默认端口为9200)。

登录Kibana

登录Kibana进入命令执行页面。Elasticsearch集群支持多种客户端访问,本文仅以CSS服务集成的Kibana为例介绍配置指导。

  1. 登录云搜索服务管理控制台
  2. 在左侧导航栏,选择“集群管理 > Elasticsearch”
  3. 在集群列表,选择目标集群,单击操作列的“Kibana”,登录Kibana。
  4. 在Kibana左侧导航栏选择“Dev Tools”,进入操作页面。

连接主从集群

  1. 执行如下命令,在从集群配置主集群的信息。
    PUT /_cluster/settings
    {
      "persistent" : {
        "cluster" : {
          "remote.rest" : {
            "leader1" : {
              "seeds" : [
                "http://10.0.0.1:9200",
                "http://10.0.0.2:9200",
                "http://10.0.0.3:9200"
              ] ,
                "username": "elastic",
                "password": "*****"
            }
          }
        }
      }
    }
    表1 请求体参数说明

    参数名

    说明

    leader1

    主集群配置任务的名称,由用户自定义,在后续读写分离配置时会用到该名称。

    seeds

    主集群的访问地址。当集群开启HTTPS访问时,URL schema需要对应使用https。

    username

    主集群的用户名,仅主集群是安全集群时才需要配置。

    password

    主集群的密码,仅主集群是安全集群时才需要配置。

    返回示例:

    {
      "acknowledged" : true,  // 是否成功
      "persistent" : {
        "cluster" : {
          "remote" : {
            "rest" : {
              "leader1" : {
                "seeds" : [
                "http://10.0.0.1:9200",
                "http://10.0.0.2:9200",
                "http://10.0.0.3:9200"
                ] ,
                "username": "elastic", 
                 "password": "*****"
              }
            }
          }
        }
      },
      "transient" : { }
    }
  2. 配置完成后,在从集群执行如下命令确认从集群和主集群的连接状况。
    GET _remote/rest/info

    返回示例:

    {
      "leader1" : {
        "connected" : true  //表示连接正常
      }
    }

索引同步

索引同步有2种方式:指定索引同步和匹配索引同步。

开启索引同步后,从集群的索引会变为只读状态,并且定时与主集群索引同步。同步周期默认30秒,如果需要修改请参见修改同步周期

指定索引同步
  • 在从集群执行如下命令,将主集群的单个索引同步到从集群,不修改索引配置。
    PUT start_remote_sync
    {
      "remote_cluster": "leader1",
      "remote_index": "data1_leader",
      "local_index": "data1_follower"
    }
  • 在从集群执行如下命令,将主集群的单个索引同步到从集群,并修改部分索引配置,开启索引配置同步。
    PUT start_remote_sync
    {
      "remote_cluster": "leader1",
      "remote_index": "data1_leader",
      "local_index": "data1_follower",
      "settings": {
        "number_of_replicas": 4
      },
      "settings_sync_enable": true,
      "settings_sync_patterns": ["*"],
      "settings_sync_exclude_patterns": ["index.routing.allocation.*"],
      "alias_sync_enable": true,
      "state_sync_enable": true
    }

    以下索引配置不支持修改:“number_of_shards”“version.created”“uuid”“creation_date”“soft_deletes.enabled”

表2 请求体参数说明

参数名

说明

remote_cluster

主集群配置任务的名称,在连接主从集群时设置,例如本文设置的是“leader1”

remote_index

主集群待同步索引名称。

local_index

同步到从集群的索引名称。

settings

同步索引的索引设置。

settings_sync_enable

开启主集群索引设置同步,默认为“false”

settings_sync_patterns

要同步的主集群索引设置前缀,默认为“*”,当“settings_sync_enable”“true”时生效,“settings”中配置的索引设置不会同步。

settings_sync_exclude_patterns

不需要同步的主集群索引设置前缀,默认为空,“settings_sync_enable”“true”时生效。

alias_sync_enable

开启主集群索引别名同步,默认为“false”

state_sync_enable

开启主集群索引状态同步,默认为“false”

匹配索引同步
  • 在从集群执行如下命令,创建匹配模式同步索引,将主集群中匹配的索引同步到从集群。
    PUT auto_sync/pattern/${PATTERN}
    {
     "remote_cluster": "leader1",
     "remote_index_patterns": "log*",
     "local_index_pattern": "{{remote_index}}-sync",
     "apply_exist_index": true
    }
  • 在从集群执行如下命令,创建匹配模式同步索引,将主集群中匹配的索引同步到从集群,并修改部分索引配置,开启索引配置同步。
    PUT auto_sync/pattern/${PATTERN}
    {
     "remote_cluster": "leader1",
     "remote_index_patterns": "log*",
     "local_index_pattern": "{{remote_index}}-sync",
     "apply_exist_index": true,
     "settings": {
       "number_of_replicas": 4
     },
     "settings_sync_enable": true,
     "settings_sync_patterns": ["*"],
     "settings_sync_exclude_patterns": ["index.routing.allocation.*"],
     "alias_sync_enable": true,
     "state_sync_enable": true
    }

    以下索引配置不支持修改:“number_of_shards”“version.created”“uuid”“creation_date”“soft_deletes.enabled”

表3 请求体参数说明

参数名

说明

PATTERN

同步集群配置的pattern名字,用于区分多个不同的匹配模式。

remote_cluster

主集群配置任务的名称,通过连接主从集群设置,具体值如上文的“leader1”

remote_index_patterns

主集群待同步索引模式,支持通配符“*”

local_index_pattern

同步到从集群的索引模式,支持模板替换。例如取值为“{{remote_index}}-sync”时,待同步索引为“log1”,同步过来的索引为“log1-sync”

apply_exist_index

是否同步主集群上已存在的索引,默认为“true”

settings

同步索引的索引设置。

settings_sync_enable

开启主集群索引设置同步,默认为“false”

settings_sync_patterns

要同步的主集群索引设置前缀,默认为“*”,当“settings_sync_enable”“true”时生效,“settings”中配置的索引设置不会同步。

settings_sync_exclude_patterns

不需要同步的主集群索引设置前缀,默认为空,“settings_sync_enable”“true”时生效。

alias_sync_enable

开启主集群索引别名同步,默认为“false”

state_sync_enable

开启主集群索引状态同步,默认为“false”

停止索引同步

在从集群执行如下命令,终止索引名称对应的同步任务,后续主集群对该索引的修改不会被同步到从集群,并且从集群中该索引的只读状态解除,支持新数据的写入。

PUT log*/stop_remote_sync

“log*”表示索引名称,支持指定多个索引(多个索引之间用英文逗号分隔)和使用通配符,此例是停止以“log”开头的索引的同步任务。

查询并删除集群匹配模式

  1. 在从集群执行如下命令,查询已创建的匹配模式。
    • 列表查询
      GET auto_sync/pattern
    • 指定名称查询
      GET auto_sync/pattern/{PATTERN}

    接口返回示例如下:

    {
      "patterns" : [
        {
          "name" : "pattern1",
          "pattern" : {
            "remote_cluster" : "leader",
            "remote_index_patterns" : [
              "log*"
            ],
            "local_index_pattern" : "{{remote_index}}-sync",
            "settings" : { }
          }
        }
      ]
    }
  2. 在从集群执行如下命令,指定模式名称删除模式。
    DELETE auto_sync/pattern/{PATTERN}

开启强制同步

插件默认根据主集群索引的文档数是否发生变化来决定是否要同步元数据,当主集群只对文档进行更新且文档数不变时,插件不会同步该更新到从集群。支持修改配置,开启后,每个同步周期从集群都会强制同步主集群的索引元数据。

请求示例如下(开启强制同步):

PUT _cluster/settings
{
  "persistent": {
    "remote_sync.force_synchronize": true
  }
}

修改同步周期

主从集群的同步周期默认为30秒,支持修改。

请求示例如下(修改同步周期为2秒):

PUT {index_name}/_settings
{
  "index.remote_sync.sync_interval": "2s"
}

修改同步速率

通过集群级别的配置可以调节主从集群之间的同步速率。

请求示例如下(修改块大小为2MB,块数量为20,最大同步流量为100MB):

PUT _cluster/settings
{
  "persistent": {
    "remote_sync.chunk_size": "2MB",
    "remote_sync.max_concurrent_file_chunks": 20,
    "remote_sync.max_bytes_per_sec": "100MB"
  }
}
表4 请求体参数说明

参数名

说明

remote_sync.chunk_size

每次同步索引的块大小。

默认值:1MB

格式:字符串

remote_sync.max_concurrent_file_chunks

并发同步索引的块数量。

默认值:10

格式:数值

remote_sync.max_bytes_per_sec

每秒最大的同步流量。

默认值:40MB

格式:字符串

查询同步状态

  • 获取指定索引的自动同步状态

    请求示例如下:

    GET {index_name}/sync_stats

    接口返回示例如下:

    {
      "indices" : {
        "data1_follower" : {
          "shards" : {
            "0" : [
              {
                "primary" : false,
                "total_synced_times" : 27,
                "total_empty_times" : 25,
                "total_synced_files" : 4,
                "total_synced_bytes" : 3580,
                "total_paused_nanos" : 0,
                "total_paused_times" : 0,
                "current" : {
                  "files_count" : 0,
                  "finished_files_count" : 0,
                  "bytes" : 0,
                  "finished_bytes" : 0
                }
              },
              {
                "primary" : true,
                "total_synced_times" : 28,
                "total_empty_times" : 26,
                "total_synced_files" : 20,
                "total_synced_bytes" : 17547,
                "total_paused_nanos" : 0,
                "total_paused_times" : 0,
                "current" : {
                  "files_count" : 0,
                  "finished_files_count" : 0,
                  "bytes" : 0,
                  "finished_bytes" : 0
                }
              }
            ]
          }
        }
      }
    }

主从切换

当主集群出现故障时,支持通过主从切换保证业务正常进行。

  1. 判断主从集群的索引同步方式。查询从集群是否有索引同步的匹配模式,命令参考查询并删除集群匹配模式
    • 如果没有匹配模式,则表示主从集群是指定索引同步关系,则执行3
    • 如果有匹配模式,则表示主从集群是模式匹配索引同步关系,则执行2
  2. 删除从集群的索引同步的匹配模式,命令参考查询并删除集群匹配模式
  3. 从集群停止索引同步,将读写流量切换到从集群。如果主从集群是匹配索引同步关系,停止索引同步命令使用通配符匹配索引。
  4. 当主集群恢复后,在主集群配置从集群信息,再次连接主从集群,命令参考连接主从集群
  5. 在主集群,通过索引同步将从集群数据向主集群同步,完成主从切换。

CSS读写分离性能常见问题

更多常见问题 >>
  • CSS是什么_云搜索服务_CSS功能

  • 云搜索服务(Cloud Search Service,简称CSS)是一个基于Elasticsearch且完全托管的在线分布式搜索服务,为用户提供结构化、非结构化文本、以及基于AI向量的多条件检索、统计、报表。

  • DDM能实现即插即用、应用透明、高可用的读写分离。

  • GaussDB是华为自主创新研发的分布式关系型数据库。具备企业级复杂事务混合负载能力,同时支持分布式事务,同城跨AZ部署,数据0丢失,支持1000+节点的扩展能力,PB级海量存储。

  • cssnano 将你的 CSS 文件做多方面的的优化,以确保最终生成的文件对生产环境来说体积是最小的。cssnano 是基于PostCSS 构建的。

  • SFS的常见问题解答。