mzabani / Fos

FastCgi Server designed to run Owin applications side by side with a FastCgi enabled web server.
BSD 2-Clause "Simplified" License
62 stars 12 forks source link

Corrected variable names in example of README.md #1

Closed AlexBoehm closed 10 years ago

mzabani commented 10 years ago

Thank you for helping! How is Fos working out for you?

AlexBoehm commented 10 years ago

Fos is working really great. I tried it in combination with nginx (mono on arch linux). The performance is very impressive. Thanks so much for creating it! I have two questions tough:

mzabani commented 10 years ago

I'm really glad it is working for you! If you have time, would you mind sending me some stats on how many users you serve, Fos's uptime and some other things? Now to your questions:

Still on the queuing matter, I could make the backlog parameter accessible through the API, although I would love to see a way to circunvent the OS's ignoring of it before making this decision.

AlexBoehm commented 10 years ago

I am not using Fos it in production yet. I just wanted to see how my application performs on a pure stack without xsp and System.Web being involved.

Here are some simple stats that I measured using ab.

ab -n 100000 -c 1000 http://127.0.0.1/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (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.4.6
Server Hostname:        127.0.0.1
Server Port:            80

Document Path:          /
Document Length:        192 bytes

Concurrency Level:      1000
Time taken for tests:   76.884 seconds
Complete requests:      100000
Failed requests:        98426
   (Connect: 0, Receive: 0, Length: 98426, Exceptions: 0)
Write errors:           0
Non-2xx responses:      1580
Total transferred:      352017732 bytes
HTML transferred:       342610190 bytes
Requests per second:    1300.65 [#/sec] (mean)
Time per request:       768.845 [ms] (mean)
Time per request:       0.769 [ms] (mean, across all concurrent requests)
Transfer rate:          4471.22 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  300 1692.1      0   31103
Processing:     0  290 1836.2     47   60001
Waiting:        0  290 1836.2     47   60001
Total:          0  591 2796.0     47   67024

Percentage of the requests served within a certain time (ms)
  50%     47
  66%     49
  75%     50
  80%     52
  90%    525
  95%   2210
  98%   7537
  99%  15570
 100%  67024 (longest request)

Same with 10 concurrent requests:

ab -n 100000 -c 10 http://127.0.0.1/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (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.4.6
Server Hostname:        127.0.0.1
Server Port:            80

Document Path:          /
Document Length:        3478 bytes

Concurrency Level:      10
Time taken for tests:   36.869 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Total transferred:      357100000 bytes
HTML transferred:       347800000 bytes
Requests per second:    2712.28 [#/sec] (mean)
Time per request:       3.687 [ms] (mean)
Time per request:       0.369 [ms] (mean, across all concurrent requests)
Transfer rate:          9458.54 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:     1    4   2.2      3     186
Waiting:        1    4   2.2      3     186
Total:          2    4   2.2      3     186

Percentage of the requests served within a certain time (ms)
  50%      3
  66%      3
  75%      4
  80%      5
  90%      6
  95%      6
  98%      7
  99%      7
 100%    186 (longest request)

The NullReferenceException is gone now. However, I didn't get unix sockets to work yet. I didn't really spend much time on it, though.