]> git.openstreetmap.org Git - chef.git/blobdiff - roles/nominatim.rb
nominatim: chef up kernel scheduler tuning
[chef.git] / roles / nominatim.rb
index 401f1f75596fcdaff28d50ac698f90ce990958da..8e3ed5d0b29e83cca388398791583fcdfa405286 100644 (file)
@@ -5,7 +5,11 @@ default_attributes(
   :accounts => {
     :users => {
       :lonvia => { :status => :administrator },
-      :twain => { :status => :administrator }
+      :twain => { :status => :administrator },
+      :nominatim => {
+        :status => :role,
+        :members => [ :lonvia, :tomh, :twain ]
+      },
     }
   },
   :apache => {
@@ -13,8 +17,9 @@ default_attributes(
     :timeout => 60,
     :keepalive => false,
     :event => {
-      :max_clients => 560,
-      :threads_per_child => 35
+      :server_limit => 32,
+      :max_clients => 800,
+      :threads_per_child => 50
     }
   },
   :apt => {
@@ -37,9 +42,33 @@ default_attributes(
     :postgres => {
       :comment => "Increase shared memory for postgres",
       :parameters => { 
-        "kernel.shmmax" => 16 * 1024 * 1024 * 1024,
-        "kernel.shmall" => 16 * 1024 * 1024 * 1024 / 4096
+        "kernel.shmmax" => 26 * 1024 * 1024 * 1024,
+        "kernel.shmall" => 26 * 1024 * 1024 * 1024 / 4096
       }
+    },
+    :kernel_scheduler_tune => {
+      :comment => "Tune kernel scheduler preempt",
+      :parameters => {
+        "kernel.sched_min_granularity_ns" => 10000000,
+        "kernel.sched_wakeup_granularity_ns" => 15000000
+      }
+    }
+  },
+  :nominatim => {
+    :repository => "git://git.openstreetmap.org/nominatim.git",
+    :database => {
+        :cluster => "9.1/main",
+        :dbname => "nominatim"
+    },
+    :fpm_pools => {
+        :www => {
+            :pm => "dynamic",
+            :max_children => "50"
+        },
+        :bulk => {
+            :pm => "static",
+            :max_children => "7"
+        }
     }
   }
 )