当前位置: 首页 > news >正文

【服务器管理】Wordpress服务器内存占用太高(优化方案详解)

简述

在刚刚配置完服务器之后,想着试一试wordpress这个功能,结果打开服务器后台,发现本来就不多的内存被占用了一大半。

在这里插入图片描述

我真的服了,我还啥都没干呢,就这么多的内存占用,那之后我开始弄了还得了。因此有必要做下优化。

优化

  • 先通过top看下信息(shift + m 会让进程按照memory排序)
    • 发现里面有大量php-fpm进程,经过查找资料发现,php-fpm 的 FastCGI 进程一旦加载就不会释放 。因此有必要先针对这个做一个优化。
top - 04:48:11 up 2 days, 20:53,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 104 total,   1 running, 103 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.0 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :    997.1 total,    131.4 free,    717.9 used,    147.8 buff/cache
MiB Swap:    521.0 total,    463.0 free,     58.0 used.    137.1 avail MemPID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
21342 mysql     20   0 1778188 395324  11060 S   0.0  38.7   5:04.74 mysqld
28108 nginx     20   0  355152  42240  13016 S   0.0   4.1   4:24.63 php-fpm
29179 nginx     20   0  350732  40652  13852 S   0.0   4.0   2:13.90 php-fpm
28085 nginx     20   0  350772  39772  12972 S   0.0   3.9   4:25.10 php-fpm
28153 nginx     20   0  350788  38424  13120 S   0.0   3.8   4:22.82 php-fpm
28087 nginx     20   0  348732  37584  12948 S   0.0   3.7   4:22.89 php-fpm
28086 nginx     20   0  347836  36428  12972 S   0.0   3.6   4:24.11 php-fpm
29777 nginx     20   0  275916  36020  10220 S   0.0   3.5   0:07.34 php-fpm
28084 nginx     20   0  345644  33984  13000 S   0.0   3.3   4:24.00 php-fpm
29426 nginx     20   0  344328  33600  13424 S   0.0   3.3   0:58.41 php-fpm
11892 root      20   0  356208  28112   6888 S   0.0   2.8   0:05.50 firewalld
28088 nginx     20   0  334540  23416  13020 S   0.0   2.3   4:24.00 php-fpm
28082 root      20   0  237752  11416   9396 S   0.0   1.1   0:01.43 php-fpm

php-fpm优化

  • 修改php-fpm文件,一般的地址是/etc/php-fpm.d/www.conf
vi /etc/php-fpm.d/www.conf
  • 修改下面这几个参数,找一下就行(参考文末链接1的内容,结果参数含义如下)
    • pm:表示使用那种方式,有两个值可以选择,就是static(静态)或者dynamic(动态),默认为dynamic。
    • pm.max_children:静态方式下开启的php-fpm进程数量。
    • pm.start_servers:动态方式下的起始php-fpm进程数量。
    • pm.min_spare_servers:动态方式下的最小php-fpm进程数量。
    • pm.max_spare_servers:动态方式下的最大php-fpm进程数量。
pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 10pm.max_requests = 300
  • 保存,之后,重启php-fpm服务
systemctl restart php-fpm
  • 重启之后发现资源释放了很多
    在这里插入图片描述

  • 但是这种优化过一段时间就会变成700MB。不过总体还是有改进了

删除没用的主题

网上还有人说,需要删除没用的主题,但是经过测试没有用

不过这么一堆东西在也确实烦人。

删除的方法是就是进入到wordpress的themes目录
比如我的是/usr/share/nginx/html/wordpress/wp-content/themes

cd /usr/share/nginx/html/wordpress/wp-content/themes
  • 然后把theme的文件夹删除就好了, 通过rm

mysql优化

超乎寻常的有!!! 但是降低一点打开的速度,一般可以降低50%的内存消耗

  • 编辑 my.cnf文件
vi  my.cnf
  • 在文末添加下面这一段 (如果你这个文件中已经有了[mysqld]
[mysqld]
performance_schema = 0
  • 重启mysqld服务
systemctl restart mysqld
  • 反正在我试过之后,内存消耗就没有超过600MB了 简直绝了,至于性能损失,完全可以用更简单的主题,或者是用插件做下优化;总体来说绝对是划算的,毕竟1cpu 1GB服务器这么便宜,这一切绝对是值得的。

参考链接

  1. https://blog.csdn.net/Peigenzi/article/details/73506298
  2. https://blog.csdn.net/renfufei/article/details/105851728
  3. https://stackoverflow.com/questions/45516971/why-is-mysql-consuming-so-much-memory
http://www.lryc.cn/news/37340.html

相关文章:

  • 【ECCV 2022】76小时动捕,最大规模数字人多模态数据集开源
  • 联合解决方案 | 亚信科技AntDB数据库携手浪潮K1 Power赋能关键行业数字化转型,助力新基建
  • Android 单元测试问题总结(Robolectric+JUnit)
  • 专项攻克——二叉树
  • PACS系统源码 PACS源码 三维重建PACS源码
  • 利用Mysql存储过程造百万级数据
  • Vue2组件之间的传值通信
  • Spring Boot官方例子《Developing Your First Spring Boot Application》无法运行
  • 数据结构(3)— 线性表之顺序存储详解介绍(含代码)
  • ChatGPT正当时,让我们一起深耕智能内容生成和智能内容增强领域
  • 天梯赛训练L1-019 (谁先倒)
  • MySQL DQL语句基础(一)
  • ccc-pytorch-LSTM(8)
  • 教育小程序开发解决方案
  • 动态规划之股票问题大总结
  • 我来跟你讲vue进阶
  • #847(Div3)E. Vlad and a Pair of Numbers
  • 怎么把pdf转换成图片?这个方法你值得拥有
  • go语言使用append向二维数组添加一维数组
  • YOLOv5训练大规模的遥感实例分割数据集 iSAID从切图到数据集制作及训练
  • js学习5(函数)
  • 用Qt画一个仪表盘
  • linux 端口查询命令
  • C语言函数: 字符串函数及模拟实现strtok()、strstr()、strerror()
  • 【学习笔记】人工智能哲学研究:《心智、语言和机器》
  • 设计模式之门面模式(外观模式)
  • MySQL - 多表查询
  • 自定义报表是什么?
  • windows安装docker-小白用【避坑】【伸手党福利】
  • 环形链表相关的练习