数据库的优化与调优:从理论到实践

合集下载

数据库查询优化的经验总结与最佳实践指南

数据库查询优化的经验总结与最佳实践指南

数据库查询优化的经验总结与最佳实践指南随着信息技术的快速发展,数据库已成为企业数据存储和管理的核心。

合理优化数据库查询能够提高系统的性能和响应速度,进而提升用户体验。

本文将总结一些数据库查询优化的经验,并提供最佳实践指南。

一、使用索引优化查询索引是提高查询性能最常用的手段之一。

在数据库中创建合适的索引,能够加快查询的速度并减少资源消耗。

以下是一些重要的使用索引的经验:1. 分析数据库查询,确定经常用到的列和条件,为这些列和条件创建索引。

2. 避免过多创建索引。

过多的索引会增加数据写入的负担,并消耗较多的存储空间。

3. 针对复合查询条件,使用合适的组合索引。

组合索引可以使多个列一起被索引,减少查询时的检索步骤,提高查询效率。

4. 定期对索引进行重新组织和优化。

当表的数据量发生变化时,索引的效率可能会下降,及时对索引进行优化可提高查询性能。

二、避免全表扫描全表扫描是指无法使用索引或其他优化策略时对整个表的每一行进行扫描,这样的查询是非常低效的。

以下是一些避免全表扫描的方法:1. 避免在查询中使用通配符查询。

通配符查询在数据库查找过程中无法利用索引,会导致全表扫描。

2. 使用合适的条件,进行范围查询。

范围查询可以避免全表扫描,只针对符合条件的子集进行操作。

3. 根据业务需要,将大表拆分成小表。

将大表按照业务功能或其他相关因素拆分成多个小表,可以降低查询时的负载,加快查询速度。

三、避免多余的查询很多时候,查询结果的数据量可能远大于实际需要的数据量,这会导致无谓的资源消耗和时间浪费。

以下是一些建议避免多余查询的方法:1. 只选择所需的列。

避免查询整行数据,只选择实际需要的列可以减少数据传输开销,提高查询效率。

2. 使用LIMIT语句限制查询结果的条数。

如果在实际业务中只需要获取前几条数据或者特定范围内的数据,可以使用LIMIT语句限制查询结果的数量。

3. 使用子查询和联合查询。

通过使用子查询和联合查询,可以将多次查询合并为一次查询,减少数据库的负载。

数据库的性能优化与调优

数据库的性能优化与调优

数据库的性能优化与调优数据库是现代信息系统中不可或缺的核心组件之一,它承载着大量的数据,并为其他业务提供数据存储和访问的基础设施。

然而,随着数据量的增长和访问压力的增加,数据库的性能问题变得越来越突出。

为了提高数据库的性能和效率,进行性能优化和调优是至关重要的。

本文将介绍数据库性能优化和调优的一些关键点和方法。

一、数据库性能指标在开始数据库的性能优化和调优之前,我们首先要熟悉一些常用的数据库性能指标,便于进行问题定位和性能优化。

以下是一些重要的数据库性能指标:1. 响应时间:数据库处理请求所花费的时间,响应时间越短越好。

2. 吞吐量:单位时间内数据库能够处理的请求数量,吞吐量越大越好。

3. 并发性能:数据库在同时处理多个请求时的性能表现,可以通过并发用户数来衡量。

4. CPU利用率:数据库服务器的CPU使用率,以避免过高的CPU负载。

5. 内存利用率:数据库服务器的内存使用率,以避免过高的内存占用。

充分了解和掌握这些性能指标,有助于我们更好地评估数据库的性能,并根据具体情况进行优化和调优。

二、数据库性能优化的方法数据库性能优化是一个综合性的工作,需要从不同的角度进行考虑和实施。

下面介绍一些常见的数据库性能优化方法。

1. 设计优化数据库结构优化数据库的结构是数据库性能优化的首要任务,合理的数据库结构可以提高查询效率和数据访问速度。

以下是一些设计优化数据库结构的方法:- 正规化:遵循正规化原则,将数据分解成更小的部分,并建立正确的关系。

- 索引优化:根据查询需求,添加合适的索引。

索引可以加速查询速度和降低查询资源消耗。

- 分区设计:将大表分解成多个小表,并根据访问模式将数据分散在不同表中。

