构建高性能web之路------web服务器长连接

本文通过实测对比了Apache服务器在长连接和短连接下的性能表现。结果显示,长连接在TPS(每秒请求数)、CPU消耗、IO占用方面优于短连接,但内存占用增加。实验采用ab工具进行压测,并结合nmon分析资源消耗,通过strace跟踪系统调用,揭示了长连接提高性能的原因。
摘要由CSDN通过智能技术生成

web服务器都提供长连接的方式,所谓长连接就是客户端一次请求完后,不关闭连接,保持一段时间的连接,下次此客户端再次请求时,不用创建新连接,复用所保持的连接即可。从理论上,长连接可以免去大量建立和关闭连接的资源消耗,但同时也有大量连接被占用的代价。因此可以初步判断长连接比短连接能带来更高的TPS,更低的CPU消耗,更少的IO,更高的内存占用,下面通过实战来验证。

服务器环境和测试工具可以见工具和环境准备篇

本次web服务器选用apache prefork模式,apache长短连接的选择可以配置httpd.conf里的KeepAlive选项,如:

KeepAlive On:长连接

KeepAlive Off:短连接

另外如果选择长连接还需配置KeepAliveTimeout和MaxKeepAliveRequests,其中KeepAliveTimeout为每个长连接服务端保持时长,默认配置为15秒,MaxKeepAliveRequests为每个长连接服务请求最大数,默认配置为100次,本次试验保持默认配置。

使用ab来压apache,如:

短连接环境下: /usr/alibaba/install/httpd-2.0.63-prefork/bin/ab -c 100 -n 1000000 http://localhost/

长连接环境下: /usr/alibaba/install/httpd-2.0.63-prefork/bin/ab -c 100 -n 1000000 -k http://localhost/

同时都已100个并发请求apache默认首页1000000次

然后通过ab测试结果、nmon收集资源消耗和strace跟踪实际调用三个维度来考察短连接和长连接的区别。

1)ab测试结果

短连接:

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
nginx是一款开源的高性能web服务器,具有高并发、低内存消耗、稳定可靠的特点,被广泛用于构建高性能的网站和应用。 使用nginx作为web服务器,可以通过一些实战技巧来进一步优化性能。首先,可以通过调整nginx的配置文件来提高并发处理能力。可以将worker_processes参数设置为CPU核心数,以充分利用服务器的CPU资源;同时,可以通过调整worker_connections参数来增加nginx能够同时处理的连接数,提高系统的并发处理能力。 其次,可以配置nginx的反向代理功能来分发请求,并将负载均衡在多个应用服务器之间。这样可以提高系统的响应速度和可靠性,避免单个服务器负载过高导致系统崩溃。同时,可以使用nginx的缓存功能来减少对后端服务器的请求,提高系统的访问速度。 另外,使用nginx还可以进行静态资源的加速。通过配置nginx的gzip压缩和缓存功能,可以减小静态资源的传输大小并提高访问速度。此外,还可以使用nginx的文件缓存功能,将常用的静态资源缓存在内存中,减少磁盘IO操作,进一步提高性能。 除了以上实战技巧,还可以通过优化应用程序的代码和数据库的设计来进一步提高性能。减少不必要的数据库查询,使用有效的缓存机制,使用适当的索引来优化数据库查询等等,都可以提升系统的性能。 综上所述,nginx高性能web服务器的实战教程涉及到许多方面的内容,包括配置优化、负载均衡、缓存加速等。通过深入学习和实践这些技巧,可以构建出性能卓越的网站和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值