In this post, I will show how to increase the speed of G-Web and explain how one parameter affects the overall speed of grommunio. These parameters can be used for small and medium-sized systems. For grommunio systems with more than 1,000 mailboxes, more precise fine-tuning is required.
These instructions are suitable for all operating systems, but are primarily intended for SuSE. For Debian, please refer to the relevant explanations in the appropriate sections.
We change parameters in the following configuration files: /etc/gromox/http.cfg, /etc/gromox/zcore.cfg and /etc/php8/fpm/php-fpm.d/pool-grommunio-web.conf for SuSE, as well as /etc/nginx/nginx.conf.
In /etc/gromox/http.cfg add the following parameters to the end of the file:
#
# Wg: E-1992: The buffer pool "http_blocks_allocator" is full. ..
# Default: 400
context_num=1800
# Default: 256K
context_average_mem=1024
#
# This speeds up the G-web.
# Connection load factor (oversubscription ratio) for a processing thread.
# Default: 20
http_thread_charge_num=40
#
# The initial and also minimum number of client processing threads to keep around.
# Default: 5
http_thread_init_num=10
#
# remove 'exmdb-audit: truncated message' from journalctl
# Default: 4 (notice)
http_log_level=3
#
Add the following parameters to the end of the /etc/gromox/zcore.cfg file:
# This increases the G-Web speed:
# For every exmdb server in exmdb_list.txt, establish and keep this many number of outbound connections for sending commands.
# Default: 10
rpc_proxy_connection_num=20
#
# The maximum number of object handles each session can have at any one time.
# Default: 500
zcore_max_obh_per_session=1000
#
# The minimum number of client processing threads to keep around.
# Default: 10
zcore_threads_num=20
#
In /etc/php8/fpm/php-fpm.d/pool-grommunio-web.conf, comment out and add the following parameters:
Comment out the following parameters:
;pm = dynamic
;pm.max_children = 250
;pm.start_servers = 8
;pm.min_spare_servers = 8
;pm.max_spare_servers = 16
Below, add the following parameters:
; WH – This increases the G-Web speed.
pm = ondemand
pm.max_children = 250
pm.process_idle_timeout = 10s
pm.max_requests = 100;
; WH end
This modification changes the PHP-FPM model from dynamic to ondemand and increases some values.
Please note that for Debian 12, edit the file: /etc/php/8.2/fpm/pool.d/pool-grommunio-web.conf and for Debian 13, edit the file: /etc/php/8.4/fpm/pool.d/pool-grommunio-web.conf.
Finally, edit the /etc/nginx/nginx.conf file.
In this file, we only need to change one parameter: worker_processes 1; to worker_processes 10;.
#worker_processes 1;
worker_processes 10;
Please note that this change is not needed on a Debian system as Debian sets worker_processes auto; as the default.
We now have 10 worker processes for SuSE, which speeds up the overall performance, not only G-Web.
We now need to restart the services to activate the changes:
For SuSE, run the following commands:
systemctl restart gromox-http gromox-zcore php-fpm nginx
For Debian 12 (Bookworm):
systemctl restart gromox-http gromox-zcore php8.2-fpm
For Debian 13 (Trixie):
systemctl restart gromox-http gromox-zcore php8.4-fpm
Enjoy Grommunio!