2. 优化查询语句查询语句是数据库性能优化的另一个关键环节,一条高效的查询语句可以大大提升数据库的查询性能。

以下是一些优化查询语句的方法:- 减少查询次数:通过合并多个查询或使用更有效的查询方式,减少数据库查询次数。

数据库优化与查询性能调优的最佳实践

数据库优化与查询性能调优的最佳实践

数据库优化与查询性能调优的最佳实践数据库优化与查询性能调优是在数据库管理中非常重要的一环,它直接影响着应用系统的性能和用户体验。

本文将介绍数据库优化与查询性能调优的最佳实践,以帮助数据库管理员更好地处理数据库性能问题。

一、数据库优化1.数据库设计优化:在数据库设计阶段就要考虑性能优化的问题,包括表的字段设计、表的关系设计、索引设计等。

合理的数据库设计能够减少不必要的数据冗余和提高查询效率。

2.索引优化:建立索引是提高查询效率的重要手段。

合理地为经常使用的字段建立索引,可以加快数据检索的速度。

但是要注意不要建立过多的索引,否则会增加写操作的成本。

3.查询语句优化:编写高效的查询语句是数据库优化的关键。

要尽量避免全表扫描、使用子查询等性能较差的查询方式,可以通过分析执行计划找到问题,并作出相应的调整。

4.缓存优化:通过使用缓存技术可以减少数据库的访问次数,提高查询速度。

常见的缓存技术包括Redis、Memcached等。

可以将热点数据缓存到缓存中,减少数据库的访问压力。

5.数据库参数调优:数据库的各项参数设置对性能也有很大的影响。

根据实际情况调整数据库的参数,如缓冲区大小、连接数、日志大小等,以提高数据库的性能。

6.定期维护与优化:定期对数据库进行维护与优化是必不可少的。

包括数据清理、索引重建、统计信息更新等操作,以确保数据库的性能保持在一个较高水平。

二、查询性能调优1.优化查询语句:如前所述,编写高效的查询语句是提高查询性能的关键。

查询时尽量避免使用通配符、避免在where子句中使用函数等,可以加快查询的速度。

2.避免使用全表扫描:全表扫描是一种效率较低的查询方式,应尽量避免使用。

可以通过建立索引或者优化查询语句来避免全表扫描,提高查询效率。

3.减少查询次数:减少查询次数可以减少数据库的访问压力,提高查询性能。

可以通过批量查询、缓存数据等方式来减少查询次数。

4.避免频繁连接数据库:频繁连接数据库会增加系统开销,应尽量减少连接数据库的次数。

数据库性能调优的实践与经验总结(五)

数据库性能调优的实践与经验总结(五)

数据库性能调优的实践与经验总结引言数据库是现代应用系统中不可或缺的核心组成部分。

无论是企业的客户关系管理系统、电子商务平台还是社交媒体应用,都需要一个高效稳定的数据库来存储和管理数据。

然而,随着数据量的增长和业务需求的提升,数据库的性能问题也日益引人关注。

本文将介绍数据库性能调优的实践与经验总结,希望对读者在面对类似问题时能有所帮助。

一、合理设计数据库结构良好的数据库设计是保证系统性能的基石。

在设计数据库时,需要考虑数据表之间的关联关系、主键和索引的选择以及数据字段的大小和类型等因素。

合理的数据库结构可以减少查询时的IO负载,提高系统响应速度。

二、优化SQL查询语句SQL查询是数据库应用中最常见也是最频繁的操作。

通过优化SQL 查询语句,可以提高查询的效率,从而提升系统的整体性能。

在优化SQL查询时,可以考虑以下几个方面:1. 使用合适的索引:根据查询的字段和条件选择适当的索引,避免全表扫描和排序操作。

2. 减少子查询的使用:尽量避免在SQL查询中使用过多的子查询,可以考虑使用联合查询或者临时表等方式进行优化。

3. 避免使用SELECT *:只选择需要的字段,避免不必要的数据传输和计算。

4. 数据分页查询:对于大量数据的查询,可以使用分页查询的方式将结果分批返回,避免一次性加载所有数据。

5. 合理设置缓存:通过合理设置缓存策略,可以减少数据的磁盘IO操作,提高查询效率。

三、合理设置数据库参数数据库参数的设置直接影响到数据库的性能。

