From 3469673a11cce21f18da951064aefe6d6bbc4005 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Thu, 16 Apr 2020 12:14:08 -0500 Subject: [PATCH] Add apache connection tuning back to apache This was missed in the migration. Change-Id: I09ac1f117b62b659f93ce01b73a4270378d2e25d --- .../etherpad/files/apache-connection-tuning | 39 +++++++++++++++++++ playbooks/roles/etherpad/tasks/main.yaml | 9 +++++ 2 files changed, 48 insertions(+) create mode 100644 playbooks/roles/etherpad/files/apache-connection-tuning diff --git a/playbooks/roles/etherpad/files/apache-connection-tuning b/playbooks/roles/etherpad/files/apache-connection-tuning new file mode 100644 index 0000000000..158adb0f25 --- /dev/null +++ b/playbooks/roles/etherpad/files/apache-connection-tuning @@ -0,0 +1,39 @@ +# worker MPM +# StartServers: initial number of server processes to start +# MinSpareThreads: minimum number of worker threads which are kept spare +# MaxSpareThreads: maximum number of worker threads which are kept spare +# ThreadLimit: ThreadsPerChild can be changed to this maximum value during a +# graceful restart. ThreadLimit can only be changed by stopping +# and starting Apache. +# ThreadsPerChild: constant number of worker threads in each server process +# MaxClients: maximum number of simultaneous client connections +# MaxRequestsPerChild: maximum number of requests a server process serves +# +# Etherpad Lite clients create a lot of connections. To be able to support +# Several hundred concurrent users we need to make sure that we allow a few +# thousand concurrent connections. This should be ok as typical etherpad use +# involves a couple writers then a bunch of lurkers. The cost of lurkers +# is basically the TCP connection as they don't create DB writes and so on. +# In addition to allowing for connection growth, keep a healthy number of +# spare threads around to better handle thundering herds of users (eg at the +# start of summit sessions). + + ServerLimit 128 + StartServers 3 + MinSpareThreads 96 + MaxSpareThreads 192 + ThreadLimit 64 + ThreadsPerChild 32 + MaxClients 4096 + MaxRequestsPerChild 0 + + + ServerLimit 128 + StartServers 3 + MinSpareThreads 96 + MaxSpareThreads 192 + ThreadLimit 64 + ThreadsPerChild 32 + MaxClients 4096 + MaxRequestsPerChild 0 + diff --git a/playbooks/roles/etherpad/tasks/main.yaml b/playbooks/roles/etherpad/tasks/main.yaml index 717c3fd203..42d004c051 100644 --- a/playbooks/roles/etherpad/tasks/main.yaml +++ b/playbooks/roles/etherpad/tasks/main.yaml @@ -52,6 +52,15 @@ - headers - proxy_wstunnel +- name: Copy apache tuning + copy: + src: apache-connection-tuning + dest: /etc/apache2/conf-enabled/connection-tuning.conf + owner: root + group: root + mode: 0644 + notify: etherpad Reload apache2 + - name: Copy apache config template: src: etherpad.vhost.j2