mirror of
https://github.com/nextcloud/documentation.git
synced 2026-03-27 13:38:39 +07:00
remove performance tips
not really pertinent to the oC manual, hard to maintain
This commit is contained in:
@@ -5,17 +5,12 @@ SMB/CIFS
|
||||
ownCloud can connect to Windows file servers or other SMB-compatible servers
|
||||
with the SMB/CIFS backend.
|
||||
|
||||
<<<<<<< HEAD
|
||||
.. note:: The SMB/CIFS backend requires ``smbclient`` to be installed on the
|
||||
ownCloud server. This should be included in any Linux distribution.
|
||||
=======
|
||||
.. note:: The SMB/CIFS backend requires ``smbclient`` or
|
||||
the PHP smbclient module to be installed on the ownCloud server. The PHP
|
||||
smbclient module is preferred, but either will work. These
|
||||
should be included in any Linux distribution. (See `PECL smbclient
|
||||
<https://pecl.php.net/package/smbclient>`_ if your distro does not include
|
||||
them.)
|
||||
>>>>>>> 189c81a... corrections to smbclient requirements
|
||||
|
||||
You need the following information:
|
||||
|
||||
|
||||
@@ -25,4 +25,5 @@ ownCloud Server Configuration
|
||||
performance_tuning/index
|
||||
js_css_asset_management_configuration
|
||||
automatic_configuration
|
||||
oc_server_tuning
|
||||
|
||||
@@ -5,13 +5,13 @@ ownCloud Server Tuning
|
||||
Using cron to perform background jobs
|
||||
-------------------------------------
|
||||
|
||||
See :doc:`../background_jobs_configuration` for a description and the
|
||||
See :doc:`background_jobs_configuration` for a description and the
|
||||
benefits.
|
||||
|
||||
Enable JavaScript and CSS Asset Management
|
||||
------------------------------------------
|
||||
|
||||
See :doc:`../js_css_asset_management_configuration` for a description and the
|
||||
See :doc:`js_css_asset_management_configuration` for a description and the
|
||||
benefits.
|
||||
|
||||
.. _caching:
|
||||
@@ -22,4 +22,4 @@ Caching
|
||||
Caching improves performance by storing data, code, and other objects in memory.
|
||||
Memory cache configuration for the ownCloud server is no longer automatic in
|
||||
ownCloud 8.1 and up, but must be installed and configured. See
|
||||
:doc:`../caching_configuration`.
|
||||
:doc:`caching_configuration`.
|
||||
@@ -1,91 +0,0 @@
|
||||
======================
|
||||
Database Best Practice
|
||||
======================
|
||||
|
||||
Currently ownCloud supports the following relational database management
|
||||
systems:
|
||||
|
||||
- MySQL
|
||||
- MariaDB
|
||||
- PostgreSQL
|
||||
- SQLite
|
||||
- Oracle
|
||||
|
||||
SQLite is not supported in the Enterprise edition, and is not recommended
|
||||
except for systems with very light workloads, and for testing ownCloud.
|
||||
|
||||
We are using the `doctrine database abstraction layer`_ and schema evolution
|
||||
with a `MDB2 Schema`_ based table description in XML.
|
||||
|
||||
.. _doctrine database abstraction layer:
|
||||
http://www.doctrine-project.org/projects/dbal.html
|
||||
|
||||
.. _MDB2 Schema:
|
||||
https://raw2.github.com/pear/MDB2_Schema/master/docs/
|
||||
xml_schema_documentation.html
|
||||
|
||||
Using MariaDB/MySQL instead of SQLite
|
||||
-------------------------------------
|
||||
|
||||
MySQL or MariaDB are preferred because of the `performance limitations of
|
||||
SQLite with highly concurrent applications
|
||||
<http://www.sqlite.org/whentouse.html>`_, like ownCloud.
|
||||
|
||||
On large instances you could consider `running MySQLTuner
|
||||
<https://github.com/major/MySQLTuner-perl/>`_ to optimize the database.
|
||||
|
||||
See the section :doc:`../../configuration_database/linux_database_configuration`
|
||||
for how to configure ownCloud for MySQL or MariaDB. If your installation is
|
||||
already
|
||||
running on
|
||||
SQLite then it is possible to convert to MySQL or MariaDB using the steps
|
||||
provided in :doc:`../../configuration_database/db_conversion`.
|
||||
|
||||
Improve slow performance with MySQL on Windows
|
||||
----------------------------------------------
|
||||
|
||||
On Windows hosts running MySQL on the same system changing the parameter
|
||||
``dbhost`` in your ``config/config.php``
|
||||
from ``localhost`` to ``127.0.0.1`` could improve the page loading time.
|
||||
|
||||
See also `this forum thread
|
||||
<https://forum.owncloud.org/viewtopic.php?f=17&t=7559>`_.
|
||||
|
||||
Other performance improvements
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
MySQL: compare https://tools.percona.com/wizard to your current settings
|
||||
MariaDB: https://mariadb.com/kb/en/optimization-and-tuning/
|
||||
|
||||
Postgresql
|
||||
----------
|
||||
|
||||
Alternative to MariaDB/MySQL. Used in production by a few core developers.
|
||||
|
||||
Requires at least Postgresql 9.0
|
||||
|
||||
Other performance improvements
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
See http://wiki.postgresql.org/wiki/Performance_Optimization
|
||||
|
||||
Oracle Database
|
||||
---------------
|
||||
|
||||
Usage scenario: Existing enterprise installations. Only core apps are supported
|
||||
and tested. Not recommended because it involves compiling the oci8
|
||||
|
||||
Other performance improvements
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
http://de.slideshare.net/cjorcl/best-practices-php-and-the-oracle-database and
|
||||
ask your DBA.
|
||||
|
||||
Problems
|
||||
^^^^^^^^
|
||||
|
||||
When ORA-56600 occurs (Oracle Bug 8467564) set this php.ini setting:
|
||||
`oci8.statement_cache_size=1000`, see `oracle forum discussion`_
|
||||
|
||||
.. _oracle forum discussion:
|
||||
https://community.oracle.com/message/3468020#3468020
|
||||
@@ -1,20 +0,0 @@
|
||||
================================
|
||||
Server Tuning & Performance Tips
|
||||
================================
|
||||
|
||||
There are a number of options to tune the ownCloud installation and enable a
|
||||
higher level of performance. This chapter gives a few hands-on tips on
|
||||
configuring your database, and LAMP stack to improve performance. This chapter
|
||||
is community-maintained and unsupported; test these tips carefully before
|
||||
deploying them on production servers.
|
||||
|
||||
If you wish to add tips to this page, please put them in the relevant section.
|
||||
If there isn't an appropriate section then start a new one.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
oc_server_tuning
|
||||
database_best_practice
|
||||
webserver_tips
|
||||
ssl_encryption_app
|
||||
@@ -1,41 +0,0 @@
|
||||
====================
|
||||
SSL / Encryption App
|
||||
====================
|
||||
|
||||
SSL (HTTPS) and file encryption/decryption can be offloaded to a processor's
|
||||
AES-NI extension. This can both speed up these operations while lowering
|
||||
processing overhead. This requires a processor with the `AES-NI instruction set
|
||||
<http://wikipedia.org/wiki/AES_instruction_set>`_.
|
||||
|
||||
Here are some examples how to check if your CPU / environment supports the
|
||||
AES-NI extension:
|
||||
|
||||
* For each CPU core present: ``grep flags /proc/cpuinfo`` or as a summary for
|
||||
all cores: ``grep -m 1 ^flags /proc/cpuinfo`` If the result contains any
|
||||
``aes``, the extension is present.
|
||||
|
||||
.. windows is not supported on 8.x
|
||||
.. * On Windows you can run ``coreinfo`` from Sysinternals `Windows
|
||||
.. Sysinternals
|
||||
.. Download Coreinfo
|
||||
.. <https://technet.microsoft.com/en-us/sysinternals/cc835722.aspx>`_ which
|
||||
.. gives you details of the processor and extensions present. Note: you may
|
||||
.. have
|
||||
.. to run the command shell as administrator to get an output.
|
||||
|
||||
* Search eg. on the Intel web if the processor used supports the extension
|
||||
`Intel Processor Feature Filter
|
||||
<http://ark.intel.com/MySearch.aspx?AESTech=true>`_ You may set a filter by
|
||||
``"AES New Instructions"`` to get a reduced result set.
|
||||
|
||||
* For versions of openssl >= 1.0.1, AES-NI does not work via an engine and
|
||||
will not show up in the ``openssl engine`` command. It is active by default
|
||||
on the supported hardware. You can check the openssl version via ``openssl
|
||||
version -a``
|
||||
|
||||
* If your processor supports AES-NI but it does not show up eg via grep or
|
||||
coreinfo, it is maybe disabled in the BIOS.
|
||||
|
||||
* If your environment runs virtualized, check the virtualization vendor for
|
||||
support.
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
===============
|
||||
Web server Tips
|
||||
===============
|
||||
|
||||
PHP safe mode
|
||||
-------------
|
||||
|
||||
PHP safe mode has to be turned off. It is deprecated and has been removed in
|
||||
newer PHP versions. Verify its status with :ref:`label-phpinfo`, and look for
|
||||
``safe_mode
|
||||
on/off``. If it is on, then add this line to ``php.ini`` to turn it off::
|
||||
|
||||
safe_mode = Off
|
||||
|
||||
|
||||
Enable the SPDY / http_v2 protocol
|
||||
----------------------------------
|
||||
|
||||
If you want to enable SPDY for Apache please note the `Known Issues
|
||||
<https://code.google.com/p/mod-spdy/wiki/KnownIssues>`_ of this module to avoid
|
||||
problems after enabling it.
|
||||
|
||||
`<mod-spdy <https://code.google.com/p/mod-spdy/>`_
|
||||
|
||||
Apache Tuning
|
||||
-------------
|
||||
|
||||
Maximum number of Apache processes
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
An Apache process uses around 12MB of RAM. Apache should be configured so that
|
||||
the maximum number of HTTPD processes times 12MB is lower than the amount of
|
||||
RAM. Otherwise the system begins to swap and the performance goes down.
|
||||
|
||||
KeepAlive should be configured with sensible defaults
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The KeepAlive directive enables persistent HTTP connections, allowing multiple
|
||||
requests to be sent over the same TCP connection. This reduces latency by as
|
||||
much as 50%. Especially in combination with the periodic checks of the sync
|
||||
client the following settings are recommended:
|
||||
|
||||
::
|
||||
|
||||
KeepAlive On
|
||||
KeepAliveTimeout 100
|
||||
MaxKeepAliveRequests 200
|
||||
|
||||
mod_gzip
|
||||
^^^^^^^^
|
||||
|
||||
``mod_gzip`` should be used because it speeds up the transfer of data and
|
||||
helps to free server memory, and HTTP connections are closed faster.
|
||||
|
||||
MPM
|
||||
^^^
|
||||
|
||||
Apache prefork has to be used. Don’t use threaded ``mpm`` with ``mod_php``
|
||||
because PHP is currently not thread safe.
|
||||
|
||||
Hostname Lookups
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
# cat /etc/httpd/conf/httpd.conf
|
||||
...
|
||||
HostnameLookups off
|
||||
|
||||
Log files
|
||||
^^^^^^^^^
|
||||
|
||||
Log files should be switched off for maximum performance.
|
||||
|
||||
Comment out the ``CustomLog`` directive. Keep ``ErrorLog`` to be able to track
|
||||
down errors.
|
||||
|
||||
.. todo: loglevel?
|
||||
|
||||
.. commented out until somebody knows what to do with it
|
||||
.. MaxKeepAliveRequests 4096
|
||||
.. ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. ::
|
||||
|
||||
.. <IfModule prefork.c>
|
||||
.. StartServers 100
|
||||
.. MinSpareServers 100
|
||||
.. MaxSpareServers 2000
|
||||
.. ServerLimit 6000
|
||||
.. MaxClients 6000
|
||||
.. MaxRequestsPerChild 4000
|
||||
.. </IfModule>
|
||||
|
||||
.. <Directory "/var/www/html">
|
||||
.. Options Indexes SymLinksIfOwnerMatch AllowOverride All
|
||||
.. </Directory>
|
||||
|
||||
Reference in New Issue
Block a user