NextCloud Performance Optimization for Large Amounts of Data


When NextCloud is used for large amounts of data, the service may work slower. To improve performance, you can use caching or run software optimization. This article explains how to do this.

Why optimize performance

Performance optimization allows you to:

  • Accelerate data processing. This is achieved by improving processing algorithms, reducing the number of executed cycles and using more efficient data structures.

  • Increase scalability. Optimization allows the system to handle larger volumes of data and perform more operations.

  • Reduce infrastructure load. By using system resources more efficiently, the load on hardware is reduced. This results in better overall performance.

  • Analyze data faster. This is achieved by speeding up information processing.

  • Increase availability. Optimization means that outages and other disruptions are much less frequent. As a result, the system remains available 24/7.

How to reduce system load

When working with large amounts of data, the system load increases significantly and the speed of processes slows down. First, check that your PC has enough RAM. You can use specialised tools such as htop, netdata, iotop, etc. to identify the cause of slowdowns. These tools can help you find out which process is preventing your system from running efficiently and quickly.

htop is a specialised system process viewer and text mode application that allows you to monitor your system online. The tool is easy to use and the interface is simple and straightforward. With htop you can get a complete list of all running processes.

htoooop.png

Netdata is a real-time system performance monitoring tool. Unlike its analogues, it is primarily focused on collecting and visualising metrics. The utility is able to display interactive graphs that show all the collected values to perform analysis. Netdata does not interrupt applications already running in the system. With its help, you can track metrics such as CPU usage statistics, memory consumption, I/O operations, and networking. In addition, Netdata includes plug-ins for tracking services such as Postfix, Squid, PHP-FPM, etc.

Netdata

Iotop is a tool that displays information about the total and current number of disk access operations for a file system, and allows you to understand which process is consuming the disc the most. Iotip shows real-time disc activity. The tool looks at kernel I/O usage data and displays a table with the results; you can see the bandwidth and I/O read and write times of each process.

Iotop

Other ways to reduce load:

  1. In the system configuration, look for the loglevel parameter, which is responsible for the severity of the log. For diagnostic purposes, use Debug when a problem occurs. If you do, you should reset the level to Warn.

  2. Make sure the language is set to false in debug mode. It is installed by default. It makes debugging easier. However, you should not use it in a production environment unless you have an urgent problem to solve.

  3. Perform memory cache configuration settings.

  4. Enable data compression on the server, this will reduce the amount of files transferred.

  5. Replace SQLite databases with MySQL. MySQL supports a multi-user environment, so multiple users can work on the same database simultaneously. SQLite was not designed for multi-user environments, so it is usually used for single user environments.

  6. To speed up internal operations, use the AES-NI extension. It is designed to speed up applications that use AES encryption. It will also reduce data processing time.

 Performance settings

There are several steps to change the settings on a running server.

  1. Upgrade Nginx and the PHP language to the latest versions. The developers recommend implementing Nginx server configuration via PHP FPM. You will need an Nginx server to perform the configuration. After that, the interface load time may increase. To prevent this, check the permission for parallel execution of request processing.

  2. To improve application performance, enable the PHP OPcache memory cache to cache bytecode. You can leave the default settings, they will ensure efficient operation. If the cache reaches the 90% limit, the administrator will be notified.

  3. Use Redis DB, it efficiently utilises the in-memory data processing speed and reduces the load of the application's central database. As a result, Redis can improve the performance of PHP applications.

By following the instructions above, you can improve the speed of NextCloud, even when working with large amounts of data.


Is useful article?
0
0
Last articles
Scroll up!