分享好友 最新动态首页 最新动态分类 切换频道
WordPress 、Typecho 站点的 MySQL/MariaDB 数据库优化
2024-12-25 17:09

今天明月给大家分享一下 WordPress 、Typecho 站点的 MySQL/MariaDB 数据库优化,无论你的站点采用是 WordPress 还是 Typecho,都要用到 MySQL/MariaDB 数据库,我们以 MySQL 为主(MariaDB 其实跟 MySQL 基本没啥大的区别,所以同样都适用。)给大家讲解一下数据库的优化。

在【WordPress 到底能不能承受百万级内容?】一文里,明月给大家讲过 WordPress 网站系统能处理的内容数量其实是取决于 MySQL 的部署的,可见 MySQL 数据库对于 WordPress 站点的重要性,加上目前大部分的 WordPress 站点数据库都是以本地部署(localhost,也就是数据库和网站在同一个服务区上)的形式使用的,所以优化 MySQL 就更加的必不可少了,结合明月多年代维的经验总结出如下几条 MySQL 数据库优化的建议

MySQL 中的 binlog 日志记录了数据库中数据的变动,便于对数据的基于时间点和基于位置的恢复,但是 binlog 也会日渐增大,占用很大的磁盘空间,同时还会带来一定的 I/O 压力,理论上来说只要我们不使用 MySQL 的主从复制基本很少用到 binglog 日志,所以一般明月都会建议关闭 MySQL 的日志,只需要把 /etc/my.cnf 文件里

 

这两行给注释掉即可,如下图所示

 

然后保存退出,重启 MySQL 进程就行了。

注意当你要使用 MySQL 的主从复制的时候一定要记得开启 MySQL 日志哦

MySQL 和 MariaDB 都是支持“查询缓存”功能,并且启用 MySQL 查询缓存可以极大地减低数据库服务器的 CPU 使用率,实际使用情况是:开启前 CPU 使用率 120%左右,开启后降到了 10%。具体开启方法可以参考【启用 MySQL 和 MariaDB 查询缓存】一文,需要注意的是这个方法适合没有使用 Memcached、Redis 缓存数据库查询的时候使用,否则就重复了,一定要注意哦,跟下面讲的第四条冲突了,比较适合熟悉 MySQL 命令的运维人员使用,配合下面第三条效果更加,安全性也更好。建议大家根据自己服务器部署和使用情况灵活的选择和使用。

一般我们的 MySQL 数据库在编译安装部署的时候都会让选择数据库存储引擎,比较多的选择是 InnoDB 存储引擎,这时候我们就可以在/etc/my.cnf 文件里调整 innodb_buffer_pool_size 和 innodb_buffer_pool_instances 参数来优化 MySQL 的性能。

Innodb_buffer_pool_size

innodb_buffer_pool_size 是 InnoDB 存储引擎的关键参数,用于配置 InnoDB 缓冲池的大小。

默认大小为 128M,但您应该根据服务器的物理内存进行调整。

专用数据库服务器,可以将缓冲池大小设置为服务器物理内存的 80%。

可以动态设置,允许在不重新启动服务器的情况下调整缓冲池的大小。

Innodb_buffer_pool_instances

innodb_buffer_pool_instances 是用于配置多个缓冲池实例的参数。

默认情况下,它设置为 1,表示只有一个缓冲池实例。

当缓冲池大小大于 1G 时,将设置为大于 1 的值可以提高服务器的可扩展性。

大的缓冲池可以减小多次磁盘 I/O 访问相同的表数据。

配置示例

假设您的服务器物理内存足够,您可以设置为 1G,并将设置为 1。

请注意,必须是的倍数。

在线调整

您可以使用以下语句在线调整 InnoDB 缓冲池大小

--设置为 3G

监控在线缓冲池调整进度

性能验证

您可以通过分析 InnoDB 缓冲池的性能来验证配置是否合适。

计算 InnoDB 缓冲池命中率

Performance=innodb_buffer_pool_reads/innodb_buffer_pool_read_requests*100

如果命中率低于 99%,可以考虑增加。

可见 innodb_buffer_pool_size 和 innodb_buffer_pool_instances 参数的调整是要根据实际调试来选择的,比较适合专业运维人员选择使用,新手可以根据服务器物理内存大小适当的加大 innodb_buffer_pool_size 参数即可

