rejetto forum

HFS 3: first benchmarks

0 Members and 1 Guest are viewing this topic.

Offline rejetto

  • Administrator
  • Tireless poster
  • *****
    • Posts: 13308
    • View Profile
guys, i ran this test to overload the current version of HFS 3.
It means: 10000 connections, 1000 at time. Yes, 1000 connections at every shot. Hard times.
Results of course depend on the CPU. Mine is a Core2duo 2.1GHz
Relevant data is:
- no connection was lost, all served
- 460 requests per second
- 3038ms longest request

not bad for a totally overloaded server, isn't it?
Full report is attached below

if i make 10 connections at time (but always 10k in total) the number changes:
- 511 requests per second
- 1.5ms per request
- 133ms longest request

Doing the same but on a bigger file (jquery.js, 93KB) we get
- 374 requests per second
- 2.7ms per request
- 5017ms longest request (this is bad, don't know why, but 99% of requests where served under 84ms)


Quote
c:\progs\apache\bin>ab -n 10000 -c 1000 localhost:8/
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 localhost (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software:
Server Hostname:        localhost
Server Port:            8

Document Path:          /
Document Length:        716 bytes

Concurrency Level:      1000
Time taken for tests:   21.728 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      8160000 bytes
HTML transferred:       7160000 bytes
Requests per second:    460.23 [#/sec] (mean)
Time per request:       2172.829 [ms] (mean)
Time per request:       2.173 [ms] (mean, across all concurrent requests)
Transfer rate:          366.75 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2  31.5      0     594
Processing:    82 2088 407.3   1958    3018
Waiting:       82 1242 511.6   1242    2477
Total:         82 2090 407.4   1962    3038

Percentage of the requests served within a certain time (ms)
  50%   1962
  66%   2409
  75%   2426
  80%   2454
  90%   2488
  95%   2497
  98%   2505
  99%   2509
 100%   3038 (longest request)

« Last Edit: July 03, 2012, 09:33:19 PM by rejetto »


Offline rejetto

  • Administrator
  • Tireless poster
  • *****
    • Posts: 13308
    • View Profile
For you to compare, Apache with 500 connections contemporary does
- 49 requests per second
- 8 requests failed
- 20ms per request
- 10133ms longest request

anyway, your server will hardly get so many connections. So it's not very relevant for most people. Maybe if someone tries to DDOS you :)
With 10 requests per shot and the jquery file we get
- 823 requests/sec
- 1.2ms per request
- 5015 longest request (well, this is common then)


Offline raybob

  • Tireless poster
  • ****
    • Posts: 453
    • View Profile
    • FileSplat.com
And is it going to be able to keep up this extremely fast performance once server-side scripting is factored in?

Speaking of which, what are you planning to do for that?  PHP?  Macros?  Just NodeJS?  Maybe all of the above  8)


Offline rejetto

  • Administrator
  • Tireless poster
  • *****
    • Posts: 13308
    • View Profile
1) it's all scripting. :)
HFS 3 is not compiled, it's a script itself, that can include other scripts.

2) future versions (not 3.0) will include support for PHP and the like.
It's not core, because it's a file server (web-based), not a web server.
It's already hard this way, if we don't focus we won't succed. ;)