备份窗口与 SQL 指纹

共 54 题
#

1. 备份对生产的影响,I/O、CPU、网络?

A 备份消耗 I/O、CPU、网络资源,靠低峰窗口、限速、从库备份与压缩缓解 ✓ 正确答案
B 备份对生产毫无影响
C 备份只消耗 CPU,不消耗 I/O
D 备份在任何时候执行都不影响业务
#

2. 备份窗口(Backup Window)的估算,业务低峰期?

A 备份窗口选业务低峰期,按数据量与备份速度估算时长并留余量,减少对业务影响 ✓ 正确答案
B 备份窗口应选业务高峰
C 备份窗口无需估算,随意执行
D 备份窗口与业务影响无关
#

3. 备份限速(Throttling)的实现,--max-rate、ionice、cgroups?

A 备份限速会降低备份完整性
B --max-rate 控制速率,ionice 控制 I/O 优先级,cgroups 控制资源配额,组合降低业务影响 ✓ 正确答案
C 限速与业务影响无关
D 限速只能靠硬件,无法软件控制
#

4. 备份与复制(Replication)的协同?

A 复制可以替代备份
B 复制保证高可用,备份保证可恢复,用从库备份降低主库负载,二者互补 ✓ 正确答案
C 备份与复制互斥,不能同时使用
D 备份只能从主库做
#

5. 备份限速的实现(在备份恢复与 PITR 范畴内)?

A 限速与资源保护无关
B 恢复限速不影响 RTO
C 备份限速只在备份时用,恢复时无需
D 备份/恢复限速用工具层与系统层控制资源消耗,但恢复限速会延长 RTO 需权衡 ✓ 正确答案
#

6. 恢复介质(Recovery Media)的准备,应急启动盘、备份挂载?

A 准备应急启动盘与备份挂载,确保恢复时能引导环境并读取备份,且定期验证可读 ✓ 正确答案
B 恢复介质无需准备,恢复时临时找
C 备份介质无需验证可读
D 恢复介质与恢复能力无关
#

7. 恢复剧本(Recovery Runbook)的编写,步骤、命令、责任人?

A 恢复剧本只需写大致步骤,无需命令
B 恢复剧本含场景、步骤、具体命令、责任人、通知升级与验证回滚,且需演练验证 ✓ 正确答案
C 恢复剧本无需责任人与验证
D 恢复剧本写好即可,无需更新
#

8. MySQL performance_schema.events_statements_summary_by_digest?

A 该表按 SQL 指纹聚合执行次数、耗时、扫描行数等统计,用于识别热点与慢 SQL ✓ 正确答案
B 该表只记录单条 SQL,无法聚合
C 该表与慢查询分析无关
D 该表只能看执行次数,无法看耗时
#

9. 慢查询日志(slow_query_log)的应用与配置?

A 慢查询日志无需配置阈值
B 慢查询日志只记录成功的 SQL
C 慢查询日志记录超过阈值的 SQL,配合 EXPLAIN 与聚合工具做慢查询治理 ✓ 正确答案
D 慢查询日志对性能无任何开销
#

10. 活跃连接的监控,pg_stat_activity、INFORMATION_SCHEMA.PROCESSLIST?

A 活跃连接无法监控,只能靠日志
B pg_stat_activity 与 PROCESSLIST 展示连接状态与当前 SQL,用于定位慢查询、长事务与阻塞 ✓ 正确答案
C PROCESSLIST 只显示连接数量,不显示 SQL
D pg_stat_activity 无法显示等待事件
#

11. pg_locks 的应用(监控慢查询与容量专项)?

A pg_locks 只显示锁数量,无法定位持锁者
B pg_locks 显示锁与等待关系,配合 pg_stat_activity 定位阻塞与锁竞争,用于排障与容量分析 ✓ 正确答案
C pg_locks 与慢查询无关
D pg_locks 无法发现死锁
#