合理的参数设置可以提高数据库的吞吐量和响应时间。

以下是一些常见的数据库参数调优建议:1. 内存配置:合理分配数据库的内存资源,将更多的内存用于缓存,减少磁盘IO操作。

2. 日志配置:根据业务需求合理设置数据库的日志参数,避免过多的事务日志记录。

3. 并发连接数:根据系统负载和并发访问量,设置合理的数据库连接数,避免过多的连接导致资源竞争。

4. 查询缓存:对于一些重复性查询较高的应用场景,可以考虑开启查询缓存功能,提高查询的效率。

数据库优化与调优的技术与实践

数据库优化与调优的技术与实践

数据库优化与调优的技术与实践一、引言- 介绍数据库优化和调优的基本概念和重要性- 引出本文要讨论的数据库优化和调优的技术与实践二、数据库优化的基本原则- 介绍数据库优化的基本原则:合理设计数据库结构、优化查询语句、适当添加索引等- 解释每个原则的作用和影响三、数据库结构的优化- 说明合理设计数据库结构的重要性:减少冗余数据、提高查询效率等- 提供几种优化数据库结构的方法:规范化设计、反规范化设计、垂直切分等- 分析每种方法的适用场景和优缺点- 举例说明如何优化数据库结构四、查询语句的优化- 分析查询语句对数据库性能的影响- 提供几种优化查询语句的方法:使用合适的查询条件、避免使用不必要的表连接、使用合适的函数和运算符等- 举例说明如何优化查询语句五、索引的优化与使用- 解释索引的作用和原理- 介绍不同类型的索引:主键索引、唯一索引、组合索引等- 提供几种优化索引的方法:选择合适的索引列、使用覆盖索引、定期维护索引等- 举例说明如何优化索引的使用六、物理存储优化- 介绍数据库的物理存储结构和优化目标- 分析不同存储结构的优缺点:InnoDB、MyISAM、Memory等- 提供几种物理存储优化的方法:适当调整存储引擎的参数、优化磁盘和内存的使用等- 举例说明如何进行物理存储优化七、性能监控与调优工具- 介绍常用的性能监控与调优工具:MySQL Performance Schema、EXPLAIN等- 说明每个工具的功能和使用方法- 举例说明如何使用这些工具进行性能监控和调优八、实践案例- 根据实际情况选择一个数据库系统,介绍实际场景下的数据库优化与调优的实践过程- 细节说明数据库调优过程中遇到的问题和解决方案- 分析调优后的数据库性能改善情况和效果九、总结- 总结本文的核心内容和要点- 强调数据库优化和调优的重要性- 展望数据库优化和调优的发展趋势十、参考文献- 列出本文中引用的相关文献,供读者进一步深入学习和研究。

数据库性能优化调优方法与实践

数据库性能优化调优方法与实践

数据库性能优化调优方法与实践数据库性能优化一直是企业IT部门面临的一个重要问题。

随着数据量的不断增长和数据库应用的复杂性增加,优化数据库性能显得尤为重要。

本文将探讨数据库性能优化的几种常见方法与实践经验,帮助读者更好地理解和应用于实际工作中。

首先,数据库性能优化的一个重要方面是合理设计数据库结构。

在数据库设计阶段,需要考虑到数据表的规范化与反规范化、索引的创建以及表之间的关系等问题。

规范化可以减少数据冗余,提高数据的一致性和完整性,但在某些情况下会增加查询的复杂性和性能开销。

因此,在实际设计中需要根据具体业务需求进行合理的规范化与反规范化处理,以及选择合适的索引策略和关系模式。

其次,优化数据库查询是提高数据库性能的关键。

在设计和实现数据库查询时,应该避免全表扫描和大量Join操作等影响查询性能的因素。

可以通过优化SQL语句、合理使用索引和缓存等方式来提升查询效率。

此外,还可以利用数据库性能监控工具对查询进行分析和优化,发现潜在的性能瓶颈并及时处理。

另外,数据库服务器的配置和参数调优也是提升数据库性能的重要手段。

通过调整数据库服务器的内存和CPU配置、优化存储系统和网络环境等方式,可以提高数据库的响应速度和并发处理能力。

同时,根据具体的数据库应用场景和业务需求,合理设置数据库参数和缓存策略,以充分利用服务器资源和提高系统的稳定性和可靠性。

