[hunchentoot-devel] serious H'toot performance problem on CCL OSX ?

JTK jetmonk at gmail.com
Fri Aug 20 10:39:40 UTC 2010


It looks like there is something inside my
seemingly identical CCL/H'toot that makes it run 1/10 as fast
as Wade's.

For what it is worth, running 'top' during the benchmark shows that
CCL is running at 100%+ CPU, but the 'ab' benchmark tool making
the requests is using almost  nothing.      Unfortunately, profiling on CCL 
is not straightforward, so I can't figure out where the CPU is spending its time.


It's not terribly important for me, because I'll probably run it on a
different platform than a Mac.   It's sure irksome and inxplicable.

Thanks to everyone who looked at this.



On Aug 19, 2010, at 3:01 PM, Wade Humeniuk wrote:

> I am running a MacBook Pro (about 4 years old).  Core 2 ~2.1 GHz
> 
> I get no errors in any run.
> 
> Seems to run the same no matter what test I do,
> 
> CL-USER> (do-dumb-server-loop :port 4001)
> 
> 
> Stix:~ wade$ ab -n 500 -c 1 http://127.0.0.1:4001/yo
> 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
> Completed 300 requests
> Completed 400 requests
> Completed 500 requests
> Finished 500 requests
> 
> 
> Server Software:        dumb
> Server Hostname:        127.0.0.1
> Server Port:            4001
> 
> Document Path:          /yo
> Document Length:        21 bytes
> 
> Concurrency Level:      1
> Time taken for tests:   0.599 seconds
> Complete requests:      500
> Failed requests:        0
> Write errors:           0
> Total transferred:      47000 bytes
> HTML transferred:       10500 bytes
> Requests per second:    835.27 [#/sec] (mean)
> Time per request:       1.197 [ms] (mean)
> Time per request:       1.197 [ms] (mean, across all concurrent requests)
> Transfer rate:          76.67 [Kbytes/sec] received
> 
> Connection Times (ms)
>              min  mean[+/-sd] median   max
> Connect:        0    0   0.0      0       1
> Processing:     1    1   0.8      1       5
> Waiting:        1    1   0.8      1       5
> Total:          1    1   0.8      1       5
> 
> Percentage of the requests served within a certain time (ms)
>  50%      1
>  66%      1
>  75%      1
>  80%      1
>  90%      1
>  95%      4
>  98%      4
>  99%      4
> 100%      5 (longest request)
> Stix:~ wade$ ab -n 500 -c 2 http://127.0.0.1:4001/yo
> 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
> Completed 300 requests
> Completed 400 requests
> Completed 500 requests
> Finished 500 requests
> 
> 
> Server Software:        dumb
> Server Hostname:        127.0.0.1
> Server Port:            4001
> 
> Document Path:          /yo
> Document Length:        21 bytes
> 
> Concurrency Level:      2
> Time taken for tests:   0.785 seconds
> Complete requests:      500
> Failed requests:        3
>   (Connect: 0, Receive: 0, Length: 3, Exceptions: 0)
> Write errors:           0
> Total transferred:      46718 bytes
> HTML transferred:       10437 bytes
> Requests per second:    637.18 [#/sec] (mean)
> Time per request:       3.139 [ms] (mean)
> Time per request:       1.569 [ms] (mean, across all concurrent requests)
> Transfer rate:          58.14 [Kbytes/sec] received
> 
> Connection Times (ms)
>              min  mean[+/-sd] median   max
> Connect:        0    0   0.0      0       0
> Processing:     0    3  21.5      1     330
> Waiting:        0    1   0.8      1       5
> Total:          0    3  21.5      1     331
> 
> Percentage of the requests served within a certain time (ms)
>  50%      1
>  66%      1
>  75%      1
>  80%      1
>  90%      1
>  95%      4
>  98%      4
>  99%      5
> 100%    331 (longest request)
> Stix:~ wade$ ab -n 500 -c 10 http://127.0.0.1:4001/yo
> 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
> Completed 300 requests
> Completed 400 requests
> Completed 500 requests
> Finished 500 requests
> 
> 
> Server Software:        dumb
> Server Hostname:        127.0.0.1
> Server Port:            4001
> 
> Document Path:          /yo
> Document Length:        21 bytes
> 
> Concurrency Level:      10
> Time taken for tests:   0.679 seconds
> Complete requests:      500
> Failed requests:        22
>   (Connect: 0, Receive: 0, Length: 22, Exceptions: 0)
> Write errors:           0
> Total transferred:      44932 bytes
> HTML transferred:       10038 bytes
> Requests per second:    735.92 [#/sec] (mean)
> Time per request:       13.588 [ms] (mean)
> Time per request:       1.359 [ms] (mean, across all concurrent requests)
> Transfer rate:          64.58 [Kbytes/sec] received
> 
> Connection Times (ms)
>              min  mean[+/-sd] median   max
> Connect:        0    0   0.1      0       1
> Processing:     0   13  59.5      1     337
> Waiting:        0    2   1.8      1      10
> Total:          0   13  59.5      1     337
> 
> Percentage of the requests served within a certain time (ms)
>  50%      1
>  66%      1
>  75%      1
>  80%      4
>  90%      6
>  95%      9
>  98%    327
>  99%    330
> 100%    337 (longest request)
> Stix:~ wade$
> 
> 
> CL-USER> (do-dumb-server-loop/ccl :port 4001)
> 
> 
> Stix:~ wade$ ab -n 500 -c 1 http://127.0.0.1:4001/yo
> 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
> Completed 300 requests
> Completed 400 requests
> Completed 500 requests
> Finished 500 requests
> 
> 
> Server Software:        dumb
> Server Hostname:        127.0.0.1
> Server Port:            4001
> 
> Document Path:          /yo
> Document Length:        21 bytes
> 
> Concurrency Level:      1
> Time taken for tests:   0.590 seconds
> Complete requests:      500
> Failed requests:        0
> Write errors:           0
> Total transferred:      47000 bytes
> HTML transferred:       10500 bytes
> Requests per second:    847.87 [#/sec] (mean)
> Time per request:       1.179 [ms] (mean)
> Time per request:       1.179 [ms] (mean, across all concurrent requests)
> Transfer rate:          77.83 [Kbytes/sec] received
> 
> Connection Times (ms)
>              min  mean[+/-sd] median   max
> Connect:        0    0   0.0      0       0
> Processing:     1    1   0.8      1       5
> Waiting:        1    1   0.8      1       5
> Total:          1    1   0.8      1       5
> 
> Percentage of the requests served within a certain time (ms)
>  50%      1
>  66%      1
>  75%      1
>  80%      1
>  90%      1
>  95%      4
>  98%      4
>  99%      5
> 100%      5 (longest request)
> Stix:~ wade$ ab -n 500 -c 2 http://127.0.0.1:4001/yo
> 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
> Completed 300 requests
> Completed 400 requests
> Completed 500 requests
> Finished 500 requests
> 
> 
> Server Software:        dumb
> Server Hostname:        127.0.0.1
> Server Port:            4001
> 
> Document Path:          /yo
> Document Length:        21 bytes
> 
> Concurrency Level:      2
> Time taken for tests:   0.738 seconds
> Complete requests:      500
> Failed requests:        3
>   (Connect: 0, Receive: 0, Length: 3, Exceptions: 0)
> Write errors:           0
> Total transferred:      46718 bytes
> HTML transferred:       10437 bytes
> Requests per second:    677.52 [#/sec] (mean)
> Time per request:       2.952 [ms] (mean)
> Time per request:       1.476 [ms] (mean, across all concurrent requests)
> Transfer rate:          61.82 [Kbytes/sec] received
> 
> Connection Times (ms)
>              min  mean[+/-sd] median   max
> Connect:        0    0   0.0      0       1
> Processing:     0    2  21.1      1     331
> Waiting:        0    1   0.8      1       4
> Total:          0    3  21.1      1     331
> 
> Percentage of the requests served within a certain time (ms)
>  50%      1
>  66%      1
>  75%      1
>  80%      1
>  90%      1
>  95%      4
>  98%      4
>  99%      4
> 100%    331 (longest request)
> Stix:~ wade$ ab -n 500 -c 10 http://127.0.0.1:4001/yo
> 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
> Completed 300 requests
> Completed 400 requests
> Completed 500 requests
> Finished 500 requests
> 
> 
> Server Software:        dumb
> Server Hostname:        127.0.0.1
> Server Port:            4001
> 
> Document Path:          /yo
> Document Length:        21 bytes
> 
> Concurrency Level:      10
> Time taken for tests:   0.710 seconds
> Complete requests:      500
> Failed requests:        27
>   (Connect: 0, Receive: 0, Length: 27, Exceptions: 0)
> Write errors:           0
> Total transferred:      44462 bytes
> HTML transferred:       9933 bytes
> Requests per second:    704.28 [#/sec] (mean)
> Time per request:       14.199 [ms] (mean)
> Time per request:       1.420 [ms] (mean, across all concurrent requests)
> Transfer rate:          61.16 [Kbytes/sec] received
> 
> Connection Times (ms)
>              min  mean[+/-sd] median   max
> Connect:        0    0   0.2      0       3
> Processing:     0   14  58.8      1     331
> Waiting:        0    2   2.0      1      10
> Total:          0   14  58.8      1     331
> 
> Percentage of the requests served within a certain time (ms)
>  50%      1
>  66%      1
>  75%      2
>  80%      4
>  90%      7
>  95%     26
>  98%    313
>  99%    330
> 100%    331 (longest request)
> Stix:~ wade$
> 
> _______________________________________________
> tbnl-devel site list
> tbnl-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/tbnl-devel





More information about the Tbnl-devel mailing list