12. Buffer Pool 的命中率监控,pg_stat_get_db_buffer_hit_ratio、Innodb_buffer_pool_read_requests?

A 命中率低说明缓存过大
B 命中率与缓存容量无关
C 命中率只能靠重启统计
D 命中率反映缓存命中比例,PG 用 blks_hit/blks_read,InnoDB 用 read_requests/reads,低则提示缓存不足或查询低效 ✓ 正确答案
#

13. 缓存容量(shared_buffers、innodb_buffer_pool_size)的调优?

A shared_buffers 与 buffer pool 调优规则完全相同
B 缓存越大越好,无需考虑内存
C 缓存容量目标让热点数据驻留内存,InnoDB buffer pool 通常 50%-75% 内存,shared_buffers 10%-25%,结合命中率调优 ✓ 正确答案
D 缓存容量与命中率无关
#

14. PostgreSQL 排障的 pg_stat、pg_locks、pg_stat_statements 综合使用?

A pg_stat_activity 看现状、pg_locks 看锁阻塞、pg_stat_statements 看历史热点,综合定位根因 ✓ 正确答案
B 只需 pg_stat_activity 即可排障
C pg_locks 无法定位阻塞
D pg_stat_statements 需单独部署,无法与排障配合
#

15. Runbook 的编写,故障分类、排查步骤、恢复命令?

A Runbook 写好即可,无需演练
B Runbook 只需写故障现象,无需步骤
C Runbook 无需恢复命令
D Runbook 含故障分类、排查步骤、恢复命令与升级预案,需演练验证、定期更新 ✓ 正确答案
#

16. MySQL 排障的 performance_schema、sys schema、slow_log 综合使用?

A slow_log 只能用于备份
B sys schema 与 performance_schema 无关
C slow_log 找慢 SQL、performance_schema 看统计与等待、sys schema 提供易读视图,三者结合排障 ✓ 正确答案
D 排障只能靠 slow_log,其他无用
#

17. 慢查询的优化,索引改写、SQL 改写、参数调优?

A SQL 改写与索引优化无关
B 慢查询只能靠加索引一种手段
C 优化按索引、SQL 改写、参数调优层次进行,先 EXPLAIN 定位根因再针对性优化 ✓ 正确答案
D 参数调优是慢查询优化的首要手段
#

18. 慢查询的分析,EXPLAIN 执行计划解读、统计信息检查?

A 用 EXPLAIN 解读执行计划(访问类型、索引、扫描行数),并检查统计信息是否过期导致计划偏差 ✓ 正确答案
B 慢查询分析只需看 SQL 文本,无需 EXPLAIN
C 统计信息与执行计划无关
D EXPLAIN 无法看出全表扫描
#

19. 慢查询(Slow Query)的发现,slow_query_log、pg_stat_statements、performance_schema?

A slow_log 看单次慢 SQL,pg_stat_statements/performance_schema 按指纹聚合发现累计慢的热点 SQL ✓ 正确答案
B 慢查询只能靠 slow_log 一种方式
C pg_stat_statements 只能统计单条 SQL,无法聚合
D 聚合统计无法发现累计耗时高的 SQL
#

20. EXPLAIN ANALYZE 如何读取每个节点的实际行数(actual rows)、循环次数(loops)与耗时?估算行数与实际行数差异巨大说明什么问题?

A EXPLAIN ANALYZE 只输出估算,不执行查询
B 它输出每个节点的实际行数、loops 与耗时,估算与实际差异大说明统计信息失真导致计划错误 ✓ 正确答案
C loops 与节点耗时无关
D 估算与实际差异大是正常现象,无需处理
#

21. 统计信息失真(数据倾斜、统计过期、相关列)为何会导致执行计划跳变(索引扫描↔顺序扫描、连接算法切换)?如何用 ANALYZE、扩展统计与计划基线稳定计划?

