remove performance tips

not really pertinent to the oC manual, hard to maintain
This commit is contained in:
Carla Schroder
2016-04-19 15:29:59 -07:00
parent 5e850477e7
commit 8205754767
7 changed files with 4 additions and 258 deletions

View File

@@ -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:

View File

@@ -25,4 +25,5 @@ ownCloud Server Configuration
performance_tuning/index
js_css_asset_management_configuration
automatic_configuration
oc_server_tuning

View File

@@ -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`.

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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. Dont 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>