Aktifkan cache memori Redis dan / atau APCu
NextCloud juga memungkinkan Anda untuk menentukan cache penguncian lokal dan / atau file dalam file config.php -nya. PHP APCu dan Redis keduanya merupakan toko value key yang bisa digunakan untuk mempercepat kinerja aplikasi PHP seperti NextCloud.
Jika Anda menjalankan instance cloud kecil (misalnya, kurang dari 2GB RAM), atau perangkat dengan sumber daya terbatas seperti Raspberry Pi, Redis dapat digunakan untuk caching lokal dan penguncian file.
Untuk menginstal Redis di Ubuntu:
apt-get install redis-server php-redis -y
Kemudian, tambahkan baris berikut ke config.php jika Anda menggunakan server Redis lokal .
'memcache.local' => '\\OC\\Memcache\\Redis',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),
Jika Anda memiliki overhead memori untuk menjalankan PHP APCu dan Redis, Anda akan menikmati kinerja yang lebih baik dengan menjalankan APCu sebagai cache lokal, dan Redis sebagai cache penguncian file berdasarkan tolok ukur pengguna di GitHub.
Untuk menginstal PHP APCu juga:
apt-get install php-apcu -y
Setelah memulai ulang server web Anda, buat perubahan berikut ke config.php
'memcache.local' => '\OC\Memcache\APCu',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),
Instal
Enable caching
The difference in speed between a Nextcloud server without cache and one with is huge. Particularly as the file and folder counts increase and more multimedia files make their way onto the server, caching becomes increasingly important for maintaining speed and performance. ACPu will handle a lot of the caching initially, leaving Redis to manage file locking. As the server grows and ACPu demands more resources, we could configure Redis to take a more active role in distributed caching. Having installed both APCu and Redis earlier, we’ll now configure them.
First, open the Redis configuration file at
/etc/redis/redis.conf
sudo vim /etc/redis/redis.conf
Now, find and change:
port 6379
to port 0
Then uncomment:
unixsocket /var/run/redis/redis.sock
unixsocketperm 700
changing permissions to 770 at the same time: unixsocketperm 770
Save and quit, then add the Apache user
www-data
to the redis
group:sudo usermod -a -G redis www-data
Finally, restart Apache with:
sudo service apache2 restart
And start Redis server with:
sudo service redis-server start
With Redis configured, we can add the caching configuration to the Nextcloud config file:
sudo vim /var/www/html/nextcloud/config/config.php
Add the following:
'memcache.local' => '\\OC\\Memcache\\Redis',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'filelocking.enabled' => 'true',
'redis' =>
array (
'host' => '/var/run/redis/redis.sock',
'port' => 0,
'timeout' => 0.0,
),
A reboot may be required before the configuration change takes effect, but before we do we’ll make sure Redis is enabled to start on boot with:
sudo systemctl enable redis-server
Caching is now configured.
With both of these now resolved, the admin interface is looking a lot healthier: