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

news/2024/11/17 21:38:07/

简述

在刚刚配置完服务器之后,想着试一试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.ppmy.cn/news/31522.html

相关文章

Vue2组件之间的传值通信

父子组件Vue中常见的是父与子组件间的通信&#xff0c;所要用到的关键字段是props和$emit。props接受父组件传给子组件信息的字段&#xff0c;它的类型&#xff1a;Array<string> | Object;详细解释可以参考https://cn.vuejs.org/v2/api/#props$emit由子组件触发事件向上…

表格检测识别技术的发展历程

近年来&#xff0c;随着计算机技术的飞速发展&#xff0c;越来越多的研究者开始关注表格检测识别技术。表格检测识别技术是一种利用计算机自动处理表格的技术&#xff0c;它可以实现从文本中检测出表格&#xff0c;并进行识别和提取。这种技术有助于提高文本处理的效率&#xf…

C语言offsetof(TYPE, MEMBER)全解

offsetof(TYPE, MEMBER) 是一个宏定义&#xff0c;用于计算一个结构体中某个成员的偏移量。 其第一个参数 TYPE 是一个结构体类型&#xff0c;第二个参数 MEMBER 是 TYPE 中的一个成员变量名。 它将返回类型为 size_t 的整数&#xff0c;表示 MEMBER 相对于 TYPE 起始地址的偏…

Java | HashSet 语法

HashSet 基于 HashMap 来实现的&#xff0c;是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的&#xff0c;即不会记录插入的顺序。 HashSet 不是线程安全的&#xff0c; 如果多个线程尝试同时修改 HashSet&#xff0c;则最终结果是不确定的。 您必须…

MySQL连接IDEA详细教程

使用IDEA的时候&#xff0c;需要连接Database&#xff0c;连接时遇到了一些小问题&#xff0c;下面记录一下操作流程以及遇到的问题的解决方法。 目录 MySQL连接IDEA详细教程 MySQL连接IDEA详细教程 打开idea&#xff0c;点击右侧的 Database 或者 选择 View --> Tool Wind…

以java编写员工管理系统(测试过 无问题)

一、系统结果的部分展示 二、题目以及相关要求 三、组成 1.该系统由 Employee 类 、commonEmployee类、Testemd类和managerEmployee类组成 2.Employee实现的代码 public class Employee {private String id;private String name;private String job;private int holiday…

Spring Boot官方例子《Developing Your First Spring Boot Application》无法运行

官方的第一个例子就卡住了&#xff1a; https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#getting-started.first-application 按照要求&#xff0c;一步一步走&#xff1a; 查看Java版本和MVN版本&#xff1a; $ java -version openjdk version &quo…

JDBC快速入门

&#x1f34e;道阻且长&#xff0c;行则将至。&#x1f353; 目录 一、JDBC入门 1.概述 (1)JDBC本质 (2)JDBC好处 2.快速入门 (1)步骤 (2)实践 (3)两个小问题 一、JDBC入门 1.概述 JDBC就是使用Java语言操作关系型数据库的一套API&#xff0c;全称&#xff1a;( Java…