lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]



On Apr 20, 2005, at 14:38, Javier Guerra wrote:

for small responses, option 1) is the easier; for bigger things it's nice to use 2); and for huge, complex things 3) is the only way left. losing some nice things, like being able to set headers at any time (because the content
is sent at the end), and letting Xavante to handle the "Content-Length"
header needed to use persistent connections (with big performance gains)

Not sure what persistent connection have to do with content length [1], but you can always use "Chunked Transfer" to avoid computing the content length altogether:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6.1

Using ApacheBench simulating 10K requests from 10 clients, LuaWeb [2] handles around 150 requests per seconds for dynamic content. Not stelar, but good enough for its humble purpose :)

% ab -n 10000 -c 10 http://localhost:1080/info/
This is ApacheBench, Version 1.3d <$Revision: 1.73 $> apache-1.3
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright (c) 1998-2002 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
Finished 10000 requests
Server Software:
Server Hostname:        localhost
Server Port:            1080

Document Path:          /info/
Document Length:        1515 bytes

Concurrency Level:      10
Time taken for tests:   65.509 seconds
Complete requests:      10000
Failed requests:        0
Broken pipe errors:     0
Total transferred:      18050000 bytes
HTML transferred:       15150000 bytes
Requests per second:    152.65 [#/sec] (mean)
Time per request:       65.51 [ms] (mean)
Time per request:       6.55 [ms] (mean, across all concurrent requests)
Transfer rate:          275.53 [Kbytes/sec] received

Connnection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0     0    0.1      0    10
Processing:    38    65   20.2     61   487
Waiting:       35    65   20.2     61   486
Total:         38    65   20.2     61   487

Percentage of the requests served within a certain time (ms)
  50%     61
  66%     62
  75%     65
  80%     66
  90%     69
  95%     78
  98%    104
  99%    134
 100%    487 (last request)

[1] http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.1.2
[2] http://dev.alt.textdrive.com/browser/LW/

Cheers

--
PA, Onnay Equitursay
http://alt.textdrive.com/