- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 内核介绍
- 用户指南
- 最佳实践
- 性能白皮书
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
API(推荐)
- 查询数据库引擎的版本
- 查询数据库规格
-
实例管理
- 创建数据库实例
- 重启数据库实例
- 删除/退订数据库实例
- 创建只读节点
- 删除/退订只读节点
- 包年/包月实例存储扩容
- 修改实例名称
- 重置数据库密码
- 变更实例规格
- 查询专属资源池列表
- 查询专属资源信息详情
- 设置实例秒级监控
- 查询实例秒级监控
- 节点重启
- 内核版本升级
- 开关SSL
- 绑定弹性公网IP
- 解绑弹性公网IP
- 手动主备倒换
- 设置可维护时间段
- 修改安全组
- 修改内网地址
- 修改实例端口
- 修改实例备注
- 申请内网域名
- 修改内网域名
- 查询内核版本信息
- 设置自动变配
- 查询自动变配
- 资源预校验
- 查询实例列表
- 查询实例详情信息
- 批量查询实例详情
- 设置回收站策略
- 查询回收站策略
- 查询回收站实例信息
- 批量修改节点名称
- 查询自动变配历史记录
- 设置Serverless配置策略
- 修改节点故障倒换优先级
- 查询弹性公网IP
- 备份管理
- 参数模板管理
- 配额管理
- 数据库代理
- 日志管理
- 标签管理
- 数据库用户管理
- 数据库管理
- 流量管理
- 任务中心
- 智能诊断
-
HTAP-标准版
- 恢复StarRocks数据同步
- 暂停StarRocks数据同步
- HTAP数据同步表配置校验
- 创建StarRocks实例
- 查询StarRocks实例
- 删除StarRocks实例
- 重启StarRocks实例
- 重启StarRocks节点
- StarRocks资源检查
- HTAP引擎资源查询
- 获取HTAP实例存储类型
- HTAP查询规格信息
- 查询HTAP实例列表
- 创建StarRocks数据同步
- 删除StarRocks数据同步
- 查询StarRocks数据同步状态信息
- HTAP数据同步库配置校验
- 查询StarRocks数据同步配置信息
- 查询StarRocks数据同步的库参数配置
- 查询StarRocks数据库
- 查询数据库账号
- 创建数据库账号
- 删除数据库账户
- 修改数据库账号密码
- 修改数据库账号权限
- StarRocks实例规格变更
- 查询参数
- 修改参数
- StarRocks实例开启行列分流
- 参数对比
- StarRocks内核版本升级
- 多租特性
- API(即将下线)
- 权限策略和授权项
- 附录
- SDK参考
- 常见问题
-
故障排除
- 备份恢复
- 连接类
-
SQL类
- 建表时timestamp字段默认值无效
- 索引长度限制导致修改varchar长度失败
- delete大表数据后,再查询同一张表时出现慢SQL
- 更新emoji表情数据报错Error 1366
- 存储过程和相关表字符集不一致导致执行缓慢
- 报错ERROR [1412]的解决方法
- 存在外键的表无法删除
- GROUP_CONCAT结果不符合预期
- 创建二级索引报错Too many keys specified
- distinct与group by优化
- 为什么有时候用浮点数做等值比较查不到数据
- 开通数据库代理后,还是有大量select请求分发到主节点
- 表空间膨胀问题
- MySQL创建用户提示服务器错误(ERROR 1396)
- 执行alter table xxx discard/import tablespace报错
- 数据库报错Native error 1461的解决方案
- 创建表失败报错Row size too large的解决方案
- Order by limit分页出现数据重复问题
- 执行select * from sys.innodb_lock_waits报错
- 参数类
- 性能资源类
-
基本使用类
- 查看TaurusDB的存储容量
- 修改库名和修改表名
- 字符集和字符序的默认选择方式
- 自增字段值跳变的原因
- 表的自增AUTO_INCREMENT初值与步长
- 修改表的自增AUTO_INCREMENT值
- 自增主键达到上限,无法插入数据
- 自增字段取值
- 自增属性AUTO_INCREMENT为何未在表结构中显示
- 空用户的危害
- 慢日志显示SQL语句扫描行数为0
- 错误日志页面显示handle_sync_msg_from_slave my_net_read error:-1
- 执行SQL语句报错:ERROR 1290 (HY000): The MySQL server is running with the --sql-replica-on option so it cannot execute this statement的原因及解决方案
- 通用参考
链接复制成功!
测试方法
云数据库 TaurusDB是最新一代企业级高扩展海量存储云原生数据库,完全兼容MySQL。采用计算存储分离架构,128TB的海量存储,数据0丢失,既拥有商业数据库的高可用和性能,又具备开源低成本效益。
测试环境
TaurusDB测试环境如下:
- 区域:“亚太-新加坡”。
- 可用分区:多可用区。
- 测试用云数据库 TaurusDB实例为一主一只读集群。
- 弹性云服务器(Elastic Cloud Server,简称ECS):ECS与数据库节点在同一个可用区,规格建议选择通用计算增强型 | c7.8xlarge.4 | 32vCPUs | 128GB,操作系统镜像使用CentOS 7.6 64bit位版本。由于压测工具需要安装额外的编译工具,建议ECS绑定弹性IP。
测试工具
工具名称 |
描述及下载方式 |
版本号 |
---|---|---|
Sysbench |
Sysbench是一款基于LuaJIT的,模块化多线程基准测试工具,常用于数据库基准测试。通过内置的数据库测试模型,采用多线程并发操作来评估数据库的性能,请单击此处了解Sysbench更多详情。 |
Sysbench版本1.0.18 |
具体的安装命令如下:
登录ecs,执行以下命令,下载sysbench安装包。
wget https://codeload.github.com/akopytov/sysbench/zip/refs/tags/1.0.18
yum install -y autoconf libtool mysql mysql-devel vim unzip
请执行以下命令,解压安装包。
unzip 1.0.18
请执行以下命令,执行安装命令。
cd sysbench-1.0.18
./autogen.sh
./configure
make
make install
测试步骤
以下测试均在ECS上执行,请根据实际信息,替换线程并发数、连接IP、连接端口、用户名称与用户密码。
性能测试数据(包含SQL语句)都由sysbench工具自动生成。
压测机ECS与实例在同一可用区。
为了使sysbench 在大并发场景(512, 1000)正常运行,需要将参数 max_prepared_stmt_count 调大,建议改为 1048576(过多的prepare语句会占用大量内存空间进而导致OOM,4U16G规格该值建议设置为400000)。
只写性能测试:
- 导入数据。
- 执行以下命令,创建测试数据库“sbtest”。
mysql -u<user>-P <port> -h <host> -p -e "create database sbtest"
- 执行以下命令,将测试背景数据导入至“sbtest”数据库。
sysbench --db-driver=mysql --mysql-host=<host> --mysql-port=<port> --mysql-user=<user> --mysql-password=<password> --mysql-db=sbtest --table_size=25000 --tables=250 --threads=<thread_num> oltp_common prepare
- 执行以下命令,创建测试数据库“sbtest”。
- 执行以下命令,测试性能。测试过程将持续10分钟。
sysbench --db-driver=mysql --mysql-host=<host> --mysql-port=<port> --mysql-user=<user> --mysql-password=<password> --mysql-db=sbtest --table_size=25000 --tables=250 --time=600 --threads=<thread_num> --percentile=95 --report-interval=1 oltp_write_only run
- 执行以下命令,清理数据。
sysbench --db-driver=mysql --mysql-host=<host> --mysql-port=<port> --mysql-user=<user> --mysql-password=<password> --mysql-db=sbtest --table_size=25000 --tables=250 --threads=<thread_num> oltp_common cleanup
只读性能测试:
- 导入数据。
- 执行以下命令,创建测试数据库“sbtest”。
mysql -u<user> -P<port> -h<host> -p -e "create database sbtest"
- 执行以下命令,将测试背景数据导入至“sbtest”数据库。
sysbench --db-driver=mysql --mysql-host=<host> --mysql-port=<port> --mysql-user=<user> --mysql-password=<password> --mysql-db=sbtest --table_size=25000 --tables=250 --threads=<thread_num> oltp_common prepare
- 执行以下命令,创建测试数据库“sbtest”。
- 执行以下命令,测试纯读性能,测试过程将持续10分钟。
sysbench --db-driver=mysql --mysql-host=<host> --mysql-port=<port> --mysql-user=<user> --mysql-password=<password> --mysql-db=sbtest --table_size=25000 --tables=250 --time=600 --range_selects=0 --skip-trx=1 --threads=<thread_num> --percentile=95 --report-interval=1 oltp_read_only run
- 执行以下命令,清理数据。
sysbench --db-driver=mysql --mysql-host=<host> --mysql-port=<port> --mysql-user=<user> --mysql-password=<password> --mysql-db=sbtest --table_size=25000 --tables=250 --threads=<thread_num> oltp_common cleanup
读写混合性能测试:
- 导入数据。
- 执行以下命令,创建测试数据库“sbtest”。
mysql -u<user> -P<port> -h <host> -p -e "create database sbtest"
- 执行以下命令,将测试背景数据导入至“sbtest”数据库。
sysbench --db-driver=mysql --mysql-host=<host> --mysql-port=<port> --mysql-user=<user> --mysql-password=<password> --mysql-db=sbtest --table_size=250000 --tables=25 --threads=<thread_num> oltp_common prepare
- 执行以下命令,创建测试数据库“sbtest”。
- 执行以下命令,测试读写混合性能,测试过程将持续10分钟。
sysbench --db-driver=mysql --mysql-host=<host> --mysql-port=<port> --mysql-user=<user> --mysql-password=<password> --mysql-db=sbtest --table_size=250000 --tables=25 --time=600 --threads=<thread_num> --percentile=95 --report-interval=1 oltp_read_write run
- 执行以下命令,清理数据。
sysbench --db-driver=mysql --mysql-host=<host> --mysql-port=<port> --mysql-user=<user> --mysql-password=<password> --mysql-db=sbtest --table_size=250000 --tables=25 --threads=<thread_num> oltp_common cleanup
测试指标
- TPS:Transaction Per Second,数据库每秒执行的事务数。
- QPS:Query Per Second,数据库每秒执行的SQL语句数,包含insert、select、update、delete等。