内存占用过过高
具体现象:
- httpd进程占用1.2GB左右的空间
- 重启httpd服务,内存占用减少,但是随着访问页面,内存占用越来越高
- httpd进程长时间不释放内存
插件的二次开发
有时插件存在一定的漏洞或者不尽如人意的地方,这时可以通过修改插件源码来实现自己想要的功能。
但是直接修改插件源码会导致插件在更新时修改被覆盖,因此每次更新插件都需要重新进行修改,非常繁琐。
实际上WordPress和插件开发者通常提供了很多的hooks,可以利用add_filter接口,将回调函数添加到对应的hook上,从而实现对插件的二次开发。
并且,可以利用WordPress子主题的功能,将实现的hook放置在子主题的functions.php
中,从而使得插件的更新不再影响二次开发。
例如:
PHP
/**
* Fix search error when site language is Chinese
*/
add_filter( 'astra_theme_defaults', 'fix_search_title' );
function fix_search_title($defaults) {
$defaults['section-search-page-title-custom-title'] = '搜索结果:';
return $defaults;
}
上述代码将fix_search_title
函数添加到astra_theme_defaults
的hook上,从而将在插件进行回调时,将section-search-page-title-custom-title
选项设置为'搜索结果:'
。
MySQL内存优化
参考此文,修改MySQL配置,关闭性能监控,降低CPU与内存使用量:
config
[mysqld]
performance_schema = off
迁移至Nginx以减少内存开销
内容较长,详见此文章。