此外,定期进行数据库性能测试和优化也是保障数据库性能的有效途径。

通过模拟真实的负载场景和业务流程,测试数据库的性能和稳定性,发现并解决潜在的性能问题。

在测试过程中,可以采用性能测试工具和性能监控工具,对数据库系统的各项性能指标进行评估和优化,以提高系统的整体性能和响应速度。

在实际工作中,数据库性能优化是一项复杂而持续的工作。

需要不断学习和掌握新的优化技术和方法,结合实际业务需求和系统环境进行灵活应用。

只有通过持续的努力和实践,才能不断提升数据库系统的性能和稳定性,更好地支撑企业的业务发展和创新。

数据库性能调优技术与实践

数据库性能调优技术与实践

数据库性能调优技术与实践随着互联网技术的飞速发展,大数据时代已经到来。

海量、快速、多样的数据给企业和个人带来了前所未有的机遇和挑战。

作为数据存储和管理的主要工具,数据库的性能成为了关键。

本文将介绍数据库性能调优技术与实践,为读者提供可行的解决方案和实践经验。

一、数据库性能调优的意义数据库性能调优是指针对数据库系统中存在的性能瓶颈,采取一系列技术手段,提高数据库的响应速度、吞吐量和执行效率,以满足系统运行的性能要求。

在实际应用中,数据库性能的优劣不仅关系到数据的存储和查询效率,还关乎整个系统的稳定性、可靠性、安全性和用户体验。

因此,数据库性能调优的意义十分重要。

二、数据库性能调优的方法1. SQL语句优化SQL语句是数据库操作的基本单元,其优化对于提高整个数据库系统的性能至关重要。

优化SQL语句可以通过以下几个方面实现:(1)使用索引:索引能够提高SQL语句的查询效率,减少数据库扫描的数据量。

但是过多的索引也会降低数据库的性能,需要根据实际情况进行合理的索引设计。

(2)避免全表扫描:在查询数据时,尽量避免使用“select *”语句,因为它会查询整个表的数据。

可以通过指定需要查询的字段来减少数据量,提高查询效率。

(3)使用批量操作:批量操作能够减少数据库操作的次数,从而提高数据库的性能。

可以通过“insert into xxx values()”,“update xxx set values()”等语句实现批量操作。

2. 数据库参数调优数据库的参数设置对于整个数据库系统的性能影响很大。

在进行参数调优之前,需要先了解和掌握常用的数据库参数,如缓存大小、最大连接数等。

通过对这些参数进行适当的调整和优化,可以提高数据库的性能。

3. 数据库服务器配置优化数据库服务器的配置对于其性能有很大的影响。

我们可以采取以下几个方面来进行服务器配置优化:(1)使用高性能硬件:高速、高容量存储器、高I/O的磁盘设备、高效、多核的CPU等硬件设备都能够提高服务器性能。

数据库查询语句执行计划的优化与调优实践

数据库查询语句执行计划的优化与调优实践

数据库查询语句执行计划的优化与调优实践在数据库系统中,查询语句的执行计划是衡量性能的重要指标之一。

查询语句的优化与调优可以提高数据库查询的效率和响应速度,减少资源消耗。

本文将介绍数据库查询语句执行计划的优化与调优实践,并提供一些实用的技巧和策略。

首先,了解查询语句执行计划的基本原理是优化与调优的关键。

执行计划是数据库系统根据查询语句生成的查询执行步骤的详细描述,包括索引和表的访问方式、连接方法以及其他操作和算法。

通过分析执行计划,可以确定查询语句的瓶颈所在,从而进行优化和调优。

一、索引优化索引是数据库系统中的一种重要数据结构,能够加速数据的查找和访问。

在优化查询语句时,首先要考虑为需要频繁查询的列创建索引。

但是,过多的索引也会导致索引维护的成本增加,因此需要权衡索引的创建。

1. 选择合适的索引类型:主键索引、唯一索引、普通索引等。

2. 避免冗余索引:对于某些列已经创建了索引,但并不会被频繁查询或者用作查询条件的,可以考虑去除冗余索引。

3. 调整索引的顺序:多列索引的顺序可以影响查询的效率,可以根据具体的查询需求来调整索引的顺序。

二、查询语句优化优化查询语句可以有效减少数据库系统的资源消耗和提高性能。

