Open oparoz opened 8 years ago
PHP 7 would be awesome for the performance, but there are still some issues with it:
I'm not sure if running redis on a RPI will improve the performance of ownCloud since the low amount of RAM, which means there would be less RAM for MySQL AFAIK.
Another thing that came in my mind is the InooDB buffer pool size which should be correctly set, because otherwise MySQL/MariaDB can crash if there are a lot of requests. (E.g. with the gallery app and a bunch of images) Ref: http://dba.stackexchange.com/questions/27328/how-large-should-be-mysql-innodb-buffer-pool-size
For choosing a PHP version it's important that it's long supported by ownCloud. I.e. choosing for PHP 5.4 now isn't a good idea since the latest version of Sabre-dav needs at least 5.5
I'm not sure if running redis on a RPI will improve the performance of ownCloud since the low amount of RAM, which means there would be less RAM for MySQL AFAIK.
I did some upload performance tests in December and mysql is a bottle neck (i/o-wait). redis should reduce the database load but it didn't really help: https://github.com/owncloud/core/issues/20967 (perhaps you need to tune more parameters).
PHP7:
not officially supported by the distro's
Even if it's not a big deal to compile modules, how should this be maintained? dotdeb.org provides some packages for PHP 7 but redis support is still missing (I'm not sure about imagemick).
Even if it's not a big deal to compile modules, how should this be maintained? dotdeb.org provides some packages for PHP 7 but redis support is still missing (I'm not sure about imagemick).
That was indeed what I wanted to tell :). I think redis-php isn't even available as precompiled module and thus must be compiled always by the user. I think compiling modules on the RPI without the user knowing what's happening is impossible. A simple ./configure
will stop the compilation when a dependency isn't found.
Plus, compiling on RPI will also be not very fast...
All good points. I think PHP 7 should then be considered too young for an arm based project to be released in Q1. Compiling modules ourselves is not a problem, but it would increase the maintenance work load and imho we should leave that to the distros and focus on configuring the OS+stack.
Regarding Redis, it really helps when simply browsing files, because mySQL based file locking offers really bad performance. We'll just have to find the sweet spot in terms of allocated memory.
With ownCloud 9.0 out and PHP 7 maturing quickly, I think we should go for it. It provides a performance boost we can use and if there are problems with it in the first batch - the people who get one can help shake those out ;-)
Redis and imagemagick are available, so that should be OK. I'm sure there are still lots of segfaults issues, but processes are not long running, so not much of a problem.
Required configuration
Required modules
Nice to have modules
PHP version
5.6 or 7? It will depend on the availability of modules