New page describing how to modify EGroupware environment for higher number of users

Ralf Becker 2021-05-03 13:50:32 +02:00
parent 5c5acabb8c
commit 55b1696b9c

@ -0,0 +1,77 @@
> The containerized EGroupware environment is configured for 100-200 users by default.
## Size of shared memory used for the cache (APCu)
> By default a size of 128 MB is used. Current usage can be checked under ```Administration > PHP Information > View APCu stats```
To set a higher amount, you need to add / uncomment the following environment Variable in /etc/egroupware-docker/docker-compose.override.yml
```
service:
egroupware:
environment:
- EGW_APC_SHM_SIZE=256M
```
and rebuild the egroupware container with:
```
/etc/egroupware-docker
docker-compose up -d
```
## Number of connections in Nginx servers
> EGroupware Nginx and our Push server has a limit of 1024 concurrent connections (Nginx proxy on Host under Ubuntu 20.04 only 768!).
To allow a higher number eg. 4096 in our example you need to make the following changes:
1. Modify /etc/nginx/nginx.conf and restart Nginx with: ```nginx -s reload```
```
events {
#worker_connections 768;
worker_connections 4096;
# multi_accept on;
}
# we proxy, so each client connection (worker_connections) need 2 file-handles (worker_rlimit_nofile)!
worker_rlimit_nofile 8192;
```
2. Copy /etc/nginx/nginx.conf from the egroupware-nginx container to /etc/egroupware-docker/egroupware-etc-nginx.conf:
```
docker cp egroupware-nginx:/etc/nginx/nginx.conf /etc/egroupware-docker/egroupware-etc-nginx.conf
```
3. Modify /etc/egroupware-docker/egroupware-etc-nginx.conf
```
events {
#worker_connections 1024;
worker_connections 4096;
# multi_accept on;
}
# we proxy, so each client connection (worker_connections) need 2 file-handles (worker_rlimit_nofile)!
worker_rlimit_nofile 8192;
```
4. Add the modified file as volume to the Nginx container by modifying /etc/egroupware-docker/docker-compose.override.yml
```
service:
nginx:
volumes:
- /etc/egroupware-docker/egroupware-etc-nginx.conf:/etc/nginx/nginx.conf
```
> Indention in YAML files must be done with space (no tabs!) and the indention matters!
5. Add the following environment variable for our push-server to /etc/egroupware-docker/docker-compose.overreide.yml:
```
service:
push:
environment:
- EGW_MAX_PUSH_USERS=4096
```
5. Reload/rebuild the containers:
```
cd /etc/egroupware-docker
docker-compose up -d
```
## Tuning of MariaDB container
You can add your modifications to /etc/egroupware-docker/mariadb.cnf and restart the container.