Skip to content

Instantly share code, notes, and snippets.

@dyerrington
Created January 15, 2016 21:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dyerrington/0d2c033b47700cf1427c to your computer and use it in GitHub Desktop.
Save dyerrington/0d2c033b47700cf1427c to your computer and use it in GitHub Desktop.
After many problems, it's been difficult to find which settings with Akka and Spray have an impact on performance. This is an attempt to put all the settings that seem like they matter, in one place.
akka.actor{
creation-timeout = 20s
default-dispatcher {
throughput = 20
executor = "fork-join-executor"
fork-join-executor {
parallelism-min = 16
parallelism-factor = 2.0
parallelism-max = 16
}
}
}
server {
server-header = spray-can/${spray.version}
ssl-encryption = off
pipelining-limit = disabled
idle-timeout = 60 s
request-timeout = 20 s
timeout-timeout = 25 s
chunkhandler-registration-timeout = 1 s
timeout-handler = ""
reaping-cycle = infinite
stats-support = off
remote-address-header = off
raw-request-uri-header = off
transparent-head-requests = on
chunkless-streaming = off
verbose-error-messages = off
request-chunk-aggregation-limit = 0
response-header-size-hint = 512
max-encryption-chunk-size = 1m
bind-timeout = 10s
unbind-timeout = 10s
registration-timeout = 10s
parsing-error-abort-timeout = 2s
default-host-header = ""
automatic-back-pressure-handling = on
ssl-tracing = off
parsing = ${spray.can.parsing}
}
host-connector {
max-connections = 32
max-retries = 20
max-redirects = 0
pipelining = off
idle-timeout = 30 s
client = ${spray.can.client}
}
parsing {
max-uri-length = 2k
max-response-reason-length = 64
max-header-name-length = 64
max-header-value-length = 8k
max-header-count = 64
max-content-length = 8m
max-chunk-ext-length = 256
max-chunk-size = 1m
uri-parsing-mode = strict
illegal-header-warnings = on
header-cache {
default = 12
Content-MD5 = 0
Date = 0
If-Match = 0
If-Modified-Since = 0
If-None-Match = 0
If-Range = 0
If-Unmodified-Since = 0
User-Agent = 32
}
incoming-auto-chunking-threshold-size = infinite
ssl-session-info-header = off
}
manager-dispatcher = "akka.actor.default-dispatcher"
settings-group-dispatcher = "akka.actor.default-dispatcher"
host-connector-dispatcher = "akka.actor.default-dispatcher"
listener-dispatcher = "akka.actor.default-dispatcher"
connection-dispatcher = "akka.actor.default-dispatcher"
spray.io {
tcp {
keep-alive = 1
no-delay = 1
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment