我一直在服务器上安装 apcu 和 memcached,但我不确定它们有多大用处。我的网站每次访问的页面数量大多为 2-3 个。我甚至不确定安装它们是好事还是坏事,无论是从 SEO 角度还是从消耗或节省服务器资源角度来说。
我想尝试删除它们并看看会发生什么...但我发现大量关于如何安装它们的指南,但没有关于如何删除它们的指南......所以我有几个问题:
- 是否可以删除 apcu 和 memcached?
- 最重要的是,是否可以在不破坏服务器的情况下安全地完成此操作?
- 或许更重要的是,将它们移除是不是一个愚蠢的想法?
附加信息:
服务器运行良好,当大型 cronjob 启动时(或当有人试图攻击它,但 fail2ban 会处理它)会出现一些峰值,但在其余时间它仍然有大量可用资源。但慢慢地,内存越来越满,一切都越来越接近红色,也许是因为 apcu 或 memcached?
答案1
简短回答:
是否可以删除 APCu 和 Memcached?
是的
是否有可能在不破坏服务器的情况下安全地完成此操作?
是的
把它们移除掉是不是一个愚蠢的想法?
出色地,这取决于
较长的一个:
APCU
只是一个PHP 模块
- 如何禁用?
-
echo "apc.enabled=0" >> /etc/php/7.3/mods-available/apcu.ini
- 当你使用 PHP 7.3 时(就像我的情况一样)
-
Memcached
是一个额外的守护进程
什么是Memcached
Memcached是一个灵活的内存对象缓存守护程序,旨在通过将对象存储在内存中来减轻动态 Web 应用程序中的数据库负载。
它基于 libevent,可根据需要扩展到任何大小,并经过专门优化以避免交换并始终使用非阻塞 I/O。
它只会消耗下面定义的内存(在我的情况下是 512mb)。您有多个选项,如何使用甚至删除它。由于我使用 Debian,所以下面这个是通常的。
但提醒一下,您还必须将其从应用程序中删除。否则它可能会中断或造成不正常的情况。
Debian
apt remove memcached
这不会删除配置,您可能需要添加--purge
上述命令以将其彻底删除。
CentOS
yum remove <package>
如果找不到正确的名称,请使用
yum list installed |grep <name>
memcached配置文件
# memcached default config file
# 2003 - Jay Bonci <[email protected]>
# This configuration file is read by the start-memcached script provided as
# part of the Debian GNU/Linux distribution.
# Run memcached as a daemon. This command is implied, and is not needed for
the
# daemon to run. See the README.Debian that comes with this package for more
# information.
-d
# Log memcached's output to /var/log/memcached
logfile /var/log/memcached.log
# Be verbose
# -v
# Be even more verbose (print client commands as well)
# -vv
# Start with a cap of 64 megs of memory. It's reasonable, and the daemon
default
# Note that the daemon will grow to this size, but does not start out
holding this much
# memory
-m 64
# Default connection port is 11211
-p 11211
# Run the daemon as root. The start-memcached will default to running as
root if no
# -u command is present in this config file
-u memcache
# Specify which IP address to listen on. The default is to listen on all IP
addresses
# This parameter is one of the only security measures that memcached has, so
make sure
# it's listening on a firewalled interface.
-l 127.0.0.1
-l [::1]
# Limit the number of simultaneous incoming connections. The daemon default
is 1024
# -c 1024
# Lock down all paged memory. Consult with the README and homepage before
you do this
# -k
# Return error when memory is exhausted (rather than removing items)
# -M
# Maximize core file limit
# -r
结论
让我们再来谈谈你的观点
- 把它们移除是不是一个坏主意?
这取决于使用情况,因为它应该能提高性能。即使在我最小的 LXC 容器(1CPU/128MB Ram)上,也可以毫无问题地运行 php-apc 和 memcached。此外,两个“缓存”都受配置项的最大 RAM 使用限制。
正如我已经说过的,我仍然认为可能存在X 和 Y 问题
由于您目前没有提供其他信息,但有 3 个问题。到目前为止,我根据当前状态回答了这个问题。