码上焚香

Yahocen

Nextcloud 设置 APCu

2024-11-25

按照 Nextcloud 介绍,设置 APCu(Alternative PHP Cache user)可以为 Nextcloud 以及其他 PHP 应用程序带来显著的性能提升。以下是使用 APCu 的一些主要好处:

1. 提高性能

  • 缓存预编译的脚本:APCu 可以缓存 PHP 脚本的预编译版本,这样在后续请求中可以直接从缓存中读取,而不需要重新解析和编译脚本。这大大减少了 CPU 的负载,提高了响应速度。

  • 减少磁盘 I/O:由于脚本是从内存中读取的,而不是从磁盘中读取,因此可以显著减少磁盘 I/O 操作,进一步提高性能。

2. 降低服务器负载

  • 减少 CPU 使用率:通过缓存预编译的脚本,CPU 不需要频繁地进行解析和编译操作,从而降低了 CPU 的使用率。

  • 减少内存使用:虽然 APCu 会占用一定的内存来存储缓存数据,但它可以显著减少每次请求所需的内存分配和释放操作,从而整体上降低内存使用量。

3. 优化数据库查询

  • 缓存常用数据:APCu 不仅可以缓存预编译的脚本,还可以缓存常用的数据库查询结果和其他数据。这可以减少对数据库的访问次数,进一步提高性能。

  • 减少数据库负载:通过缓存数据库查询结果,可以显著减少数据库的负载,提高数据库的响应速度。

安装 APCu

可以通过包管理工具直接安装,例如:apt install php-apcu,或者使用命令php -m | grep apcu来检查是否已安装了apcu模块。

设置 APCu

在 Nextcloud 的config.php中设置 'memcache.local' => '\OC\Memcache\APCu'

在命令行环境启用 APCu

我们需要在 cli/php.ini 或者 mods-available/apcu.ini 中添加 apc.enable_cli=1,否则 cron.php 设置的定时任务会出现错误。