以下是一些常见的查询语句优化技巧和策略。

1. 使用连接语句代替子查询:在某些情况下,使用连接语句可以提高查询的效率。

尽量避免使用复杂的子查询。

2. 避免使用通配符:%和_等通配符在模糊查询中很有用,但是使用时要注意性能开销。

如果可以,尽量避免使用通配符。

3. 尽量使用索引列作为查询条件:使用索引列作为查询条件可以提高查询的效率,避免全表扫描。

4. 选择合适的数据类型:选择合适的数据类型可以减少存储空间的占用和提高查询的效率。

5. 分解复杂的查询语句:在某些情况下,将复杂的查询语句分解成多个简单的查询语句可以提高查询效率。

6. 避免使用函数和表达式:在查询语句中,如果使用了函数和表达式,会增加查询的开销,尽量避免使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


构建平衡系统(Balanced Systems)
– Balanced Systems
• • 硬件有着基本相同的资源利用率吗? 每个硬件的利用率都处于拐点吗?
– –
指导数据库服务器选型; 合适的CPU、磁盘、网络、SSD组合;
MySQL调优-终极调优
• 面向程序员的数据库访问性能优化法则

写在最后的一句话
硬件各组件Latency对比
注:来自Gregg Brendan 《Systems Performance: Enterprise and the Cloud》一书;
授人以鱼不如授人以渔
• 你应该亲自测试这些硬件性能指标
– Igor Ostrovsky——Gallery of Processor Cache Effects
• • • • 测试内存Latency; 测试Cache Lines大小; 测试L1/L2/L3 Cache大小; ...
– ccBench —— Everything You Always Wanted to Know about Synchto Ask (SOSP’ 13)
• 必须掌握的调优参数
– innodb_flush_log_at_trx_commit & sync_binlog
• 在BGC之前,调整这两个参数,能极大降低磁盘的I/O请求(减少排队),降低请求响应时间,提升TPS;
– innodb_log_file_size & innodb_log_files_in_group

解读:程序的极限性能, 最终取决于程序串行部分 所占比率; 尽量消除程序中的串行部 分;

无限制的并行,您无法达到
• 现实生活中
无限制的并行,您无法达到(续)
• 硬件资源瓶颈/软件内部等待
– CPU/Memory/Disk... – Mutex/Spinlock/...

排队论(Queueing Theory)
• 小工具,可以测试CPU Cache/Cache Coherence/Atomic Operations性能
理论结束,该来点实战了
• 吐槽时间
– 前面说了这么多,真的跟MySQL数据库的优化与调优有关系吗? 你不是在忽悠吧?
– 接下来,让我们通过实践篇,来看看前面的这些理论,在MySQL 数据库中是如何得到实践的。
– 数据库层面做再大的性能优化,都抵不上应用层的优化。同样是MySQL,既可以 用来支撑Google/FaceBook/Taobao应用,也可能连你的个人网站都撑不住;
Q&A
• Parallel Slave Replication
– Oracle MySQL
• Starting with MySQL 5.7.2
– MariaDB Implementation
• Starting with MariaDB 10.0.5
– 效果(见右图)
进阶优化-减少系统串行点(一)
• kernel_mutex
– 资源利用率; – 响应时间/等待时间; – 吞吐量;
– 这些指标,均与性能相关;
• Little’s Law
– L:平均队列长度; – Lambda:平均吞吐率; – W:平均响应时间;
写程序,为什么需要了解硬件?
• 看看他们怎么说?
– Hardware and software working together in harmony.
• Starting with MySQL 5.6
– MariaDB Group Commit
• Starting with MariaDB 5.3
– How?
基础优化-拿串行开刀(二)
• 你的Slave延迟了多久?
– MySQL Replication
• 基于Binlog的复制
– 两个线程
• I/O Thread: • SQL Thread: 负责与Master通讯,接收Binlog 负责Binlog在Slave的回放,单线程
• 消除False Sharing • ib_counter_t::m_counter[(N + 1) * (CACHE_LINE_SIZE) / sizeof(Type)]
高级优化-软硬件相辅相成(三)
• Compile Optimization
– CPU执行 – L1 ICache高速指令缓存
• 根据硬件配置以及系统的读写请求,恰到好处的配置这些参数,能够最大限度的发挥磁盘的性能,同时 保证系统较好的响应时间;
– 建议将MySQL所有的参数都予以掌握,并根据实际情况,调整参数获取最佳性能;
MySQL调优-关注资源利用率
• 一个数据库系统,其硬件资 源(CPU、Disk、SSD...)利用率 是不是越高,说明系统调优 的越好? 用户关注
– InnoDB引擎内部有很多共享资源,如:内存分配;日志系统;事务与锁表; ReadView... – 早期InnoDB版本,所有的这些共享资源,都通过一个kernel_mutex来保护 – kernel_mutex,针对MySQL/InnoDB系统来说,就是一个较大的串行点;

