DRDS只读实例的性能测试------基础总结篇

关于MySQLslap压测工具----MySQL自带的也测工具

官方文档解释:

http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html

mysqlslap — Load Emulation Client

mysqlslap is a diagnostic program designed to emulate client load for a MySQL server and to report the timing of each stage. It works as if multiple clients are accessing the server.

Invoke mysqlslap like this:

shell> mysqlslap [options]

Some options such as --create or --query enable you to specify a string containing an SQL statement or a file containing statements. If you specify a file, by default it must contain one statement per line. (That is, the implicit statement delimiter is the newline character.) Use the --delimiter option to specify a different delimiter, which enables you to specify statements that span multiple lines or place multiple statements on a single line. You cannot include comments in a file; mysqlslap does not understand them.

--concurrency    并发数量

--engines    要测试的引擎
--iterations    运行测试多少次。
--auto-generate-sql    用系统自己生成的SQL脚本来测试。
--auto-generate-sql-load-type    要测试的是读还是写还是两者混合的(read,write,update,mixed)
--number-of-queries     总共要运行多少次查询
--debug-info 代表要额外输出CPU以及内存的相关信息。
--number-int-cols :  创建测试表的 int 型字段数量
--auto-generate-sql-add-autoincrement :     代表对生成的表自动添加auto_increment列,从5.1.18版本开始
--number-char-cols     创建测试表的 char 型字段数量。
--create-schema     测试的schema,MySQL中schema也就是database。
--query     使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。
--only-print    如果只想打印看看SQL语句是什么,可以用这个选项。

测试过程:

 

######################################################################################################

 

一.准备环境

 

 

1.1 环境如下:

 

######################################################################################################

 

RDS: 48G  
100G

主实例:drds_xncs_master      10.3.244.2  
物理机ip:10.3.162.244

 

只读实例:

         drds_xncs_readonly_1       
drds_xncs_master       10.3.224.68   物理机ip:10.3.162.156

 

         drds_xncs_readonly_2       
drds_xncs_master       10.3.225.153   物理机ip:10.3.162.206

 

         drds_xncs_readonly_3       
drds_xncs_master       10.3.224.74   物理机ip:10.3.162.216

 

         drds_xncs_readonly_4       
drds_xncs_master       10.3.224.3   物理机ip:10.3.162.200

 

         drds_xncs_readonly_5       
drds_xncs_master       10.3.231.6   物理机ip:10.3.162.239

 

 

 

DRDS: 64C 
128G

drds_xncs_bic_cs    10.3.244.137

 

 

ECS:16C 
64G

 

ecs_xncs_cs_1         10.3.244.148     
192.168.130.115

ecs_xncs_cs_2         10.3.244.149     
192.168.35.24

ecs_xncs_cs_3         10.3.244.150     
192.168.36.52

 

 

 

 

 

#########################################################################################################

 

1.2 创建测试表:

 

在DRDS建立非分库分表的测试表:

 

 

