{"id":16715316,"url":"https://github.com/theangrybyrd/dotnet-web-benchmarks","last_synced_at":"2025-04-10T06:14:49.212Z","repository":{"id":147561172,"uuid":"77317521","full_name":"TheAngryByrd/dotnet-web-benchmarks","owner":"TheAngryByrd","description":"Benchmarks of popular .net web frameworks","archived":false,"fork":false,"pushed_at":"2017-12-13T03:12:48.000Z","size":275,"stargazers_count":22,"open_issues_count":1,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-24T07:26:30.393Z","etag":null,"topics":["benchmark","dotnet","dotnet-core","dotnet-web-benchmarks","fsharp","mono","performance","performance-testing","wrk"],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheAngryByrd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-25T08:33:25.000Z","updated_at":"2022-03-21T13:49:17.000Z","dependencies_parsed_at":"2023-04-10T20:58:02.522Z","dependency_job_id":null,"html_url":"https://github.com/TheAngryByrd/dotnet-web-benchmarks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAngryByrd%2Fdotnet-web-benchmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAngryByrd%2Fdotnet-web-benchmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAngryByrd%2Fdotnet-web-benchmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAngryByrd%2Fdotnet-web-benchmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheAngryByrd","download_url":"https://codeload.github.com/TheAngryByrd/dotnet-web-benchmarks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248166889,"owners_count":21058481,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmark","dotnet","dotnet-core","dotnet-web-benchmarks","fsharp","mono","performance","performance-testing","wrk"],"created_at":"2024-10-12T21:08:56.050Z","updated_at":"2025-04-10T06:14:49.199Z","avatar_url":"https://github.com/TheAngryByrd.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotnet Web Benchmarks\n\nBenchmarks for various dotnet/mono web frameworks\n\n### Requirements\n* Debian 8\n  * [wrk](https://github.com/wg/wrk/wiki/Installing-Wrk-on-Linux)\n  * [Mono](http://www.mono-project.com/download/)\n  * [Dotnet Core](https://www.microsoft.com/net/core#linuxdebian)\n* OSX\n  * [wrk](https://github.com/wg/wrk/wiki/Installing-wrk-on-OSX)\n  * [Mono](http://www.mono-project.com/download/)\n  * [Dotnet Core](https://www.microsoft.com/net/core#macos)\n  \n### Running\n#### Locally\n\n```\nbuild.sh\n``` \nwill compile and run all the projects on port 8083.  It will then run wrk against the web server.  It will then generate a report page in reports and show them.\n\n\n#### Docker\n\n```\n./dockerbuild.sh\nor\ndocker build -t web-benchmarks . \u0026\u0026 docker run web-benchmarks\n```\n\n### Projects Used\n* Stress Tester\n  * [wrk](https://github.com/wg/wrk)\n* Web Servers\n  * [Katana](https://github.com/aspnet/AspNetKatana/)\n  * [Kestrel](https://github.com/aspnet/KestrelHttpServer)\n  * [Nowin](https://github.com/Bobris/Nowin)\n  * [Suave](https://github.com/SuaveIO/suave)\n* Web Frameworks\n  * [Freya](https://github.com/xyncro/freya)\n  * [Giraffe](https://github.com/dustinmoris/Giraffe)\n  * [MVC](https://github.com/aspnet/Mvc)\n  * [NancyFx](https://github.com/NancyFx/Nancy)\n  * [Suave](https://github.com/SuaveIO/suave)\n  * [Uhura](https://github.com/TheAngryByrd/uhura)\n  * [WebApi](https://www.asp.net/web-api)\n\n\n### Results\n\nTake with much salt. Maybe garlic and hot sauce. These are same machine, simple route, text only responses.  \n\n#### My System Info\n\nKey | Value \n--- | --- \nCPU | Intel Core i7-4870HQ CPU 2.50GHz (Haswell)\nOperating System | debian 8\nProcessor Count |\t8\nMono Version\t| Mono 4.6.2 (Stable 4.6.2.16/ac9e222)\nDotnet Version | 1.0.1\n\n#### My Numbers  \n\n     WebServer | WebFramework | TargetFramework | IsMono | Route | Iteration | TotalRequests | Duration | RequestsPerSecond |     Bytes | LatencyMax | LatencyMin | LatencyMean | LatencyStdDev | ErrorConnect | ErrorRead | ErrorStatus | ErrorTimeout | ErrorWrite\n     --------- | ------------ | --------------- | ------ | ----- | ---------:| -------------:| --------:| -----------------:| ---------:| ----------:| ----------:| -----------:| -------------:| ------------:| ---------:| -----------:| ------------:| ----------:\n     Kestrel   | Plain        | netcoreapp1.1   | False  | /     |         1 |       1060546 |       10 |            106054 | 130447158 |  259561.00 |      54.00 |     5277.47 |      14165.44 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | MVC          | netcoreapp1.1   | False  | /     |         1 |       1034063 |       10 |            103406 | 102372237 |  290796.00 |      52.00 |     5391.72 |      16162.06 |            0 |         0 |     1034063 |            0 |          0\n     Kestrel   | Uhura        | netcoreapp1.1   | False  | /     |         1 |       1015145 |       10 |            101514 | 148211170 |  236932.00 |      61.00 |     5677.47 |      13048.55 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | GiraffeTask  | netcoreapp1.1   | False  | /     |         1 |       1000345 |       10 |            100034 | 131045195 |  237455.00 |      54.00 |     5700.70 |      13522.63 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | Giraffe      | netcoreapp1.1   | False  | /     |         1 |        870300 |       10 |             87030 | 114009300 |  276175.00 |      96.00 |     7305.18 |      18247.46 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | Suave        | netcoreapp1.1   | False  | /     |         1 |        660156 |       10 |             66015 |  69316380 |  335601.00 |     103.00 |     8879.25 |      22668.52 |            0 |         0 |           0 |            0 |          0\n     Nowin     | Plain        | net462          | True   | /     |         1 |        538460 |       10 |             53846 |  67845960 |  348920.00 |      89.00 |     8135.10 |      13278.98 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | Freya.Hopac  | netcoreapp1.1   | False  | /     |         1 |        296085 |       10 |             29608 |  42932325 |  593006.00 |     112.00 |    22828.04 |      54159.21 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | GiraffeTask  | net462          | True   | /     |         1 |        247164 |       10 |             24716 |  32378484 |  205664.00 |      49.00 |    17034.42 |      15520.47 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | Uhura        | net462          | True   | /     |         1 |        245500 |       10 |             24550 |  35843000 |  210986.00 |      97.00 |    18693.84 |      17903.50 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | MVC          | net462          | True   | /     |         1 |        240795 |       10 |             24079 |  23838705 |  229201.00 |      84.00 |    17373.01 |      15601.54 |            0 |         0 |      240795 |            0 |          0\n     Kestrel   | Plain        | net462          | True   | /     |         1 |        237962 |       10 |             23796 |  29269326 |  269492.00 |      41.00 |    17735.88 |      15899.80 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | Nancy        | netcoreapp1.1   | False  | /     |         1 |        153905 |       10 |             15390 |  25240897 |  876062.00 |     135.00 |    32310.61 |      50723.56 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | Giraffe      | net462          | True   | /     |         1 |        153801 |       10 |             15380 |  20147931 |  248542.00 |     490.00 |    28603.97 |      25844.67 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | Suave        | net462          | True   | /     |         1 |        123342 |       10 |             12334 |  12950910 |  279379.00 |     496.00 |    33100.21 |      26666.56 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | Freya        | netcoreapp1.1   | False  | /     |         1 |        106716 |       10 |             10671 |  15473820 |  496459.00 |     863.00 |    39773.58 |      39703.33 |            0 |         0 |           0 |            0 |          0\n     Katana    | Plain        | net462          | True   | /     |         1 |         70586 |       10 |              7058 |  13389674 |  343293.00 |    1040.00 |    53897.57 |      17161.31 |            0 |         0 |           0 |            0 |          0\n     Nowin     | WebApi       | net462          | True   | /     |         1 |         67742 |       10 |              6774 |  10296784 | 1978811.00 |     946.00 |    74797.98 |     146274.23 |            0 |         0 |           0 |           77 |          0\n     Nowin     | Freya        | net462          | True   | /     |         1 |         62773 |       10 |              6277 |   8976539 | 1857936.00 |     587.00 |    92571.19 |     141911.91 |            0 |         0 |           0 |           17 |          0\n     Katana    | Nancy        | net462          | True   | /     |         1 |         55927 |       10 |              5592 |  11425148 | 1385824.00 |    2168.00 |    81020.23 |      92869.33 |            0 |         0 |           0 |            0 |          0\n     Nowin     | Nancy        | net462          | True   | /     |         1 |         52773 |       10 |              5277 |   7440993 | 1980466.00 |     908.00 |    85518.30 |     149136.82 |            0 |         0 |           0 |           44 |          0\n     Katana    | WebApi       | net462          | True   | /     |         1 |         48523 |       10 |              4852 |  10315714 | 1161407.00 |    7885.00 |    89805.55 |      90929.35 |            0 |         0 |           0 |            0 |          0\n     Nowin     | Freya.Hopac  | net462          | True   | /     |         1 |         45229 |       10 |              4522 |   6467747 | 1988240.00 |     443.00 |   105973.37 |     161455.26 |            0 |         0 |           0 |           51 |          0\n     Kestrel   | Nancy        | net462          | True   | /     |         1 |         33313 |       10 |              3331 |   5463491 |  677332.00 |     248.00 |   115505.34 |      65668.00 |            0 |         0 |           0 |            0 |          0\n     Kestrel   | Freya.Hopac  | net462          | True   | /     |         1 |         22410 |       10 |              2241 |   3249450 | 1995994.00 |     153.00 |   174835.15 |     259997.06 |            0 |         0 |           0 |          191 |          0\n     Katana    | Freya.Hopac  | net462          | True   | /     |         1 |         22044 |       10 |              2204 |   4077371 | 1931531.00 |     610.00 |   140487.63 |     193104.16 |            0 |         0 |           0 |          234 |          0\n     Kestrel   | Freya        | net462          | True   | /     |         1 |         18523 |       10 |              1852 |   2685835 |  788537.00 |    1629.00 |   204499.24 |     128339.65 |            0 |         0 |           0 |            0 |          0\n     Katana    | Freya        | net462          | True   | /     |         1 |         16778 |       10 |              1677 |   3104040 | 1983555.00 |    2308.00 |   139718.56 |     129948.02 |            0 |         0 |           0 |          154 |          0\n     Suave     | Plain        | net462          | True   | /     |         1 |         11429 |       10 |              1142 |   1680063 | 1999706.00 |    1729.00 |   162512.60 |     141976.08 |            0 |         0 |           0 |          101 |          0\n     Suave     | Freya.Hopac  | net462          | True   | /     |         1 |          4896 |       10 |               489 |    975052 | 1979089.00 |    4356.00 |   438394.75 |     320684.19 |            0 |         0 |           0 |           34 |          0\n     Suave     | WebApi       | net462          | True   | /     |         1 |          3376 |       10 |               337 |    432128 | 1884758.00 |   50812.00 |   274847.33 |     222169.69 |            0 |      3376 |           0 |           28 |          0\n     Suave     | Nancy        | net462          | True   | /     |         1 |          2242 |       10 |               224 |    320606 | 1925343.00 |   68051.00 |   420300.97 |     352848.92 |            0 |      2242 |           0 |           26 |          0\n     Suave     | Freya        | net462          | True   | /     |         1 |          1290 |       10 |               129 |    262320 | 1973407.00 |   47273.00 |   591340.62 |     489579.40 |            0 |         0 |           0 |           74 |          0\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheangrybyrd%2Fdotnet-web-benchmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheangrybyrd%2Fdotnet-web-benchmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheangrybyrd%2Fdotnet-web-benchmarks/lists"}