高并发下Nginx长连接(二)

简介: 【4月更文挑战第16天】高并发下Nginx整合方案(二)

一、 nginx长连接短连接,可以增强服务器的容灾能力
l 场景:
HTTP1.1之后,HTTP协议支持持久连接,也就是长连接,优点在于在一个TCP连接上可以传送多个HTTP请求和响应,
减少了建立和关闭连接的消耗和延迟。如果我们使用了nginx去作为反向代理或者负载均衡,从客户端过来的长连接请求就会被转换
成短连接发送给服务器端,为了支持长连接,我们需要在nginx服务器上做一些配置
l 要求:
使用nginx时,想要做到长连接,我们必须做到以下两点:
1:从client到nginx是长连接
2:从nginx到server是长连接
对于客户端而言,nginx其实扮演着server的角色,反之,之于server,nginx就是一个client
l 配置:
# 我们要想做到Client与Nginx之间保持长连接,需要:
1:Client发送过来的请求携带"keep-alive"header。
2:Nginx设置支持keep-alive

二、Nginx状态监控
配置Nginx的监控选项(配置文件路径:nginx.conf)
添加如下代码: #设定Nginx状态访问地址
location /NginxStatus {
stub_status on;
access_log off;
}
配置完成重启Nginx
配置完成后在浏览器中输入http://192.168.1.131/NginxStatus查看
插件安装:./configure --prefix=/opt/nginx/ --with-http_stub_status_modul
参数说明:

活跃的连接数量

active connections

总共处理了n个连接 , 成功创建n次握手, 总共处理了n个请求

server accepts handled requests

每个连接有三种状态waiting、reading、writing

reading —读取客户端的Header信息数.这个操作只是读取头部信息,读取完后马上进入writing状态,因此时间很短
writing — 响应数据到客户端的Header信息数.这个操作不仅读取头部,还要等待服务响应,因此时间比较长。
waiting — 开启keep-alive后等候下一次请求指令的驻留连接.
正常情况下waiting数量是比较多的,并不能说明性能差。反而如果reading+writing数量比较多说明服务并发有问题。
查看Nginx并发进程数:ps -ef|grep nginx | wc -l
查看Web服务器TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
解析:
CLOSED //无连接是活动的或正在进行
LISTEN //服务器在等待进入呼叫
SYN_RECV //一个连接请求已经到达,等待确认
SYN_SENT //应用已经开始,打开一个连接
ESTABLISHED //正常数据传输状态/当前并发连接数
FIN_WAIT1 //应用说它已经完成
FIN_WAIT2 //另一边已同意释放
ITMED_WAIT //等待所有分组死掉
CLOSING //两边同时尝试关闭
TIME_WAIT //另一边已初始化一个释放
LAST_ACK //等待所有分组死掉
查看Web服务器TCP连接状态:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

高并发下Nginx整合方案

image.png

目录
相关文章
|
3月前
|
负载均衡 安全 应用服务中间件
高并发下Nginx安全配置
【8月更文挑战第16天】这段Nginx配置强化了安全性,包括隐藏版本信息以防攻击者利用,设置IP白/黑名单控制访问权限,保护敏感文件如日志不被非法下载,并启用HTTPS加密通信保障数据安全。同时,通过优化Nginx配置及系统内核参数,如调整进程数、并发连接数及文件描述符限制,显著提升服务器性能与稳定性。最后使用ApacheBench工具验证配置的有效性。
57 5
|
1月前
|
缓存 监控 负载均衡
nginx相关配置及高并发优化
Nginx的高并发优化是一个综合性的过程,需要根据具体的业务场景和硬件资源量身定制。以上配置只是基础,实际应用中还需根据服务器监控数据进行持续调整和优化。例如,利用工具如ab(Apache Benchmarks)进行压力测试,监控CPU、内存、网络和磁盘I/O等资源使用情况,确保配置的有效性和服务的稳定性。
108 0
|
3月前
|
监控 网络协议 应用服务中间件
高并发下Nginx压缩
【8月更文挑战第16天】gzip压缩在Nginx中可减少传输数据量,加快响应速度但消耗CPU。可在http、server及location级别配置。高并发时,启用Nginx状态监控以检查性能,配置`nginx.conf`添加`location /NginxStatus { stub_status on; access_log off; }`并重启Nginx
52 12
|
3月前
|
消息中间件 负载均衡 应用服务中间件
高并发环境下的Nginx整合方案
【8月更文挑战第20天】在高并发环境下,整合Nginx代理服务器、静态文件服务器、Tomcat集群、Mycat数据库读写分离和消息队列,可以构建一个强大、灵活且可扩展的Web服务架构。
47 1
|
3月前
|
应用服务中间件 Linux nginx
高并发下Nginx配置限流
【8月更文挑战第16天】
74 1
|
4月前
|
缓存 负载均衡 监控
Nginx实现高并发
通过应用上述策略,可以大幅提高Nginx的并发处理能力,从而在面对高流量时,保持稳定、快速的服务响应。不断地监控和调优系统将有助于保持服务器性能的最优化。
61 3
|
4月前
|
监控 应用服务中间件 nginx
高并发架构设计三大利器:缓存、限流和降级问题之Nginx的并发连接数计数的问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之Nginx的并发连接数计数的问题如何解决
|
4月前
|
应用服务中间件 nginx 缓存
高并发架构设计三大利器:缓存、限流和降级问题之Nginx作为前置网关进行限流问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之Nginx作为前置网关进行限流问题如何解决
|
5月前
|
存储 安全 应用服务中间件
解密Nginx限流机制:有效应对DDoS攻击与高并发流量
解密Nginx限流机制:有效应对DDoS攻击与高并发流量
277 0
|
6月前
|
安全 应用服务中间件 Linux
高并发下Nginx优化(一)
【4月更文挑战第15天】高并发下Nginx优化
131 0

热门文章

最新文章

  • 1
    高并发场景下,到底先更新缓存还是先更新数据库?
    67
  • 2
    Java面试题:解释Java NIO与BIO的区别,以及NIO的优势和应用场景。如何在高并发应用中实现NIO?
    74
  • 3
    Java面试题:设计一个线程安全的单例模式,并解释其内存占用和垃圾回收机制;使用生产者消费者模式实现一个并发安全的队列;设计一个支持高并发的分布式锁
    68
  • 4
    Java面试题:如何实现一个线程安全的单例模式,并确保其在高并发环境下的内存管理效率?如何使用CyclicBarrier来实现一个多阶段的数据处理任务,确保所有阶段的数据一致性?
    62
  • 5
    Java面试题:结合建造者模式与内存优化,设计一个可扩展的高性能对象创建框架?利用多线程工具类与并发框架,实现一个高并发的分布式任务调度系统?设计一个高性能的实时事件通知系统
    55
  • 6
    Java面试题:假设你正在开发一个Java后端服务,该服务需要处理高并发的用户请求,并且对内存使用效率有严格的要求,在多线程环境下,如何确保共享资源的线程安全?
    69
  • 7
    在Java中实现高并发的数据访问控制
    42
  • 8
    使用Java构建一个高并发的网络服务
    29
  • 9
    微服务06----Eureka注册中心,微服务的两大服务,订单服务和用户服务,订单服务需要远程调用我们的用,户服务,消费者,如果环境改变,硬编码问题就会随之产生,为了应对高并发,我们可能会部署成一个集
    37
  • 10
    如何设计一个秒杀系统,(高并发高可用分布式集群)
    129