gpt4 book ai didi

php - 慢查询 WordPress 网站(每月 50 万访问者和 15 万个帖子)

转载 作者:可可西里 更新时间:2023-11-01 11:23:35 26 4
gpt4 key购买 nike

我正在运行一个每月有 50 万访问者和 15 万个帖子的 WordPress 网站,平均每秒有 100 次页面浏览。我想弄清楚服务器上的负载是否正常,或者我是否可以做些什么来解决性能问题而不增加服务器设置和每月成本。

这是我现在正在运行的服务器设置:

  • 2 个前端服务器,Nginx:2 个 CPU 和 4GB RAM
  • 1 个数据库服务器,MariaDB:8 个 CPU 和 16GB 内存
  • 1 个 Redis 服务器:2 个 CPU 和 4GB RAM

WordPress 主题是从头开始开发的,我优化了查询并最大限度地减少了插件的使用(总共 5 个插件)。

我运行带反向代理缓存的 Nginx,我将所有页面缓存 5 分钟,以便能够处理流量高峰(每天两次高峰,在发送时事通讯时 30 分钟内有 3000 名访问者)。

MariaDB 和 Redis 服务器以开箱即用的配置运行 Debian。我唯一改变的是 MariaDB 中的 innodb_buffer_pool_size = 11G 和 max_connections = 300。

当有 100 个实时访问者时,数据库 CPU 的运行率为 50%,当有 300-700 个实时访问者时,数据库 CPU 的运行率为 85-90%。

问题是查询需要一些时间来加载(3-6 秒),即使 CPU 负载为 50%。

我的暂存环境在完全相同的服务器上运行,但使用另一个数据库表(相同数量的帖子)并且查询时间为 0.5-1.5 秒。

所以唯一的区别是生产数据库有更多的并发用户。

是什么导致查询需要这段时间来加载?

最佳答案

听起来您需要节点平衡器或更强大的服务器。

您有 500,000 名访问者,每秒有 100 次页面浏览,Wordpress 出了名的笨拙并且以序列化数据库中的对象而闻名(显示的每个组件都是一个查询)。假设您有一个简单的网站(15 个查询)和 5 个插件(10 个查询),现在 25 乘以 100 的综合浏览量,并且您在 16 GB 的 RAM 上每秒有 2,500 个查询。这意味着每个查询获得大约 0.0064 GB 内存或 6.4 兆字节。

除非您的数据库的表小到可以装进 4.25 软盘,否则我建议您使用更大的功率,先生。

关于php - 慢查询 WordPress 网站(每月 50 万访问者和 15 万个帖子),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55958063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com