一字真言
– 拆!!! – Kernel mutex removed – 事务 & ReadView: – 锁表: – ... trx_sys_t::lock lock_sys_t::mutex
– 理论篇
• 从串行到并行
• 从畅通无阻到排队
• 必须了解的硬件知识
– 实践篇
• MySQL各版本的优化 • MySQL使用中的调优
理论篇
• 理论篇
– 从串行到并行
• 欢迎来到并行世界: • 并行世界,串行的副作用: Moore's Law Amdahl's law
– 从畅通无阻到排队
• 并发的世界,充满排队: Queueing Theory
• Martin Thompson
– Know Hardware to Design Better Software.
• 未找到出处,暂时算我说的吧
• 硬件与软件性能息息相关
– 硬件各组件的Latency和Throughput;
– 语言那些与硬件相关的特性;
当前的硬件发展到了什么阶段?

注:来自Martin Thompson CPU Cache Flushing Fallacy 一文;
进阶优化-减少系统串行点(二)
• Index Tree Lock
– InnoDB每一个Index,有一把 RWLock(读写锁); – 读/写,加S锁; – 索引页面分裂/合并,加X锁; – 索引页面分裂时,整个索引 树不可访问
• 二字真言
– 算法!! – C. Mohan, Aries/IM – SMO操作,只跟SMO本身冲 突,不会堵塞用户的读写;
– 必须了解的硬件知识
• CPU/Cache/Memory/Disk ...
欢迎来到并行世界
• 摩尔定律(Moore's Law) 失效了?
– No,只是转变了形式 而已。
• Herb Sutter
– The Free Lunch Is Over – A Fundamental Turn Toward Concurrency in Software.
数据库的优化与调优:从理论到实践
网易杭研——何登成
自我简介
• 何登成
– 网易——杭州研究院;
• 工作领域
– 数据库引擎/分布式数据库/分布式KV
• 技术领域
– 数据库/分布式/并发编程/性能优化
• 联系方式
– 微博:何_登成 – 博客:何登成的技术博客
Outline
• 数据库性能优化与调优:从理论到实践
– 响应时间(Latency)


老板关注
– 资源有没有浪费?

调优关注
– 保证用户响应时间的基础上, 最大限度提高资源利用率; – Finding The Knee
MySQL调优-认识MySQL,构建平衡系统
• 认识MySQL


MySQL能支持多少并发?消耗多少CPU?
指导采购不同的硬件配件;
• 何谓Free Lunch?
– 通过CPU主频提升,软 件能够自动提升性能的 时代已经一去不复返; – 是时候考虑多线程/并 发程序了;
并行世界,串行的副作用
• Gene Amdahl怎么说 (Amdahl's law)?
– – – –
P:程序可并行执行比率 1-P:串行比率 N:N个Processors S(N):加速比
高级优化-软硬件相辅相成(一)
• 高级CPU指令
– SIMD SSE 4
• Single-InstructionMultiple-Data
• 合适的应用场景
– InnoDB页面计算 Checksum; – 硬件指令加速;
高级优化-软硬件相辅相成(二)
• Cache Coherence & False Sharing
– Cache Coherence
• 多线程并发读写同一内存;
– False Sharing
• 64 Bytes Cache Line
• G5 Patch
– 问题起因
• srv_n_rows_read++
– Per-Thread Counter
• 减少Cache Coherence
– Counter Padding
• 控制日志文件大小。在写入频繁的系统下,小日志文件更易引发系统的同步刷脏页(引入新的串行点), TPS急剧下降;
– innodb_io_capacity & innodb_read_io_threads & innodb_write_io_threads & innodb_purge_threads
相关文档
最新文档