Memcached 其实是非常适合 LNMP 环境的站点服务器使用的,主要原因就是其简单高效的内存利用率了,这正是我们需要的,也是 Memcached 加速原理的主要表现了。Memcached 就是把需要 CPU 计算的重复性的东西都有序的保存在物理内存里以实现可以被最快的速度重复调用,让 CPU 能有更多空闲时间处理其他的运算请求,所谓的加速其实就是体现在这里而已,说白了 Memcached 是变相的给 CPU 加速了,知道 Memcached 这个原理其实就足够了。

同时,明月要再次强调一下,像我们这种站点服务器使用 Memcached 就足够了,真心没有必要选择 Redis 的,因为 Redis 更多的时候比较适用于独立数据库服务器或者集群数据库服务器上使用,具体可以参考【理智冷静的使用 Memcached 或者 Redis】一文,有专门详细的论述。

如果你的 WordPress 站点需要处理十万、百万级的内容量就要像【WordPress 到底能不能承受百万级内容?】一文里说的,必须搭建一个或者 N 个独立的数据库服务器,每个独立的数据库服务器都充分的利用物理内存缓存查询记录再通过内网跟网站服务器通信实现数据库主从复制和负载均衡来缓解数据库的实时查询压力,基本上这种部署都属于是企业级的了,成本和维护压力也是很大的,比较适合拥有专业的运维技术团队了,就不属于是咱们个人网站的范畴了。

最新文章
无锡爱采购代运营的选择
企业将首先考虑进入任何平台的成本和收益,尤其是对中小型企业而言。没有足够的资金和时间来一个平台是否有效。百度爱采购在这方面有什么具体优势?让我们互相了解一下。1.独家名片。在百度,的搜索结果中,会显示特殊的卡片来为企业创建品
分步拆解,使用Qwen大模型创建多语言聊天和翻译应用
随着全球化进程的加速,跨语言跨文化的交流和沟通越来越重要。如今,借助先进的AI技术,像Qwen 2 LLM这样的大语言模型,可以帮助快速开发出支持多语言的应用。 使用Qwen 2 LLM构建一个支持英语、中文、日语等多种
网站SEO排名优化的原理是什么
一、网站优化排名的对象是什么1、一个网站是由众多的网页组成的,网站是一个或者多个网页组成的。2、的对象是网页而不是网站,就像奥运会上的运动员得奖一样,针对的对象是运动员,而不是运动员所在的国家。关于网站优化排名的误区就是,一
谷歌怎么做seo优化_何时规范化、Noindex或不使用类似内容
想象你自己的内容。你有没有带一些可以扔掉的行李?携带一些你想保留的东西,但可能想改变用途或以不同的方式看待?谷歌搜索引擎优化这与网站内容没有什么不同。我们都可能会坐在一起思考我们想从网站上删除的内容,但意识到仍然需要它,无
sci润色服务网站777:专业高效的SCI论文润色服务,助您轻松发表学术成果
润色服务的重要性SCI论文的构成要素如何选择合适的润色服务常见的SCI润色问题与解决方法提升论文质量的小技巧  科研工作者在撰写和发表科学论文时,语言表达清晰、逻辑严谨是至关重要的一环。许多研究人员可能对学术英语不够熟悉,这就导
寒冬里的一抹春色 夏普V703SH清新评测
虽然来自日本的SHARP夏普公司从未以自我品牌在中国大陆地区发布过手机,但他们旗下的每一款产品都在小编的朋友圈中拥有着非常良好的口碑。从当年由大唐贴牌的GX10N和GX20N,到现在水货市场中如日中天的V902SH与V903SH(港行型号为SX813和SX
利用代理IP爬取Zillow房产数据用于数据分析
最近数据分析的热度在编程社区不断攀升,有很多小伙伴都开始学习或从事数据采集相关的工作。然而,网站数据已经成为网站的核心资产,许多网站都会设置一系列很复杂的防范措施,阻止外部人员随意采集其数据。为了解
济南能投集团:逆雪而行,“汇心”守护
12月13日,济南迎来了今冬初雪,济南能投集团紧绷稳定供热“责任弦”,充分发挥智慧供热系统的特色和优势,通过运用客服热线系统、生产运营管理系统、安全大数据系统等信息化平台,各部门精准联动,各单位积极响应,凝心聚力,进入全时守候
百度快照优化-百度快照优化公司分享:如何在百度发布短视频
 相信很多站长都遭遇过自己网站百度快照迅速回档的尴尬事情,今天云无限百度快照优化主要谈谈网站快照回档的原因,以及出现百度快照回档以后如何解决,让百度快照优化恢复正常。出现百度快照优化的回档一般有四个方面的原因,百度自身问题
相关文章
推荐文章
发表评论
0评