第五章 优化服务器设置

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 第五章 优化服务器设置

介绍如何为MySQL创建合适的配置文件。

innodb缓冲池和日志文件大小等设置基本合适 。但除非 要时刻,  则没必要改变配置文件,  使用默认设置即可。

MySQL中的配置文件怎么工作的

配置件位于my.cnf中,  配置的类型有全局配置 、会话配    、动态配置文件 。在每次更改后,  使用show variables 确保达 预期效果。

持久化系统变量

使使用set global,  也会恢复到配置文件中的状态 。也就是 说需要同时修改配置文件中的值才能达到预期效果 。为此,         mysql8引了persist 允许在运行时设置⼀次值,  表示将配置写  ⼊磁盘,下次继续使用。

设置变量的副作用

起缓冲区刷新脏页,  导致服务器大量工作 。有时,  变量名 不⼀定是它描述的这样,  比如max_heap_table_size指定内存 中隐式的临时表内存最大值。

规划变量的改变

变量要小⼼,  压榨服务器性能并不⼀定有效 。早上的配 置到了晚上就可能不适用了。

什么不该做

使用调优脚本,  因为效果并不是强关联性的 。调优服务 可能是浪费时间 。不要相信某些公式,  并不是可靠的⽅法。

创建mysql配置文件

配置内存使用


线程缓存

每⼀个处于线程缓存或休眠状态的线程通常的内存是 256kb。

配置MySQL的IO行为

innodb在事务提交时写⼊⽇志,  事务对数据的更改通常映射 空间的随机位置中 。随机IO的开销比顺序IO更大,  使用⽇志 将随机IO转换为顺序IO

innodb刷新日志缓冲区

使互斥锁锁定缓冲区,  可能会有多个事务刷新其⽇志, innodb使用组提交机制,  在单次io时将⼀组⽇志全部提交。


 

innodb表空间

innodb数据保存在表空间中,  表空间是个虚拟的⽂件系

统,  由磁盘上的⼀个或多个⽂件组成 。表空间还包含undo log 修改缓冲区,  双写缓冲区,  和其他结构

innodb-file-per-table允许为每⼀个表使用单独的⽂件 。将数据 在tablename.ibd⽂件中,  更容易回收表的空间,  然而存在空 间的浪费  (每个ibd⽂件都存在浪费)  。

缺点是:使得drop table性能变差 。原因,  删除表空间时需要       innodb找属于该表空间的⻚⾯时进行锁定和扫描缓冲池,  当缓 池过大,  扫描会⾮常慢。

行的旧版本和表空间

如果事务⻓时间打开,  隔离级别在RR环境下,  旧数据⽆法删  这会导致数据持续增⻓ 。可以设置innodb_max_purge_lag延 多修改数据的查询之前,  可以等待清除的最大事务数。

其他IO配置选项

sync-binlog刷新binlog的机制。

配置MySQL并发

基本使用⽅法是,  使用innodb-thread-currency变量 。      innodb使用两阶段策略提高线程进⼊内核的效率,  首先休眠指定 秒数,  然后重试,  失败则进⼊等待队列。


 

⼀旦进入内核,  线程则拥有⼀定的门票,  这限制了线程在返回 待队列之前的可以完成的工作量

交阶段的并发瓶颈,  可以设置innodb_commit_concurrency控 制同时提交的线程数。

安全设置

max-connect-errors,  设置最大连接错误的上限 。设置大⼀

 可以有效禁用由于链接错误而导致阻塞主机。

max-connection,  最大连接数,

skip_name_resolve,此设置禁用DNS查找,  会尝试正在连接 的主机名。

sql-mode,  设置sql的行为。

read_only,  super-read-only 。设置为只读数据库 

高级innodb设置

innodb_autoinc_lock_mode设置自增主键的方式,      innodb_buffer_pool_instances,  提高MySQL的并发。 innodb_io_capacity,  告知innodb多少io容量可使用。

innodb_read_io_threads和innodb_write_io_threads,  读写 的线程数量大小。

