diff options
author | Loïc Hoguin <[email protected]> | 2025-09-18 13:57:15 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2025-09-18 13:57:15 +0200 |
commit | e42e75dcec01ad8e13202c0a24fc48b19d62873a (patch) | |
tree | 8c7366ab6ada4482ba20131de66b3da527a9a4e5 /docs/en/cowboy/2.14/guide/performance.asciidoc | |
parent | eb808a3f8bbd97d2a2ea0114b43b708a17b44066 (diff) | |
download | ninenines.eu-master.tar.gz ninenines.eu-master.tar.bz2 ninenines.eu-master.zip |
Diffstat (limited to 'docs/en/cowboy/2.14/guide/performance.asciidoc')
-rw-r--r-- | docs/en/cowboy/2.14/guide/performance.asciidoc | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/docs/en/cowboy/2.14/guide/performance.asciidoc b/docs/en/cowboy/2.14/guide/performance.asciidoc new file mode 100644 index 00000000..10031302 --- /dev/null +++ b/docs/en/cowboy/2.14/guide/performance.asciidoc @@ -0,0 +1,29 @@ +[[performance]] +== Performance + +This chapter describes the performance characteristics +of Cowboy and offers suggestions to get the most +performance out of your application. + +=== One process per connection + +The first version of Cowboy featured a single process +per connection, whereas the current version of Cowboy +features one process per connection plus one process +per request. This has a negative impact on performance, +but is necessary in order to provide a common interface +for both HTTP/1.1 and HTTP/2 (as well as future HTTP +versions). + +It is still possible to use a single process per +connection, and avoid the creation of additional +processes for each request, by implementing a +stream handler to process the requests. This can +be done for all requests, or just for a single +endpoint depending on the application's needs. + +Stream handlers provide an asynchronous interface +and must not block, so the implementation will +be very different from normal Cowboy handlers, +but the performance gains are important enough +to justify it in some cases. |