As promised I've did a simple FastRouter performance test with 1.4.4 and current 1.5 dev branch. This is not very scientific but numbers are stable and repeatable.
My cluster consist of 4 backend nodes and 1 FastRouter with nginx in front (nginx->fastrouter->nodes). All nodes are running on HP DL 360 G6 (2x Xeon [email protected] and 32GB of ram). I've tested small static files performance to stress the FastRouter itself as much as possible, not the app I'm running. All tests were run using apache benchmark with this command line: $ ab -c <256-1000> -n 100000 -H "Host: my.app.com" http://10.0.0.99:8080/static/css/fullcalendar.css fullcalendar.css has size of 10699 bytes Results are available at https://gist.github.com/4660375 (email will most likely eat table formatting) Detailed logs are attached. tl;dr version - 1.5 improved FastRouter stability and performance, there are no failed requests with 1.5 under high concurrency, max response times are also lower. It's just got better Great work Roberto, 1.5 is looking really good, it received a lot of small fixes and enhancements, i'm getting tempted to start using it on production nodes ;) -- Łukasz Mierzwa
This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 10.0.0.99 (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Completed 100000 requests Finished 100000 requests Server Software: nginx/1.2.4 Server Hostname: 10.0.0.99 Server Port: 8080 Document Path: /static/css/fullcalendar.css Document Length: 10699 bytes Concurrency Level: 256 Time taken for tests: 19.579 seconds Complete requests: 100000 Failed requests: 91 (Connect: 0, Receive: 0, Length: 91, Exceptions: 0) Write errors: 0 Non-2xx responses: 91 Total transferred: 1090935764 bytes HTML transferred: 1068942043 bytes Requests per second: 5107.40 [#/sec] (mean) Time per request: 50.123 [ms] (mean) Time per request: 0.196 [ms] (mean, across all concurrent requests) Transfer rate: 54412.54 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 11 182.9 0 9004 Processing: 1 35 264.0 3 7018 Waiting: 1 34 263.9 3 7018 Total: 1 46 321.8 3 9007 Percentage of the requests served within a certain time (ms) 50% 3 66% 4 75% 4 80% 4 90% 6 95% 208 98% 215 99% 2531 100% 9007 (longest request)
This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 10.0.0.99 (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Completed 100000 requests Finished 100000 requests Server Software: nginx/1.2.4 Server Hostname: 10.0.0.99 Server Port: 8080 Document Path: /static/css/fullcalendar.css Document Length: 10699 bytes Concurrency Level: 512 Time taken for tests: 18.490 seconds Complete requests: 100000 Failed requests: 218 (Connect: 0, Receive: 0, Length: 218, Exceptions: 0) Write errors: 0 Non-2xx responses: 218 Total transferred: 1089590072 bytes HTML transferred: 1067605114 bytes Requests per second: 5408.32 [#/sec] (mean) Time per request: 94.669 [ms] (mean) Time per request: 0.185 [ms] (mean, across all concurrent requests) Transfer rate: 57547.39 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 24 273.5 0 9008 Processing: 1 62 374.3 3 7477 Waiting: 1 61 374.0 3 7477 Total: 1 87 467.0 4 9215 Percentage of the requests served within a certain time (ms) 50% 4 66% 4 75% 5 80% 5 90% 12 95% 214 98% 2470 99% 3010 100% 9215 (longest request)
This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 10.0.0.99 (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Completed 100000 requests Finished 100000 requests Server Software: nginx/1.2.4 Server Hostname: 10.0.0.99 Server Port: 8080 Document Path: /static/css/fullcalendar.css Document Length: 10699 bytes Concurrency Level: 756 Time taken for tests: 19.950 seconds Complete requests: 100000 Failed requests: 277 (Connect: 0, Receive: 0, Length: 277, Exceptions: 0) Write errors: 0 Non-2xx responses: 277 Total transferred: 1088975827 bytes HTML transferred: 1066994720 bytes Requests per second: 5012.50 [#/sec] (mean) Time per request: 150.823 [ms] (mean) Time per request: 0.200 [ms] (mean, across all concurrent requests) Transfer rate: 53305.60 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 38 335.7 1 8995 Processing: 1 101 502.7 4 12281 Waiting: 1 99 502.1 3 12275 Total: 1 139 606.3 4 15284 Percentage of the requests served within a certain time (ms) 50% 4 66% 6 75% 8 80% 10 90% 215 95% 428 98% 3010 99% 3211 100% 15284 (longest request)
This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 10.0.0.99 (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Completed 100000 requests Finished 100000 requests Server Software: nginx/1.2.4 Server Hostname: 10.0.0.99 Server Port: 8080 Document Path: /static/css/fullcalendar.css Document Length: 10699 bytes Concurrency Level: 256 Time taken for tests: 19.088 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Total transferred: 1091910919 bytes HTML transferred: 1069910699 bytes Requests per second: 5238.83 [#/sec] (mean) Time per request: 48.866 [ms] (mean) Time per request: 0.191 [ms] (mean, across all concurrent requests) Transfer rate: 55862.70 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 14 201.3 0 3011 Processing: 1 31 246.5 3 4641 Waiting: 1 31 246.3 2 4641 Total: 1 45 323.4 3 6213 Percentage of the requests served within a certain time (ms) 50% 3 66% 3 75% 4 80% 4 90% 5 95% 105 98% 215 99% 2998 100% 6213 (longest request)
This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 10.0.0.99 (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Completed 100000 requests Finished 100000 requests Server Software: nginx/1.2.4 Server Hostname: 10.0.0.99 Server Port: 8080 Document Path: /static/css/fullcalendar.css Document Length: 10699 bytes Concurrency Level: 512 Time taken for tests: 17.799 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Total transferred: 1091905792 bytes HTML transferred: 1069905572 bytes Requests per second: 5618.17 [#/sec] (mean) Time per request: 91.133 [ms] (mean) Time per request: 0.178 [ms] (mean, across all concurrent requests) Transfer rate: 59907.32 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 26 280.2 0 9013 Processing: 1 58 352.3 3 9022 Waiting: 1 56 352.0 3 9022 Total: 1 84 453.0 3 9024 Percentage of the requests served within a certain time (ms) 50% 3 66% 4 75% 4 80% 5 90% 8 95% 213 98% 2999 99% 3010 100% 9024 (longest request)
This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 10.0.0.99 (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Completed 100000 requests Finished 100000 requests Server Software: nginx/1.2.4 Server Hostname: 10.0.0.99 Server Port: 8080 Document Path: /static/css/fullcalendar.css Document Length: 10699 bytes Concurrency Level: 756 Time taken for tests: 17.521 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Total transferred: 1091907240 bytes HTML transferred: 1069907020 bytes Requests per second: 5707.56 [#/sec] (mean) Time per request: 132.456 [ms] (mean) Time per request: 0.175 [ms] (mean, across all concurrent requests) Transfer rate: 60860.62 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 38 340.5 1 9009 Processing: 1 83 426.1 3 4835 Waiting: 1 81 425.4 3 4832 Total: 1 121 548.7 4 9012 Percentage of the requests served within a certain time (ms) 50% 4 66% 4 75% 5 80% 6 90% 210 95% 224 98% 3008 99% 3014 100% 9012 (longest request)
This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 10.0.0.99 (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Completed 100000 requests Finished 100000 requests Server Software: nginx/1.2.4 Server Hostname: 10.0.0.99 Server Port: 8080 Document Path: /static/css/fullcalendar.css Document Length: 10699 bytes Concurrency Level: 1000 Time taken for tests: 17.349 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Total transferred: 1091900000 bytes HTML transferred: 1069900000 bytes Requests per second: 5763.94 [#/sec] (mean) Time per request: 173.492 [ms] (mean) Time per request: 0.173 [ms] (mean, across all concurrent requests) Transfer rate: 61461.42 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 50 386.1 1 9010 Processing: 1 109 493.8 4 11315 Waiting: 1 106 493.3 3 11315 Total: 1 159 634.6 4 11325 Percentage of the requests served within a certain time (ms) 50% 4 66% 6 75% 7 80% 9 90% 217 95% 428 98% 3011 99% 3035 100% 11325 (longest request)
_______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
