对比目前所有 squid 的标准版本中性能的对比,以及确认Squid 2.7 和 Squid 3.1 的性能有多大分别。每次不同的测试前,一定要清掉上一次的 cache_dir 中的 cache 的 object 。
测试方法:
1.每次在测试前,先删除所有的 cache_dir 中的内容
2. squid -z 来初始化 cache_dir
3. 使用 ab.new -c 200 -n 30000 "http://test.php-oa.com/4k.html?cct00003000" 来重复打压力三次。确认所有内容都是内存命中
4. 当这些内容都 HIT 时,做最终的一次 ab 测试 ,得出结果
测试结果:
| squid2.6 | Requests per second: 6528.70 [#/sec] (mean) |
| squid2.7 | Requests per second: 6020.49 [#/sec] (mean) |
| squid3.1 |
Requests per second: 4275.85 [#/sec] (mean) |
结论:
Squid 3.1 和 Squid 2.7 对比 另外,从测试数据中也可以看出。 squid 3.1 使用了 C++ 重写后,性能上和 Squid 2.6 和 2.7 还是有些距离的。
Squid 2.6 和 Squid 2.7 对比 在 Squid 2.6 测试时,感觉不如 2.7 稳定 ,打出压力的响应分别有点远,有时只有 5k 多,有时 6k 多,不过,总的来看看,性能高出 2.7 一些。 但 Squid 2.7 功能更加完善。值得选择。
详细测试结果:
Squid 2.7
Concurrency Level: 200
Time taken for tests: 4.983 seconds
Complete requests: 30000
Failed requests: 0
Write errors: 0
Total transferred: 135869997 bytes
HTML transferred: 122880000 bytes
Requests per second: 6020.49 [#/sec] (mean)
Time per request: 33.220 [ms] (mean)
Time per request: 0.166 [ms] (mean, across all concurrent requests)
Transfer rate: 26627.73 [Kbytes/sec] received
Connection Times (ms)
Squid 2.6
Concurrency Level: 200
Time taken for tests: 4.595 seconds
Complete requests: 30000
Failed requests: 0
Write errors: 0
Total transferred: 135930000 bytes
HTML transferred: 122880000 bytes
Requests per second: 6528.70 [#/sec] (mean)
Time per request: 30.634 [ms] (mean)
Time per request: 0.153 [ms] (mean, across all concurrent requests)
Transfer rate: 28888.21 [Kbytes/sec] received
Squid 3.1
Time taken for tests: 6.979 seconds
Complete requests: 30000
Failed requests: 0
Write errors: 0
Total transferred: 135908818 bytes
HTML transferred: 122884096 bytes
Requests per second: 4298.66 [#/sec] (mean)
Time per request: 23.263 [ms] (mean)
Time per request: 0.233 [ms] (mean, across all concurrent requests)
Transfer rate: 19017.79 [Kbytes/sec] received