Skip to content

Commit

Permalink
Fixes #509 - Updated hardware requirements
Browse files Browse the repository at this point in the history
  • Loading branch information
ralf401 authored Aug 6, 2024
1 parent 7b49d05 commit faa5ab3
Showing 1 changed file with 45 additions and 27 deletions.
72 changes: 45 additions & 27 deletions prerequisites/hardware.rst
Original file line number Diff line number Diff line change
@@ -1,41 +1,59 @@
Hardware
********

You can run Zammad on bare metal or on a virtual machine. Choose what
you prefer.
The hardware requirements to run Zammad effectively vary depending on several
factors, for example:

For Zammad and a database server like PostgreSQL we recommend at least:
=======================================================================
- Number of users (especially agents and customers)
- Volume of incoming tickets
- Usage of channels
- Installation type
- Used software which is required to run Zammad

* 2 CPU cores
* 4 GB of RAM (+4 GB if you want to run Elasticsearch on the same server)

For optimal performance up to 40 agents:
========================================
There are even many more factors which have influence on the performance. This
makes it hard to publish general hardware requirements which are fitting
for all use cases. If you don't want to deal with such things, you should
consider our `hosted Zammad setup <https://zammad.com/en/pricing>`_.

* 4 CPU cores
* 6 GB of RAM (+6 GB if you want to run Elasticsearch on the same server)
However, you can use the following information as a rough guide.

Of course at the end it depends on actual load of concurrent agents and
data traffic.
.. tip:: In any case,
more and better hardware ensures that Zammad runs smoothly and the
maintenance breaks for updates should be shorter as well.

.. note::
.. note::

We can't suggest any disk space recommendations, as this highly depends on
how you work. Zammad will always try to recognize the same attachments and
We can't make any disk space recommendations, as this highly depends on
how you work. Zammad will always try to recognize the same attachments and
store it just once.

Performance Tuning
==================
Minimum Setup
=============

For a minimalistic Zammad deployment with a PostgreSQL database server, you
should not go below the following values:

* 2 CPU cores
* 6 GB of RAM (+4 GB if you want to run Elasticsearch on the same server)

If you run your Elasticsearch instance on a lightweight machine like this and
your RAM got exhausted, you could try a less-than-ideal solution like
`limit the ES heap size <https://www.elastic.co/guide/en/elasticsearch/reference/current/advanced-configuration.html#set-jvm-heap-size>`_.

Example Setup
=============

This is a basic setup for **up to 40 agents**. As mentioned above, it highly
depends on many factors, but this can be a good starting point for dimensioning
your system.

As the number of active users on your system grows,
performance will eventually degrade, leading to:
* 4 CPU cores
* 6 GB of RAM (+6 GB if you want to run Elasticsearch on the same server)

* delays for outgoing email,
* long loading times when viewing or creating tickets,
* stale or out-of-sync search results, or
* stale or out-of-sync ticket overviews.
Performance Tuning
==================

You may see modest improvements by
:ref:`setting certain environment variables for Performance Tuning <performance_tuning>`,
such as ``$WEB_CONCURRENCY`` or ``$ZAMMAD_SESSION_JOBS_CONCURRENT``.
As the number of active users and/or tickets grows, performance will
eventually degrade. You should have a look at
:ref:`performance tuning section <performance_tuning>` then, or consider upgrade
your setup.

0 comments on commit faa5ab3

Please sign in to comment.