IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

长连接(KeepAlive)在 http 连接中的性能影响

扶凯 2010-07-21 23:45:57 累计浏览 8,782 次
本机暂存

一直很想知道,在 http 1.1 中的长连接功能,如果在理想的环境中,对性能的影响。所以简单的做了一下测试

未使用长连接

Concurrency Level: 200
Time taken for tests: 7.016 seconds
Complete requests: 30000
Failed requests: 0
Write errors: 0
Total transferred: 134524481 bytes
HTML transferred: 122884096 bytes
Requests per second: 4275.85 [#/sec] (mean)
Time per request: 46.774 [ms] (mean)
Time per request: 0.234 [ms] (mean, across all concurrent requests)
Transfer rate: 18724.15 [Kbytes/sec] received

使用长连接

Concurrency Level: 200
Time taken for tests: 5.006 seconds
Complete requests: 30000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 30000
Total transferred: 135338747 bytes
HTML transferred: 123486848 bytes
Requests per second: 5992.49 [#/sec] (mean)
Time per request: 33.375 [ms] (mean)
Time per request: 0.167 [ms] (mean, across all concurrent requests)
Transfer rate: 26400.24 [Kbytes/sec] received

由上面可以看出,在理想的环境中,如果打开长连接,可以处理6k/s 的响应,如果关掉长连接,只能处理4.2k/s 的响应。我想实际的环境影响一定小很多。。但一定程度的说明长连接还是相当有用的。

换 2.7 的 squid 测试

Requests per second:    6004.86 [#/sec] (mean)
 
Requests per second:    8680.81 [#/sec] (mean)

这个更新明显,有 3k 的差别了。。。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. Linux 性能监控、测试、优化工具 (累计阅读 13,011)
  2. redis在大数据量下的压测表现 (累计阅读 8,292)
  3. HBase随机写以及随机读性能测试 (累计阅读 7,546)
  4. 基于 PhoneGap 与 Java 开发的 Android 应用的性能对比 (累计阅读 6,407)
  5. Nginx 还是 Varnish? (累计阅读 5,333)
  6. Varnish VS Nginx测试报告 (累计阅读 4,768)
  7. 如何建立索引 (累计阅读 4,691)
  8. 菜鸟谈HBase之写速度篇 (累计阅读 4,507)
  9. Linux系统的CPU使用率和Load (累计阅读 4,199)
  10. Nginx HttpMemcModule和直接访问memcached效率对比测试 (累计阅读 4,173)