Merge load limiting and rebalancing changes from deleuze
[hcoop/zz_old/config/exim4-hopper.git] / conf.d / main / 02_exim4-config_options
index 0b9a66c..c5e3005 100644 (file)
@@ -67,6 +67,8 @@ message_size_limit = MESSAGE_SIZE_LIMIT
 # in the default config since it is seldomly used and frequently abused.
 # Domain literal support also needs a special router, which is automatically
 # enabled if you use the enable macro MAIN_ALLOW_DOMAIN_LITERALS.
+# Additionally, you might want to make your local IP addresses (or @[])
+# local domains.
 .ifdef MAIN_ALLOW_DOMAIN_LITERALS
 allow_domain_literals
 .endif
@@ -85,7 +87,9 @@ host_lookup = MAIN_HOST_LOOKUP
 
 # In a minimaldns setup, update-exim4.conf guesses the hostname and
 # dumps it here to avoid DNS lookups being done at Exim run time.
-DEBCONF_hardcode_primary_hostname_DEBCONF
+.ifdef MAIN_HARDCODE_PRIMARY_HOSTNAME
+primary_hostname = MAIN_HARDCODE_PRIMARY_HOSTNAME
+.endif
 
 # The settings below, which are actually the same as the defaults in the
 # code, cause Exim to make RFC 1413 (ident) callbacks for all incoming SMTP
@@ -100,6 +104,18 @@ DEBCONF_hardcode_primary_hostname_DEBCONF
 # rfc1413_hosts = *
 # rfc1413_query_timeout = 5s
 
+# When using an external relay tester (such as rt.njabl.org and/or the
+# currently defunct relay-test.mail-abuse.org, the test may be aborted
+# since exim complains about "too many nonmail commands". If you want
+# the test to complete, add the host from where "your" relay tester
+# connects from to the MAIN_SMTP_ACCEPT_MAX_NOMAIL_HOSTS macro.
+# Please note that a non-empty setting may cause extra DNS lookups to
+# happen, which is the reason why this option is commented out in the
+# default settings.
+# MAIN_SMTP_ACCEPT_MAX_NOMAIL_HOSTS = !rt.njabl.org
+.ifdef MAIN_SMTP_ACCEPT_MAX_NOMAIL_HOSTS
+smtp_accept_max_nonmail_hosts = MAIN_SMTP_ACCEPT_MAX_NOMAIL_HOSTS
+.endif
 
 # By default, exim forces a Sender: header containing the local
 # account name at the local host name in all locally submitted messages
@@ -180,15 +196,18 @@ trusted_groups = MAIN_TRUSTED_GROUPS
 
 
 # SMTP Banner. The example includes the Debian version in the SMTP dialog
-# MAIN_SMTP_BANNER = "${primary_hostname} ESMTP Exim ${version_number} (Debian package DEBCONFpackageversionDEBCONF) ${tod_full}"
+# MAIN_SMTP_BANNER = "${primary_hostname} ESMTP Exim ${version_number} (Debian package MAIN_PACKAGE_VERSION) ${tod_full}"
 # smtp_banner = $smtp_active_hostname ESMTP Exim $version_number $tod_full
 
+# load management (hcoop-change)
+smtp_accept_max = 50
+retry_data_expire = 1d 
+retry_interval_max = 4h
+# load max is an initial estimate... 6*NR_CPUS seems reasonable (clinton)
+queue_only_load = 12
+deliver_queue_load_max = 36
+# doubling the queue runner count doesn't seem to negatively impact
+# performance. This may be uneccessary (clinton)
+queue_run_max = 10
 
-# hcoop-change: raise limit for incoming SMTP connections
-smtp_accept_max = 95
-
-# hcoop-change: expire retry data after a single day
-retry_data_expire = 1d
 
-# hcoop-change: don't penalize hosts past 4 hours
-retry_interval_max = 4h