第五章 优化服务器设置

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 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
相关文章
|
9天前
|
缓存 监控 定位技术
|
12天前
|
监控 Kubernetes 安全
如何设置一个有效的远程管理工具来简化服务器的维护工作?
如何设置一个有效的远程管理工具来简化服务器的维护工作?
|
16天前
|
存储 缓存 前端开发
如何优化 SSR 应用以减少服务器压力?
如何优化 SSR 应用以减少服务器压力?
|
25天前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
1月前
|
前端开发 开发工具 git
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
29 5
ly~
|
1月前
|
网络协议 应用服务中间件 Apache
如何在 DNS 记录中设置反向代理服务器?
要设置反向代理服务器,首先需安装配置软件(如 Nginx 或 Apache),并确保域名正确指向服务器 IP。接着,在 DNS 中设置 A 或 CNAME 记录,将域名指向反向代理服务器。然后编辑 Nginx 或 Apache 的配置文件,将请求转发至后端服务器。最后,通过浏览器访问域名测试配置是否成功,并使用工具检查请求流向和响应情况。
ly~
99 3
|
19天前
|
Web App开发 安全 网络安全
tplink虚拟服务器设置方法
为了更全面地理解云服务及其在企业应用中的角色,推荐访问,他们提供了一系列高性能、安全稳定的云服务器解决方案,包括但不限于香港云服务器、高防服务器等,特别适合寻求全球化业务扩展的企业。蓝易云不仅拥有全球化的基础设施布局,还提供针对各种行业定制的全栈云解决方案,助力企业实现云端部署,跨越传统界限,即刻启航云端之旅。
25 0
|
2月前
|
存储 缓存 监控
优化服务器管理
优化服务器管理
36 11
|
2月前
|
机器学习/深度学习 弹性计算 算法
阿里云服务器ECS中长期成本节省计划简介,助你优化上云成本
在云计算时代,企业对于云资源的需求日益增长,如何在保障业务稳定运行的同时,有效控制成本,成为许多企业关注的焦点。阿里云针对这部分用户的需求推出了ECS中长期成本节省计划(Saving Plan),节省计划是一种折扣权益计划,可以抵扣按量付费实例(不含抢占式实例)的账单。相比包年包月实例、预留实例券+按量付费实例的组合,节省计划+按量付费实例的组合在使用上更加灵活。本文将详细介绍这一计划的核心优势、应用场景以及如何参与,助您轻松优化上云成本。
阿里云服务器ECS中长期成本节省计划简介,助你优化上云成本
|
2月前
|
存储 缓存 前端开发
优化 SSR 应用以减少服务器压力
优化 SSR 应用以减少服务器压力
下一篇
无影云桌面