A 数据倾斜不影响优化器估算
B 统计信息与执行计划无关
C 计划跳变无法控制
D 数据倾斜、统计过期、相关列导致估算失真从而计划跳变,用 ANALYZE、扩展统计与计划基线稳定 ✓ 正确答案
#

22. pt-query-digest 如何按 SQL 指纹聚合慢日志(Query_time 分布、Lock_time、Rows_examined/Rows_sent 比值)输出治理优先级?

A Rows_examined/Rows_sent 比值与治理优先级无关
B 它只输出单条慢 SQL,不聚合
C 它按 SQL 指纹聚合慢日志,用 Query_time、Lock_time、Rows_examined/Rows_sent 比值判断治理优先级 ✓ 正确答案
D 它无法按总耗时排序
#

23. 数据增长预测,行数增长、索引膨胀、WAL 堆积?

A 基于历史增长速率预测行数、索引膨胀与 WAL 堆积,评估空间与性能并预留余量 ✓ 正确答案
B 数据增长无法预测,只能临时扩容
C 索引膨胀与空间无关
D WAL 堆积无需监控
#

24. 审计日志(Audit Log)的实现,pgAudit、MySQL Enterprise Audit?

A 审计日志无需保留与归档
B 审计日志只记录连接,不记录操作
C pgAudit 与 MySQL Enterprise Audit 记录用户访问与操作,满足合规与追溯,但审计有性能开销 ✓ 正确答案
D 审计对性能无任何开销
#

25. 数据库日志的分类,错误日志、慢日志、审计日志、WAL、binlog?

A 慢日志用于错误排障
B 所有日志作用完全相同
C WAL 用于安全审计
D 错误日志看故障、慢日志看性能、审计日志看安全、WAL/binlog 看数据可靠性,各有侧重 ✓ 正确答案
#

26. Prometheus + Grafana 数据库监控的指标体系?

A exporter 采集数据库指标,Prometheus 存储,Grafana 展示告警,指标体系覆盖连接、性能、缓存、复制、锁等 ✓ 正确答案
B Prometheus 无法采集数据库指标
C Grafana 只能展示,不能告警
D 监控指标只需测连接数
#

27. SQL 指纹(Query Fingerprint)的概念,归一化 SQL 计算 hash?

A 指纹无法用于 SQL 聚合统计
B SQL 指纹保留字面量,不归一化
C SQL 指纹把字面量替换为占位符归一化后计算 hash,用于聚合"结构相同参数不同"的 SQL ✓ 正确答案
D 归一化会把不同结构的 SQL 也归为一组
#

28. 数据库关键指标(QPS、TPS、延迟、命中率、连接数)的监控?

A 延迟与性能无关
B 只需要监控 QPS 一个指标
C 监控 QPS、TPS、延迟、命中率、连接数,从负载、性能、缓存、连接多维度反映健康 ✓ 正确答案
D 连接数无需监控
#

29. OpenTelemetry 接入数据库的可观测性?

A OTel 只能用于日志,无法用于指标
B OTel 只能采集指标,无法关联 trace
C OTel 与数据库可观测性无关
D OTel 用统一标准采集数据库指标与日志,应用层埋点把 SQL 纳入 trace,实现端到端可观测 ✓ 正确答案
#

30. pg_stat_activity 的应用?

A 它只用于监控,无法排障
B 它只显示连接数量,无法看 SQL
C 它无法显示 idle in transaction
D 它显示会话状态、当前 SQL、等待事件与长事务,用于定位慢查询、未提交事务与阻塞 ✓ 正确答案
#

31. 临时文件(temp file)的监控与告警?

A 临时文件无法优化
B 临时文件是正常现象,无需监控
C 临时文件与内存无关
D 临时文件是排序/哈希落盘的表现,监控 temp_files/temp_bytes,过大提示内存不足并优化 work_mem ✓ 正确答案
#

32. Little 定律(L = λ × W)在数据库容量规划中的应用?

