]> git.openstreetmap.org Git - chef.git/blobdiff - roles/wiki.rb
Tighten mod_evasive restrictions for the main site
[chef.git] / roles / wiki.rb
index 845f99fe269b6d13cdf0cfc9567486725ac40557..0c83be4c5ed6e4f16c7093e339e46fa66e91c3a7 100644 (file)
@@ -8,23 +8,27 @@ default_attributes(
     }
   },
   :apache => {
-    :mpm => "prefork",
+    :mpm => "event",
     :timeout => 30,
     :event => {
       :server_limit => 32,
       :max_request_workers => 800,
       :threads_per_child => 50,
       :max_connections_per_child => 10000
+    },
+    :evasive => {
+      :page_count => 250,
+      :site_count => 500
     }
   },
   :elasticsearch => {
-    :version => "5.x",
+    :version => "7.x",
     :cluster => {
       :name => "wiki"
     }
   },
   :exim => {
-    :trusted_users => ["www-data"],
+    :trusted_users => %w[www-data wiki],
     :aliases => {
       :root => "grant"
     },
@@ -37,19 +41,25 @@ default_attributes(
     ]
   },
   :memcached => {
-    :memory_limit => 1024,
+    :memory_limit => 4096,
     :connection_limit => 8192,
-    :chunk_growth_factor => 1.05,
-    :min_item_size => 5
+    :chunk_growth_factor => 1.25,
+    :min_item_size => 48
+  },
+  :sysctl => {
+    :swappiness => {
+      :comment => "Reduce swap usage",
+      :parameters => {
+        "vm.swappiness" => 10
+      }
+    }
   },
   :mysql => {
     :settings => {
       :mysqld => {
         :innodb_buffer_pool_size => "4G",
         :key_buffer_size => "64M",
-        :max_connections => "200",
-        :query_cache_size => "256M",
-        :query_cache_type => "1",
+        :max_connections => "500",
         :sort_buffer_size => "8M",
         :tmp_table_size => "128M"
       }