innodb_strict_mode,严格模式将警告变为错误。


 

innodb_old_blocks_time,  指定页面从年轻->老年部分所需 的时间 。LRU算法。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
17天前
|
机器学习/深度学习 弹性计算 算法
阿里云服务器ECS中长期成本节省计划简介,助你优化上云成本
在云计算时代,企业对于云资源的需求日益增长,如何在保障业务稳定运行的同时,有效控制成本,成为许多企业关注的焦点。阿里云针对这部分用户的需求推出了ECS中长期成本节省计划(Saving Plan),节省计划是一种折扣权益计划,可以抵扣按量付费实例(不含抢占式实例)的账单。相比包年包月实例、预留实例券+按量付费实例的组合,节省计划+按量付费实例的组合在使用上更加灵活。本文将详细介绍这一计划的核心优势、应用场景以及如何参与,助您轻松优化上云成本。
阿里云服务器ECS中长期成本节省计划简介,助你优化上云成本
|
17天前
|
监控 Kubernetes 安全
如何设置一个有效的远程管理工具来简化服务器的维护工作?
如何设置一个有效的远程管理工具来简化服务器的维护工作?
|
23天前
|
缓存 NoSQL 数据库
Web服务器与数据库优化:提升系统性能的最佳实践
【8月更文第28天】在现代的Web应用中,Web服务器与后端数据库之间的交互是至关重要的部分。优化这些组件及其相互作用可以显著提高系统的响应速度、吞吐量和可扩展性。本文将探讨几种常见的优化策略,并提供一些具体的代码示例。
34 1
|
7天前
|
存储 负载均衡 数据库
探索后端技术:从服务器架构到数据库优化的实践之旅
在当今数字化时代,后端技术作为支撑网站和应用运行的核心,扮演着至关重要的角色。本文将带领读者深入后端技术的两大关键领域——服务器架构和数据库优化,通过实践案例揭示其背后的原理与技巧。无论是对于初学者还是经验丰富的开发者,这篇文章都将提供宝贵的见解和实用的知识,帮助读者在后端开发的道路上更进一步。
|
20天前
|
Java 数据库 API
JSF与JPA的史诗级联盟:如何编织数据持久化的华丽织锦,重塑Web应用的荣耀
【8月更文挑战第31天】JavaServer Faces (JSF) 和 Java Persistence API (JPA) 分别是构建Java Web应用的用户界面组件框架和持久化标准。结合使用JSF与JPA,能够打造强大的数据驱动Web应用。首先,通过定义实体类(如`User`)和配置`persistence.xml`来设置JPA环境。然后,在JSF中利用Managed Bean(如`UserBean`)管理业务逻辑,通过`EntityManager`执行数据持久化操作。
31 0
|
20天前
|
JavaScript 搜索推荐 前端开发
从零搭建到部署:Angular与Angular Universal手把手教你实现服务器端渲染(SSR),全面解析及实战指南助你提升Web应用性能与SEO优化效果
【8月更文挑战第31天】服务器端渲染(SSR)是现代Web开发的关键技术,能显著提升SEO效果及首屏加载速度,改善用户体验。Angular Universal作为官方SSR解决方案,允许在服务器端生成静态HTML文件。本文通过具体示例详细介绍如何使用Angular Universal实现SSR,并分享最佳实践。首先需安装Node.js和npm。
20 0
|
2月前
|
弹性计算 Linux 云计算
云服务器 ECS产品使用问题之如何设置adminpassword
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
1月前
|
缓存 负载均衡 JavaScript
Node.js 服务器性能优化
【8月更文挑战第4天】 Node.js 服务器性能优化
33 1
|
2月前
|
弹性计算 Linux 数据安全/隐私保护
云服务器 ECS产品使用问题之linux如何设置服务器密码
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
2月前
|
弹性计算 Linux 数据安全/隐私保护
云服务器 ECS产品使用问题之幻兽帕鲁服务器如何设置/修改密码
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。

热门文章

最新文章