Squid performance tuning
From Meta, a Wikimedia project coordination wiki
sbin/squid -v
Squid Cache: Version 2.5.STABLE4
configure options: --enable-gnuregex --enable-htcp --enable-snmp --enable-storeio=aufs,ufs,null --enable-time-hack --prefix=/usr/local/squid --enable-truncate --enable-poll --enable-async-io
ab -c300 -n 1000000 -X schnecke:8001 http://www.wikipedia.org/favicon.ico
This is ApacheBench, Version 1.3d <$Revision: 1.70 $> 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 www.wikipedia.org (be patient)
Completed 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Finished 1000000 requests
Server Software: Apache/1.3.29
Server Hostname: www.wikipedia.org
Server Port: 80
Document Path: /favicon.ico
Document Length: 318 bytes
Concurrency Level: 300
Time taken for tests: 906.481 seconds
Complete requests: 1000000
Failed requests: 0
Broken pipe errors: 0
Total transferred: 662008606 bytes
HTML transferred: 318004134 bytes
Requests per second: 1103.17 [#/sec] (mean)
Time per request: 271.94 [ms] (mean)
Time per request: 0.91 [ms] (mean, across all concurrent requests)
Transfer rate: 730.31 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 10 20.6 9 3009
Processing: 85 262 49.0 255 1712
Waiting: 33 261 49.0 255 1711
Total: 85 271 51.2 265 3278
Percentage of the requests served within a certain time (ms)
50% 265
66% 274
75% 280
80% 284
90% 306
95% 324
98% 375
99% 457
100% 3278 (last request)
#################################
Newer version with poll enabled:
sbin/squid -v
Squid Cache: Version 2.5.STABLE4-20040219
configure options: --enable-gnuregex --enable-htcp --enable-snmp --enable-storeio=aufs,ufs,null --enable-time-hack --prefix=/usr/local/squid --enable-truncate --enable-poll --enable-async-io
ab -c300 -n 1000000 -X schnecke:8001 http://www.wikipedia.org/favicon.ico
This is ApacheBench, Version 1.3d <$Revision: 1.70 $> 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 www.wikipedia.org (be patient)
Completed 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Finished 1000000 requests
Server Software: Apache/1.3.29
Server Hostname: www.wikipedia.org
Server Port: 80
Document Path: /favicon.ico
Document Length: 318 bytes
Concurrency Level: 300
Time taken for tests: 678.515 seconds
Complete requests: 1000000
Failed requests: 0
Broken pipe errors: 0
Total transferred: 662001986 bytes
HTML transferred: 318000954 bytes
Requests per second: 1473.81 [#/sec] (mean)
Time per request: 203.55 [ms] (mean)
Time per request: 0.68 [ms] (mean, across all concurrent requests)
Transfer rate: 975.66 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 6 18.6 5 3012
Processing: 81 198 33.0 188 500
Waiting: 32 197 33.0 187 499
Total: 81 203 37.4 193 3268
Percentage of the requests served within a certain time (ms)
50% 193
66% 198
75% 201
80% 205
90% 267
95% 282
98% 294
99% 300
100% 3268 (last request)
##########################################
This is the newer, but with null cache_dir instead of aufs:
sbin/squid -v
Squid Cache: Version 2.5.STABLE4-20040219
configure options: --enable-gnuregex --enable-htcp --enable-snmp --enable-storeio=ufs,null --enable-time-hack --prefix=/usr/local/squid --enable-truncate --enable-poll
ab -c300 -n 1000000 -X schnecke:8001 http://www.wikipedia.org/favicon.ico
This is ApacheBench, Version 1.3d <$Revision: 1.70 $> 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 www.wikipedia.org (be patient)
Completed 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Finished 1000000 requests
Server Software: Apache/1.3.29
Server Hostname: www.wikipedia.org
Server Port: 80
Document Path: /favicon.ico
Document Length: 318 bytes
Concurrency Level: 300
Time taken for tests: 703.552 seconds
Complete requests: 1000000
Failed requests: 0
Broken pipe errors: 0
Total transferred: 662025818 bytes
HTML transferred: 318012402 bytes
Requests per second: 1421.36 [#/sec] (mean)
Time per request: 211.07 [ms] (mean)
Time per request: 0.70 [ms] (mean, across all concurrent requests)
Transfer rate: 940.98 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 6 3.7 5 112
Processing: 87 204 33.1 195 464
Waiting: 31 204 33.1 194 463
Total: 87 211 32.1 201 465
Percentage of the requests served within a certain time (ms)
50% 201
66% 206
75% 209
80% 212
90% 275
95% 293
98% 306
99% 312
100% 465 (last request)
##################################################
now with all logging enabled:
sbin/squid -v
Squid Cache: Version 2.5.STABLE4-20040219
configure options: --enable-gnuregex --enable-htcp --enable-snmp --enable-storeio=ufs,null --enable-time-hack --prefix=/usr/local/squid --enable-truncate --enable-poll --enable-useragent-log --enable-refer-log
ab -c300 -n 1000000 -X schnecke:8001 http://www.wikipedia.org/favicon.ico
Server Software: Apache/1.3.29
Server Hostname: www.wikipedia.org
Server Port: 80
Document Path: /favicon.ico
Document Length: 318 bytes
Concurrency Level: 300
Time taken for tests: 810.758 seconds
Complete requests: 1000000
Failed requests: 0
Broken pipe errors: 0
Total transferred: 662002648 bytes
HTML transferred: 318001272 bytes
Requests per second: 1233.41 [#/sec] (mean)
Time per request: 243.23 [ms] (mean)
Time per request: 0.81 [ms] (mean, across all concurrent requests)
Transfer rate: 816.52 [Kbytes/sec] received
Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 5 3.3 4 108
Processing: 82 238 30.7 231 639
Waiting: 28 237 30.7 230 638
Total: 82 243 29.7 236 640
Percentage of the requests served within a certain time (ms)
50% 236
66% 240
75% 242
80% 244
90% 252
95% 332
98% 352
99% 363
100% 640 (last request)
Old httperf results (17.2.04, ~22:00 UTC) [edit]
[gwicke@zwinger gwicke]$ httperf --hog --server en.wikipedia.org --num-conn 1000 000 --ra 1 --timeout 5 --uri /upload/wiki.png httperf --hog --timeout=5 --client=0/1 --server=en.wikipedia.org --port=80 --uri =/upload/wiki.png --rate=1 --send-buffer=4096 --recv-buffer=16384 --num-conns=10 00000 --num-calls=1 Maximum connect burst length: 1 Total: connections 3131 requests 3126 replies 3091 test-duration 3130.391 s Connection rate: 1.0 conn/s (999.8 ms/conn, <=6 concurrent connections) Connection time [ms]: min 7.4 avg 84.7 max 4979.7 median 11.5 stddev 430.1 Connection time [ms]: connect 31.1 Connection length [replies/conn]: 1.000 Request rate: 1.0 req/s (1001.4 ms/req) Request size [B]: 82.0 Reply rate [replies/s]: min 0.0 avg 1.0 max 1.8 stddev 0.2 (626 samples) Reply time [ms]: response 49.4 transfer 5.4 Reply size [B]: header 372.0 content 13819.0 footer 0.0 (total 14191.0) Reply status: 1xx=0 2xx=3091 3xx=0 4xx=0 5xx=0 CPU time [s]: user 1115.91 system 2006.74 (user 35.6% system 64.1% total 99.8%) Net I/O: 13.8 KB/s (0.1*10^6 bps) Errors: total 40 client-timo 40 socket-timo 0 connrefused 0 connreset 0 Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0