diff --git a/manifests/agent/notification.pp b/manifests/agent/notification.pp
index 0d0af2f2..3f961611 100644
--- a/manifests/agent/notification.pp
+++ b/manifests/agent/notification.pp
@@ -42,18 +42,21 @@
 # [*disable_non_metric_meters*]
 #   (optional) Disable or enable the collection of non-metric meters.
 #   Default to $::os_service_default
+# [*notification_workers*]
+#   (optional) Number of workers for notification service (integer value).
+#   Defaults to $::os_service_default
 #
 #  [*package_ensure*]
 #    (optional) ensure state for package.
 #    Defaults to 'present'
 #
-
 class ceilometer::agent::notification (
   $manage_service            = true,
   $enabled                   = true,
   $ack_on_event_error        = true,
   $store_events              = false,
   $disable_non_metric_meters = $::os_service_default,
+  $notification_workers      = $::os_service_default,
   $package_ensure            = 'present',
 ) {
 
@@ -92,6 +95,7 @@ class ceilometer::agent::notification (
     'notification/ack_on_event_error'       : value => $ack_on_event_error;
     'notification/store_events'             : value => $store_events;
     'notification/disable_non_metric_meters': value => $disable_non_metric_meters;
+    'DEFAULT/notification_workers'          : value => $notification_workers;
   }
 
 }
diff --git a/manifests/api.pp b/manifests/api.pp
index cf9e9dea..7c696a64 100644
--- a/manifests/api.pp
+++ b/manifests/api.pp
@@ -73,6 +73,10 @@
 #   to make ceilometer-api be a web app using apache mod_wsgi.
 #   Defaults to '$::ceilometer::params::api_service_name'
 #
+# [*api_workers*]
+#   (optional) Number of workers for Ceilometer API server (integer value).
+#   Defaults to $::os_service_default
+#
 class ceilometer::api (
   $manage_service             = true,
   $enabled                    = true,
@@ -85,6 +89,7 @@ class ceilometer::api (
   $host                       = '0.0.0.0',
   $port                       = '8777',
   $service_name               = $::ceilometer::params::api_service_name,
+  $api_workers                = $::os_service_default,
   # DEPRECATED PARAMETERS
   $keystone_host              = '127.0.0.1',
   $keystone_port              = '35357',
@@ -145,6 +150,7 @@ class ceilometer::api (
   }
 
   ceilometer_config {
+    'DEFAULT/api_workers'                  : value => $api_workers;
     'keystone_authtoken/admin_tenant_name' : value => $keystone_tenant;
     'keystone_authtoken/admin_user'        : value => $keystone_user;
     'keystone_authtoken/admin_password'    : value => $keystone_password, secret => true;
diff --git a/manifests/collector.pp b/manifests/collector.pp
index bcddc7e4..d58444ba 100644
--- a/manifests/collector.pp
+++ b/manifests/collector.pp
@@ -32,14 +32,19 @@
 #    Can be an array or a string.
 #    Defaults to 'database'
 #
+#  [*collector_workers*]
+#    (optional) Number of workers for collector service (integer value).
+#    Defaults to $::os_service_default
+#
 class ceilometer::collector (
-  $manage_service   = true,
-  $enabled          = true,
-  $package_ensure   = 'present',
-  $udp_address      = '0.0.0.0',
-  $udp_port         = '4952',
-  $meter_dispatcher = 'database',
-  $event_dispatcher = 'database',
+  $manage_service    = true,
+  $enabled           = true,
+  $package_ensure    = 'present',
+  $udp_address       = '0.0.0.0',
+  $udp_port          = '4952',
+  $meter_dispatcher  = 'database',
+  $event_dispatcher  = 'database',
+  $collector_workers = $::os_service_default,
 ) {
 
   include ::ceilometer::params
@@ -53,10 +58,11 @@ class ceilometer::collector (
   }
 
   ceilometer_config {
-    'collector/udp_address':    value => $udp_address;
-    'collector/udp_port':       value => $udp_port;
-    'DEFAULT/meter_dispatcher': value => join(any2array($meter_dispatcher), ',');
-    'DEFAULT/event_dispatcher': value => join(any2array($event_dispatcher), ',');
+    'collector/udp_address':     value => $udp_address;
+    'collector/udp_port':        value => $udp_port;
+    'DEFAULT/meter_dispatcher':  value => join(any2array($meter_dispatcher), ',');
+    'DEFAULT/event_dispatcher':  value => join(any2array($event_dispatcher), ',');
+    'DEFAULT/collector_workers': value => $collector_workers;
   }
 
   Package[$::ceilometer::params::collector_package_name] -> Service['ceilometer-collector']
diff --git a/spec/classes/ceilometer_agent_notification_spec.rb b/spec/classes/ceilometer_agent_notification_spec.rb
index eb7e3641..dbcde79b 100644
--- a/spec/classes/ceilometer_agent_notification_spec.rb
+++ b/spec/classes/ceilometer_agent_notification_spec.rb
@@ -45,6 +45,7 @@ describe 'ceilometer::agent::notification' do
     end
 
     it 'configures notifications parameters in ceilometer.conf' do
+      is_expected.to contain_ceilometer_config('DEFAULT/notification_workers').with_value('<SERVICE DEFAULT>')
       is_expected.to contain_ceilometer_config('notification/ack_on_event_error').with_value( params[:ack_on_event_error] )
       is_expected.to contain_ceilometer_config('notification/store_events').with_value( params[:store_events] )
       is_expected.to contain_ceilometer_config('notification/disable_non_metric_meters').with_value('<SERVICE DEFAULT>')
diff --git a/spec/classes/ceilometer_api_spec.rb b/spec/classes/ceilometer_api_spec.rb
index 8676c5a0..eb6c894c 100644
--- a/spec/classes/ceilometer_api_spec.rb
+++ b/spec/classes/ceilometer_api_spec.rb
@@ -52,6 +52,7 @@ describe 'ceilometer::api' do
       is_expected.to contain_ceilometer_config('keystone_authtoken/auth_uri').with_value( params[:keystone_protocol] + "://" + params[:keystone_host] + ":5000/" )
       is_expected.to contain_ceilometer_config('api/host').with_value( params[:host] )
       is_expected.to contain_ceilometer_config('api/port').with_value( params[:port] )
+      is_expected.to contain_ceilometer_config('DEFAULT/api_workers').with_value('<SERVICE DEFAULT>')
     end
 
     context 'when specifying keystone_auth_admin_prefix' do
diff --git a/spec/classes/ceilometer_collector_spec.rb b/spec/classes/ceilometer_collector_spec.rb
index 91de8a8f..4c680fdf 100644
--- a/spec/classes/ceilometer_collector_spec.rb
+++ b/spec/classes/ceilometer_collector_spec.rb
@@ -55,6 +55,7 @@ describe 'ceilometer::collector' do
         is_expected.to contain_ceilometer_config('collector/udp_port').with_value( '4952' )
         is_expected.to contain_ceilometer_config('DEFAULT/meter_dispatcher').with_value( 'database' )
         is_expected.to contain_ceilometer_config('DEFAULT/event_dispatcher').with_value( 'database' )
+        is_expected.to contain_ceilometer_config('DEFAULT/collector_workers').with_value('<SERVICE DEFAULT>')
       end
 
       it 'installs ceilometer-collector package' do