A Little 定律与容量规划无关
B L=λ×W 关联到达率、平均处理时间与并发数,用于估算并发需求与判断容量 ✓ 正确答案
C 并发数无法由吞吐和延迟推算
D Little 定律假设无限并发,不适用数据库
#

33. 压测场景设计,OLTP(短查询)、OLAP(长查询)、混合负载?

A 按 OLTP 短事务、OLAP 长查询、混合负载设计贴近生产的场景,逐步加压测吞吐与延迟 ✓ 正确答案
B 压测只需一种负载,无需区分
C 压测数据无需贴近生产
D 压测只测 QPS,不测延迟
#

34. 压测工具,sysbench、pgbench、TPC-C、TPC-H?

A TPC-H 用于测 OLTP
B 所有工具都测相同负载
C sysbench 通用灵活、pgbench 内置 PG、TPC-C 测 OLTP 事务、TPC-H 测 OLAP 分析,按负载选型 ✓ 正确答案
D pgbench 只能测 OLAP
#

35. 故障分级(P0-P3)的定义与响应流程?

A P0-P3 按影响程度分级,P0 核心业务不可用立即响应,响应流程按等级触发止损修复复盘 ✓ 正确答案
B 所有故障都用同一响应级别
C P3 是最高优先级
D 故障分级与响应流程无关
#

36. 容量规划(Capacity Planning)的步骤,测量、预测、扩容?

A 容量到极限再扩容即可
B 容量规划只需扩容,无需测量预测
C 测量建基线、预测增长趋势、提前扩容并预留余量,形成测量-预测-扩容的闭环 ✓ 正确答案
D 容量规划与业务增长无关
#

37. 日志采集的链路,Filebeat/Fluentd → Kafka → Elasticsearch?

A Kafka 用于存储日志,不用于缓冲
B Filebeat 采集日志,Kafka 缓冲解耦,Elasticsearch 存储检索,支撑集中监控与排障 ✓ 正确答案
C Filebeat 用于检索日志
D 日志链路无法支撑数据库日志
#

38. 基线漂移(Baseline Drift)的检测与告警?

A 基线漂移是正常现象,无需告警
B 基线漂移只能用静态阈值检测
C 用动态基线与趋势分析检测指标缓慢偏离基线,触发漂移告警,发现静态阈值漏掉的隐患 ✓ 正确答案
D 动态基线无法发现缓慢恶化
#

39. 基线的采集方法,业务低峰期 vs 高峰期?

A 基线无法用于告警
B 基线只需采集一次,无需分时段
C 低峰与高峰的基线相同
D 分时段采集低峰与高峰基线,覆盖不同负载,建立动态告警参照并持续更新 ✓ 正确答案
#

40. 性能基线(Performance Baseline)的建立,关键指标的稳态值?

A 性能基线无法用于性能回归判断
B 性能基线只需一个固定值
C 基线应包含异常时段数据
D 采集正常时段指标,用分位数/均值±标准差确定稳态值,分周期建立基线支撑动态告警 ✓ 正确答案
#

41. 告警分级(P0-P3)的定义与响应时间?

A 分级只用于通知,不用于响应
B 所有告警都应 P0 立即响应
C 告警分级与响应时间无关
D P0-P3 按影响定义并规定响应时限,P0 立即响应,分级与值班升级机制匹配 ✓ 正确答案
#

42. 告警去重(Dedup)与合并(Group)的实现?

A 去重与合并与告警疲劳无关
B 告警去重会漏掉真实故障
C 告警风暴无需治理
D 用指纹去重、按标签分组聚合、抑制与静默减少告警风暴,让告警少而准 ✓ 正确答案
#

43. 告警通道,邮件、短信、电话、Webhook、IM?

A 所有告警都用邮件
B 按优先级选通道,P0 电话强提醒、P1 短信/IM、低优先级邮件,通道需冗余与升级 ✓ 正确答案
C 电话适合低优先级告警
D 告警通道无需冗余
#

44. 告警阈值(Threshold)的设置,静态阈值 vs 动态阈值?

