public
Created

GWAN C Servlet Pages Cache

  • Download Gist
gistfile1.txt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
$ curl http://192.168.11.150:8080/csp/httpdate
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html lang="en"><head><title>Benchmarking function calls (with CPU clock cycles)</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link href="imgs/style.css" rel="stylesheet" type="text/css"></head><body><h1>Benchmarking function calls (with CPU clock cycles)</h1><br>Linux clib calls: Fri, 15 Jul 2011 08:03:10 GMT<br><br><table class="clean" width=160px><tr><th>function</th><th>time</th></tr><tr class="d0"><td>Linux clib calls</td><td>1323</td></tr><tr class="d1"><td>Linux clib calls</td><td>1336</td></tr><tr class="d0"><td>Linux clib calls</td><td>1336</td></tr><tr class="d1"><td>Linux clib calls</td><td>1301</td></tr><tr class="d0"><td>Linux clib calls</td><td>1301</td></tr><tr class="d1"><td>Linux clib calls</td><td>1308</td></tr><tr class="d0"><td>Linux clib calls</td><td>1301</td></tr><tr class="d1"><td>Linux clib calls</td><td>1301</td></tr><tr class="d0"><td>Linux clib calls</td><td>1301</td></tr><tr class="d1"><td>Linux clib calls</td><td>1301</td></tr></table><br>G-WAN time2rfc(): Fri, 15 Jul 2011 08:03:10 GMT<br><br><table class="clean" width=160px><tr><th>function</th><th>time</th></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>175</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>156</td></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>159</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>159</td></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>159</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>159</td></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>159</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>159</td></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>159</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>159</td></tr></table><br><table class="clean" width=440px><tr><th>function</th><th>max</th><th>average</th><th>min</th></tr><tr class="d1"><td>Linux clib calls</td><td>1336</td><td>1310</td><td>1301</td><tr class="d0"><td>G-WAN time2rfc()</td><td>175</td><td>160</td><td>156</td></tr></tr></table><table class="clean" width=440px><tr><th>G-WAN's code scaled <font color=#f0f000>8.19</font> times better</th></tr></table><br></body></html>
 
$ ab -n 200 -c 200 http://127.0.0.1:8080/csp/httpdate
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 127.0.0.1 (be patient)
Completed 100 requests
Completed 200 requests
Finished 200 requests
 
 
Server Software: G-WAN/2.1.20
Server Hostname: 127.0.0.1
Server Port: 8080
 
Document Path: /csp/httpdate
Document Length: 2184 bytes
 
Concurrency Level: 200
Time taken for tests: 0.260 seconds
Complete requests: 200
Failed requests: 0
Write errors: 0
Total transferred: 502600 bytes
HTML transferred: 436800 bytes
Requests per second: 769.23 [#/sec] (mean)
Time per request: 260.000 [ms] (mean)
Time per request: 1.300 [ms] (mean, across all concurrent requests)
Transfer rate: 1887.77 [Kbytes/sec] received
 
Connection Times (ms)
min mean[+/-sd] median max
Connect: 10 17 4.7 20 20
Processing: 30 159 63.6 170 240
Waiting: 20 159 63.9 170 240
Total: 40 176 67.4 190 260
 
Percentage of the requests served within a certain time (ms)
50% 190
66% 200
75% 250
80% 250
90% 250
95% 260
98% 260
99% 260
100% 260 (longest request)
 
$ curl http://192.168.11.150:8080/csp/httpdate
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html lang="en"><head><title>Benchmarking function calls (with CPU clock cycles)</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link href="imgs/style.css" rel="stylesheet" type="text/css"></head><body><h1>Benchmarking function calls (with CPU clock cycles)</h1><br>Linux clib calls: Fri, 15 Jul 2011 08:03:35 GMT<br><br><table class="clean" width=160px><tr><th>function</th><th>time</th></tr><tr class="d0"><td>Linux clib calls</td><td>1283</td></tr><tr class="d1"><td>Linux clib calls</td><td>1275</td></tr><tr class="d0"><td>Linux clib calls</td><td>1272</td></tr><tr class="d1"><td>Linux clib calls</td><td>1272</td></tr><tr class="d0"><td>Linux clib calls</td><td>1272</td></tr><tr class="d1"><td>Linux clib calls</td><td>1272</td></tr><tr class="d0"><td>Linux clib calls</td><td>1272</td></tr><tr class="d1"><td>Linux clib calls</td><td>1272</td></tr><tr class="d0"><td>Linux clib calls</td><td>1272</td></tr><tr class="d1"><td>Linux clib calls</td><td>1272</td></tr></table><br>G-WAN time2rfc(): Fri, 15 Jul 2011 08:03:35 GMT<br><br><table class="clean" width=160px><tr><th>function</th><th>time</th></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>145</td></tr></table><br><table class="clean" width=440px><tr><th>function</th><th>max</th><th>average</th><th>min</th></tr><tr class="d1"><td>Linux clib calls</td><td>1283</td><td>1273</td><td>1272</td><tr class="d0"><td>G-WAN time2rfc()</td><td>145</td><td>145</td><td>145</td></tr></tr></table><table class="clean" width=440px><tr><th>G-WAN's code scaled <font color=#f0f000>8.78</font> times better</th></tr></table><br></body></html>
 
$ date
Fri Jul 15 10:05:33 CEST 2011
 
$ curl http://192.168.11.150:8080/csp/httpdate
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html lang="en"><head><title>Benchmarking function calls (with CPU clock cycles)</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link href="imgs/style.css" rel="stylesheet" type="text/css"></head><body><h1>Benchmarking function calls (with CPU clock cycles)</h1><br>Linux clib calls: Fri, 15 Jul 2011 08:03:35 GMT<br><br><table class="clean" width=160px><tr><th>function</th><th>time</th></tr><tr class="d0"><td>Linux clib calls</td><td>1283</td></tr><tr class="d1"><td>Linux clib calls</td><td>1275</td></tr><tr class="d0"><td>Linux clib calls</td><td>1272</td></tr><tr class="d1"><td>Linux clib calls</td><td>1272</td></tr><tr class="d0"><td>Linux clib calls</td><td>1272</td></tr><tr class="d1"><td>Linux clib calls</td><td>1272</td></tr><tr class="d0"><td>Linux clib calls</td><td>1272</td></tr><tr class="d1"><td>Linux clib calls</td><td>1272</td></tr><tr class="d0"><td>Linux clib calls</td><td>1272</td></tr><tr class="d1"><td>Linux clib calls</td><td>1272</td></tr></table><br>G-WAN time2rfc(): Fri, 15 Jul 2011 08:03:35 GMT<br><br><table class="clean" width=160px><tr><th>function</th><th>time</th></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d0"><td>G-WAN time2rfc()</td><td>145</td></tr><tr class="d1"><td>G-WAN time2rfc()</td><td>145</td></tr></table><br><table class="clean" width=440px><tr><th>function</th><th>max</th><th>average</th><th>min</th></tr><tr class="d1"><td>Linux clib calls</td><td>1283</td><td>1273</td><td>1272</td><tr class="d0"><td>G-WAN time2rfc()</td><td>145</td><td>145</td><td>145</td></tr></tr></table><table class="clean" width=440px><tr><th>G-WAN's code scaled <font color=#f0f000>8.78</font> times better</th></tr></table><br></body></html>

G-WAN is an event-based multithreaded server.

AB is a single-threaded client (so it can't saturate G-WAN).

To test more than a CPU Core, use a multithreaded client like weighttp, see:

http://gwan.ch/en_apachebench_httperf.html#weighttp

Hope it helps.

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.