CREATE TABLE `bic_base_org` (

 
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '组织机构id',

 
`inst_id` bigint(20) DEFAULT NULL COMMENT 'ERP机构表唯一标识,根据INST_ID来识别是否新增或更新机构信息',

 
`code` varchar(20) DEFAULT NULL COMMENT '机构唯一标识代码,需符合编码规则',

 
`name_cn` varchar(200) DEFAULT NULL COMMENT '中文名称',

 
`aic_register_name` varchar(200) DEFAULT NULL COMMENT '机构的工商注册名称',

 
`postcode` varchar(20) DEFAULT NULL COMMENT '类型允许为空值,开发、测试、uat都要更改',

 
`administrative_division` varchar(20) DEFAULT NULL COMMENT '机构的国家标准行政区域代码,6位编码',

 
`province_code` varchar(20) DEFAULT NULL COMMENT '省行政区划编码',

 
`city_code` varchar(50) DEFAULT NULL COMMENT '地市行政区划编码',

 
`status` varchar(20) NOT NULL COMMENT '标示组织机构的生效/失效状态',

 
`business_unit` varchar(20) NOT NULL COMMENT '标示该机构归属:邮政,速递',

 
`org_level` varchar(20) NOT NULL COMMENT '标示机构所属层级:集团、板块总部、省分公司、地市(州)分公司、区县(旗)分公司、支局(所、网点)',

  `org_category`
varchar(20) DEFAULT NULL COMMENT '标示机构所属分类:营业、大宗收寄、网运、投递、集邮、分销、报刊、代理速递',

 
`manage_level` varchar(20) DEFAULT NULL COMMENT '标示机构机构管控级别:一体化专业、一体化现业、非一体化',

 
`parent_org_code` varchar(20) DEFAULT NULL COMMENT '上级机构的机构代码,需符合编码规则',

 
`erp_parent_org_code` varchar(20) DEFAULT NULL COMMENT 'erp上级行政机构代码',

 
`distribution_org_flag` varchar(20) DEFAULT NULL COMMENT '一级中心局/二级中心局/三级中心局/市邮件处理中心/县邮件处理中心/不适用。速递无需此字段;邮务需此字段。',

 
`legal_entity_flag` char(1) DEFAULT NULL COMMENT '机构是否为法人单位',

 
`address` varchar(200) DEFAULT NULL COMMENT '机构地址',

 
`approve_create_date` datetime DEFAULT NULL COMMENT '机构批准成立日期',

 
`source_org_create_date` datetime DEFAULT NULL COMMENT '源系统机构创建日期',

 
`major` varchar(20) DEFAULT NULL COMMENT '组织机构所处专业',

 
`org_phase` varchar(20) DEFAULT NULL COMMENT '组织机构所处环节',

 
`main_category` varchar(20) DEFAULT NULL COMMENT '管理机构:总部、省公司、总部直管单位、省管单位、地市公司、地市管单位;生产机构:速递物流揽投机构、邮件处理机构、客户服务机构、电商与物流生产机构、运输类机构、挂靠类机构;其他邮务无需此字段',

 
`detail_category` varchar(20) DEFAULT NULL COMMENT 'A:管理机构:                                                 1.总部:总部下级                                   2.省公司:省公司  \n3.总部直管单位:总部直管区域分公司,总部直管子公司,总部直管控股公司,总部直管海外公司、总部直管全国性邮件处理中心                             
\n4.地市公司:地市公司                   \n5.省管单位:省直属专业分公司、省直属邮件处理中心、省直属营业部、省管区域分公司、省管地市区域一体化公司、省直管计划单列县、省管长期投资股权公司、其他省管机构                        6.地市管单位:地市直属专业分公司、地市直属邮件处理中心、地市管区域分公司、地市管县营业部、地市管长期投资股权公司,其他地市直属机构,其他地市管机构,其他地市直属管理中心            B:生产机构:在生产机构大类基础上细化的分类。\n1.速递物流揽投:A、B、C、D\n2.邮件处理:1级、2级、3级\n3.客服服务:区域客户服务中心\n4.电商与物流生产:电商与物流业务项目组、供应链管理中心\n5.运输:运输公司、运输队\n6.挂靠:大客户营销中心,调度室,客户服务中心(本地性),财务共享中心,网运支撑中心\n邮务无需此字段',

 
`business_function` varchar(50) DEFAULT NULL COMMENT '类型允许为空值,开发、测试、uat都要更改',

 
`core` varchar(20) DEFAULT NULL COMMENT '1城市核心,2城市非核心,3辖县核心,4辖县非核心\n邮务无需此字段',

 
`corporation_flag` char(1) DEFAULT NULL COMMENT '值为是或否',

 
`department_flag` char(1) DEFAULT NULL COMMENT '值为是或否',

 
`company_code` varchar(20) DEFAULT NULL COMMENT '是否部门项为是的才有所属公司',

 
`company_name` varchar(200) DEFAULT NULL COMMENT '财务-所属公司名称',

 
`common_service` char(1) DEFAULT NULL COMMENT '机构是否适用于普遍服务',

 
`branch_emp_relationship` varchar(20) DEFAULT NULL COMMENT '代办/自办/不适用。邮务需此字段;速递无需此字段。',

 
`branch_urban_type` varchar(20) DEFAULT NULL COMMENT '城市/农村/不适用。速递无需此字段;邮务需此字段。',

 
`branch_func_type` varchar(20) DEFAULT NULL COMMENT '纯邮政/综合/纯金融/不适用。速递无需此字段;邮务需此字段',

 
`branch_invest_type` varchar(20) DEFAULT NULL COMMENT '营业/营投合一/投递/不适用。速递无需此字段;邮务需此字段。',

 
`erp_branch_invest_type` varchar(20) DEFAULT NULL COMMENT 'ERPERP网点营投类型, 开发、测试、UAT、生产都要添加',

 
`create_date` datetime DEFAULT NULL COMMENT 'ERP系统记录的创建时间',

 
`modify_date` datetime DEFAULT NULL COMMENT 'ERP系统记录的最后更新时间',

 
`create_user_id` bigint(20) DEFAULT NULL COMMENT '创建人id',

 
`gmt_created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

 
`modify_user_id` bigint(20) DEFAULT NULL COMMENT '修改人id',

 
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP COMMENT '修改时间',

 
`is_deleted` char(1) DEFAULT '0' COMMENT '是否删除:\n0:否\n1:是',

 
PRIMARY KEY (`id`),

  KEY
`idx_parent_org_code` (`parent_org_code`),

  KEY
`idx_code` (`code`),

  KEY
`idx_name_cn` (`name_cn`),

  KEY
`idx_business_unit` (`business_unit`)

) ENGINE=InnoDB AUTO_INCREMENT=191001
DEFAULT CHARSET=utf8 COMMENT='组织机构基础信息(ERP)';

 

 

1.3 导入测试数据(从生产全部导出并导入)

 

mysql -udrds_xncs_bic_cs -p -h10.3.244.137 -P3306 drds_xncs_bic_cs <
rds_jdsc_bic_bic_base_org_insert.sql

 

1.4 查看表大小

 

mysql> select count(*) from
bic_base_org;

+----------+

| count(*) |

+----------+

|  
191087 |

+----------+

1 row in set (0.03 sec)

 

1.5 查看数据

 

mysql> select
id,inst_id,code,name_cn,aic_register_name,postcode,administrative_division,province_code,city_code,status,business_unit,org_level,org_category,manage_level,parent_org_code,erp_parent_org_code   from bic_base_org where id=170000;

+--------+---------+----------+--------------------------------------------------------------------+-------------------+----------+-------------------------+---------------+-----------+--------+---------------+-----------+--------------+--------------+-----------------+---------------------+

| id    
| inst_id | code     |
name_cn                                                           
| aic_register_name | postcode | administrative_division | province_code
| city_code | status | business_unit | org_level | org_category | manage_level
| parent_org_code | erp_parent_org_code |

+--------+---------+----------+--------------------------------------------------------------------+-------------------+----------+-------------------------+---------------+-----------+--------+---------------+-----------+--------------+--------------+-----------------+---------------------+

| 170000 | 
245313 | 54310302 | 中国邮政储蓄银行股份有限公司苍梧县新地营业所                       |
NULL              | 543103   | 450421                  | 45            | 4504      | 0     
| A             | 06        | NULL         | NULL         | 54316100        | 54316100            |

+--------+---------+----------+--------------------------------------------------------------------+-------------------+----------+-------------------------+---------------+-----------+--------+---------------+-----------+--------------+--------------+-----------------+---------------------+

1 row in set (0.01 sec)

 

 

1.6 执行计划

 

mysql> explain select
id,inst_id,code,name_cn,aic_register_name,postcode,administrative_division,province_code,city_code,status,business_unit,org_level,org_category,manage_level,parent_org_code,erp_parent_org_code   from bic_base_org where id=170000;

+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+

| GROUP_NAME                                                       |
SQL                                                                                                                                                                                                             
                          | PARAMS
|

+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+

|
DRDS_XNCS_BIC_CS_1513840820139DMOXDRDS_XNCS_BIC_CS_CJWT_0000_RDS | select
id,inst_id,code,name_cn,aic_register_name,postcode,administrative_division,province_code,city_code,status,business_unit,org_level,org_category,manage_level,parent_org_code,erp_parent_org_code   from bic_base_org where id=170000 | {}     |

+------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+

1 row in set (0.00 sec)

 

mysql> explain execute  select
id,inst_id,code,name_cn,aic_register_name,postcode,administrative_division,province_code,city_code,status,business_unit,org_level,org_category,manage_level,parent_org_code,erp_parent_org_code   from bic_base_org where id=170000;

+----+-------------+--------------+-------+---------------+---------+---------+-------+------+-------+

| id | select_type | table        | type 
| possible_keys | key     |
key_len | ref   | rows | Extra |

+----+-------------+--------------+-------+---------------+---------+---------+-------+------+-------+

|  1
| SIMPLE      | bic_base_org | const |
PRIMARY       | PRIMARY | 8       | const |    1 | NULL 
|

+----+-------------+--------------+-------+---------------+---------+---------+-------+------+-------+

1 row in set (0.01 sec)

 

 

可以看到
,在0号db上执行,并且执行计划是主键查询,最快的方式

 

 

############################################################################################################################################

 

二.测试语句

 

2.1 测试语句:

 

vi hebin_select.sql

 

select id,inst_id,code,name_cn,aic_register_name,postcode,administrative_division,province_code,city_code,status,business_unit,org_level,org_category,manage_level,parent_org_code,erp_parent_org_code   from bic_base_org where id=170000;

 

2.2 测试工具:

 

mysqlslap

 

#############################################################################################################################################

 

 

三.开始测试

 

 

3.1 DRDS上测试(把其中一个slave读设100% 测drds下
一个备库
) 100并发
总共跑 1千万条相同的主键查询:

 

mysqlslap 
--query=/home/hebin/hebin_select.sql --concurrency=100
--number-of-queries=10000000 
--iterations=1 --create-schema=drds_xncs_bic_cs --engine=innodb  -h10.3.244.137 -udrds_xncs_bic_cs -p

 

Benchmark

         Running
for engine innodb

         Average
number of seconds to run all queries: 235.556 seconds

         Minimum
number of seconds to run all queries: 235.556 seconds

         Maximum
number of seconds to run all queries: 235.556 seconds

         Number
of clients running queries: 100

         Average
number of queries per client: 100000

 

 

 

 

3.2 RDS上主库测试 100并发
总共跑 1千万条相同的主键查询:

 

mysqlslap 
--query=/home/hebin/hebin_select.sql --concurrency=100
--number-of-queries=10000000 
--iterations=1 --create-schema=drds_xncs_bic_cs_trou_0000
--engine=innodb  -h10.3.244.2
-udrds_xncs_master -p

 

Benchmark

         Running
for engine innodb

         Average
number of seconds to run all queries: 154.738 seconds

         Minimum
number of seconds to run all queries: 154.738 seconds

         Maximum
number of seconds to run all queries: 154.738 seconds

         Number
of clients running queries: 100

         Average
number of queries per client: 100000

 

qps=10000000/154.738=64625.3667489563

 

 

3.3 RDS上其中一个只读库测试 100并发
总共跑 1千万条相同的主键查询:

 

mysqlslap 
--query=/home/hebin/hebin_select.sql --concurrency=100
--number-of-queries=10000000 
--iterations=1 --create-schema=drds_xncs_bic_cs_trou_0000
--engine=innodb  -h10.3.225.153
-udrds_xncs_master -p

 

Benchmark

         Running
for engine innodb

         Average
number of seconds to run all queries: 150.370 seconds

         Minimum
number of seconds to run all queries: 150.370 seconds

         Maximum
number of seconds to run all queries: 150.370 seconds

         Number
of clients running queries: 100

         Average
number of queries per client: 100000

 

qps=10000000/150.370=66502.62685376072

 

3.4 DRDS上测试(5个只读每个开20%) 100并发
总共跑 1千万条相同的主键查询:

 

mysqlslap 
--query=/home/hebin/hebin_select.sql --concurrency=100
--number-of-queries=10000000 
--iterations=1 --create-schema=drds_xncs_bic_cs --engine=innodb  -h10.3.244.137 -udrds_xncs_bic_cs -p

 

Benchmark

         Running
for engine innodb

         Average
number of seconds to run all queries: 216.412 seconds

         Minimum
number of seconds to run all queries: 216.412 seconds

         Maximum
number of seconds to run all queries: 216.412 seconds

         Number
of clients running queries: 100

         Average
number of queries per client: 100000

 

qps=10000000/216.412=46208.15851246696

 

3.5 DRDS上测试(5个只读每个开20%) 1000并发
总共跑 1亿条相同的主键查询:

 

mysqlslap 
--query=/home/hebin/hebin_select.sql --concurrency=1000
--number-of-queries=100000000 
--iterations=1 --create-schema=drds_xncs_bic_cs --engine=innodb  -h10.3.244.137 -udrds_xncs_bic_cs
-p

 

Benchmark

         Running
for engine innodb

         Average
number of seconds to run all queries: 1790.584 seconds

         Minimum
number of seconds to run all queries: 1790.584 seconds

         Maximum
number of seconds to run all queries: 1790.584 seconds

         Number
of clients running queries: 1000

         Average
number of queries per client: 100000

 

 

qps 大约
100000000/1790=55865.9217877095

 

 

 

*****以上数据考虑到单台ECS性能并发量的局限性,于是采用多台ECS并发测试,通过DRDS和RDS控制台观察数据***************************

3.6 DRDS上测试(5个只读每个开20%)
共10000并发,两个ECS执行分别5000 总共跑 20亿条相同的主键查询:

 

 

mysqlslap 
--query=/tmp/huayu.sql --concurrency=5000
--number-of-queries=1000000000 
--iterations=1 --create-schema=drds_xncs_bic_cs --engine=innodb  -h10.3.244.137 -udrds_xncs_bic_cs -p

 

物理RT:1.1ms左右

DRDS:QPS:大约125000左右

RDS上SQL的执行时间:100微秒左右

 

3.7 DRDS上测试(5个只读每个开20%)
共15000并发,三个ECS执行分别5000 总共跑 30亿条相同的主键查询:

 

 

DRDS:QPS:大约210000左右

RDS上SQL的执行时间:100微秒左右

物理RT:2.1ms左右

 

3.8 RDS上测试(5个只读每个开20%)
共1500并发,两个ECS执行分别1000,500 总共跑 20亿条相同的主键查询:

 

 

mysqlslap 
--query=/tmp/huayu.sql --concurrency=1000
--number-of-queries=1000000000 
--iterations=1 --create-schema=drds_xncs_bic_cs --engine=innodb  -h10.3.244.137 -udrds_xncs_bic_cs -p

连接数:75%(1500),RDS最大连接数为2000.

RDS:QPS:接近70000

CPU:接近100%

SQL的执行时间:几百-几万微妙

ECS的网络:已经接近瓶颈

 

 

3.9 RDS上测试(5个只读每个开20%)
共1900并发,三个个ECS执行分别1000,500,400 总共跑 30亿条相同的主键查询

连接数:1900.

RDS:QPS:接近70000

Cpu:接近100%

SQL的执行时间:几百-几万微妙

RDS的QPS已经到达极限

ECS的网络:接近瓶颈

################################################################################################################

 

四.测试总结:

 

单台ECS相对并发量较低的测试:

1.RDS 只读库和主库 性能基本相同

2.单独开一个只读的 DRDS 耗时比 单rds写库或者单rds只读库 相差较大 154/235 = 65% 大约损失35%的性能

3.开满5个只读的 DRDS 耗时比 单rds写库或者单rds只读库 相差较大 154/216 = 71% 大约损失29%的性能

4.单rds的qps是6w6左右,最高性能的drds提高并发后最多达到5w5左右 所以  17% 左右的性能损耗

 

多台ECS,高并发量,DRDS、RDS最大吞吐量测试:

5.DRDS开满5个只读实例,三台ECS到达15000的并发,DRDS的QPS可以达到210000左右

6.RDS主实例开5个只读实例,两台ECS接近75%(1500)的并发,RDS的QPS可以接近70000。再次提高并发数QPS已经没有提升。可见主实例RDS规格48G内存128G磁盘的最大QPS接近70000。

时间: 2024-09-30 20:15:33

DRDS只读实例的性能测试------基础总结篇的相关文章

RDS实例的性能测试报告----基础总结篇

1、  首先登录DT,云数据库,通过bic子系统定位到生产上RDS的主实例ID,复制主实例的id到杜康上具体查看RDS的性能问题 2、  杜康点击实例诊断,实例性能信息,筛选时间12-13 16:30-17:30 的性能信息 a)         磁盘空间.磁盘空间详情:这段时间的数据是一条直线,空间状态都很稳定,没有性能问题. MySQL RDS磁盘占用包括日志文件(binlog文件.错误日志等),数据文件(数据.索引文件),和一些其他文件(ibdata,logfile_0,临时文

《鸟哥的Linux 私房菜 基础学习篇(第三版)》——导读

前言 本书是最具知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>的最新版,全面而详细地介绍了Linux操作系统.全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机:第二部分介绍Linux的文件系统.文件.目录与磁盘的管理:第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法:第四部分介绍了对于系统安全非常重要的Linux账号的管理,以及主机系统与程序的管理,如查看进程.任务分配和作业管理

基础总结篇之一:Activity生命周期[转]

from:http://blog.csdn.net/liuhe688/article/details/6733407 基础总结篇之一:Activity生命周期 子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精髓. 近来回顾了一下关于Activity的生命周期,参看了相关书籍和官方文档,也有了不小的收获,对于以前的认知有了很大程度上的改善,在这里和大家分享一

Android基础总结篇之三:Activity的task相关介绍_Android

本篇文章主要介绍了android基础总结篇之三:Activity的task相关,具有一定的参考价值,有需要的可以了解一下. 今天我们来讲一下Activity的task相关内容. 上次我们讲到Activity的四种启动模式的时候,已经了解到一些关于task的技术,今天我再向大家介绍一下.task是一个具有栈结构的容器,可以放置多个Activity实例.启动一个应用,系统就会为之创建一个task,来放置根Activity:默认情况下,一个Activity启动另一个Activity时,两个Activi

RDS推出只读实例

简要介绍 在对数据库有少量写请求,但有大量的读请求的应用场景下,单个实例可能无法抵抗读取压力, 甚至对主流程业务产生影响.为了实现读取能力的弹性扩展,分担数据库压力,阿里云RDS支持在某个地域中创建一个或多个只读实例,利用多个只读实例满足大量的数据库读取工作负载,以此增加应用的吞吐量.   基础架构 只读实例采用 MySQL 的原生复制功能,将源数据库实例(以下简称主实例)的更改同步到所有相关的只读节点.只读节点采用单个物理节点的架构,只读节点down机后,阿里云承诺将在24小时内恢复.    

C++面试题(一)——基础概念篇

C++面试题--基础概念篇 http://blog.csdn.net/worldwindjp/ 面试C++程序员的时候一般都是3板斧,先是基础问答,然后一顿虚函数.虚函数表.纯虚函数.抽象类.虚函数和析构函数.虚函数和构造函数.接着拷贝构造函数.操作符重载.下面是STL,最后是智能指针.        都能挺过去那基本知识这关应该算是过了,下面就是项目背景和算法了.      1,C++和C相比最大的特点                    1)面向对象:封装,继承,多态.          

Android基础总结篇之三:Activity的task相关介绍

本篇文章主要介绍了android基础总结篇之三:Activity的task相关,具有一定的参考价值,有需要的可以了解一下. 今天我们来讲一下Activity的task相关内容. 上次我们讲到Activity的四种启动模式的时候,已经了解到一些关于task的技术,今天我再向大家介绍一下.task是一个具有栈结构的容器,可以放置多个Activity实例.启动一个应用,系统就会为之创建一个task,来放置根Activity:默认情况下,一个Activity启动另一个Activity时,两个Activi

关于RDS只读实例延迟分析

只读实例是目前RDS用户实现数据读写分离的一种常见架构,用户只需要将业务中的读请求分担到只读节点上,就可以缓解主库查询压力,同时也可以把一些OLAP的分析查询放到另外的只读节点上,减小复杂统计查询对主库的冲击,RDS只读节点架构图如下: 由于RDS只读节点采用原生的MySQL Binlog复制技术,那么延迟必然会成为他成立之初就会存在的问题.延迟会导致只读节点与主库的数据出现不一致,进而可能造成业务上逻辑的混乱或者数据不正确:另外只读实例延迟同样也会触发binlog堆积,导致只读实例的空间迅速消

求c++编程的实例书籍名字 ( 是以实例为主的基础讲解)

问题描述 求c++编程的实例书籍名字 ( 是以实例为主的基础讲解) 不是普通的那种C++的教程,我想的是一本全是编程实例的C++的书,按各个章节分类,每一章下面全是C++的实例代码,就是属于实例教程书那种吧,但注意各个章节的内容代码千万不要串了,别还没学到的代码内容在前面的章节出现了,同时也要求那个代码难度不要太大,正常的就好,我是本科生初学者,有一定的C基础. 解决方案 明日科技"VC++开发范例宝典" 解决方案二: 需要的话采纳了给你电子版 解决方案三: 这个看国外的比较好,有译本