A 静态阈值适合稳定指标,动态阈值基于基线自适应波动指标,二者结合兼顾准确 ✓ 正确答案
B 静态阈值适合所有指标
C 动态阈值无法适应负载波动
D 阈值设置与告警准确性无关
#

45. 告警疲劳(Alert Fatigue)的避免?

A 告警疲劳无需治理
B 告警越多越安全
C 靠去重合并、合理分级、阈值调优、可行动告警与定期评审,让告警少而准 ✓ 正确答案
D 全 P0 告警能避免漏报
#

46. cgroups 在数据库资源治理中的应用,用 CPU/内存/IO 控制器限制备份或分析任务的资源水位,与 ionice/nice 等任务级优先级如何组合?

A cgroups 用 CPU/内存/IO 控制器限制进程组资源水位,与 ionice/nice 的优先级组合控制备份任务 ✓ 正确答案
B cgroups 只能限制 CPU,无法限制 I/O
C ionice 是组级限制,cgroups 是任务级优先级
D cgroups 与数据库资源治理无关
#

47. ionice 在备份窗口的应用,用 I/O 优先级类(idle/best-effort)限制备份对在线业务 I/O 的影响,与 cgroup blkio 限速如何配合?

A ionice 无法限制备份 I/O
B ionice 只能提高优先级,无法降级
C cgroup blkio 是任务级优先级,与 ionice 冲突
D ionice 用 idle/best-effort 类让备份 I/O 让位于在线业务,与 cgroup blkio 带宽限制配合 ✓ 正确答案
#

48. 备份窗口的 SLA 如何设定,备份时长、对业务 I/O 的影响与保留策略如何转化为可度量的 SLO,超时与失败如何告警?

A 备份失败无需告警
B 备份 SLA 只需看备份是否创建
C 备份时长与 SLO 无关
D 把备份时长、对业务 I/O 影响、保留策略量化为可度量 SLO,超时与失败触发告警 ✓ 正确答案
#

49. RTO/RPO 的定义与目标设定?

A RTO 与 RPO 含义相同
B RTO 是恢复时间上限,RPO 是数据丢失上限,按业务重要性设定并落实到架构与演练 ✓ 正确答案
C 所有业务都应设 RTO=0
D RTO/RPO 与备份策略无关
#

50. 恢复演练的 Runbook 验证?

A Runbook 无需演练验证,直接可用
B 演练中按 Runbook 实测步骤、命令、责任人、结果与 RTO/RPO,演练后修订优化 ✓ 正确答案
C 演练只需看备份是否存在
D 演练结果无需改进 Runbook
#

51. SQL 指纹的最佳实践,如何归一化字面量得到稳定指纹,错误归一化对性能统计与安全审计有什么影响?

A 正确归一化字面量得到稳定指纹,过度归一化混淆统计、不足则分散统计,均影响性能定位与审计 ✓ 正确答案
B 归一化越激进越好,无需区分结构
C 指纹归一化与安全审计无关
D 错误归一化不影响性能统计
#

52. WAL 日志的容量与归档策略?

A 归档失败不影响 WAL 容量
B WAL 会自动清理,无需归档
C 开启 WAL 归档满足 PITR,在线 WAL 由 checkpoint 控制,监控归档进度防止堆积导致磁盘满 ✓ 正确答案
D WAL 容量与保留策略无关
#

53. binlog 的容量与清理策略?

A 用 expire_logs_days 自动清理并归档,保留需满足复制/CDC/PITR,监控防止磁盘满 ✓ 正确答案
B binlog 会自动清理,无需保留
C 从库落后时 binlog 也可删除
D binlog 容量与保留无关
#

54. QPS 增长预测,业务增长、活动峰值?

A 用历史趋势外推并结合业务增长与活动峰值评估负载,预留余量并压测验证容量 ✓ 正确答案
B QPS 预测只需看当前值
C 活动峰值与 QPS 预测无关
D 预测无需预留余量