nginx并发怎么看?负载怎么看?

简介: 还在等什么,快来一起讨论关注吧,公众号【八点半技术站】,欢迎加入社群

作者:Bruce.D

github:https://github.com/doukoi-BDB

文章底部有【技术社群】,不定更新活动、源码,欢迎来撩~~~




今日主题        

1、nginx 并发怎么看?负载怎么看?        

2、预计阅读 7分钟,正文2584字,10张图。





自律给我自由


讲解 如何查看负载 和 并发之前,简单与各位聊几句,这不发现后来群内活跃度有所降低呀。是不是社群没小姐姐都不能吸引各位英雄好汉了,哈哈哈。


言归正传,7月份,我呢面试了几个很不错的上市公司,效果还不错。几乎都收到offer了,也有意外,技不如人吧。然后选择了一家合适自己的(具体怎么合适,下面简单讲解)。


然后每次面试都会复盘总结自己,不管是否ok,每次复盘后,自己的自信就会几何倍的增长,别问为什么,或许大脑的兴奋神经 比较激烈,哈哈哈~~~


通过这几家,有一点我需要告诉各位,基础真的非常非常重要,一个基础能看出你对整个项目的掌握程度,以及对新老技术底层的理解与深度,也可以看出你定位问题的速度。


用我面试某家面试官说的:“ 你基础扎实的人,你底层逻辑挖的很深,解决问题 还真不一样,别人定位问题,直接从底层方面考虑,拆分底层,能够快速结合业务定位发生点,而我们不扎实的,需要根据业务,日志一步一步确定等等 “。


其实有的人或许不认可,反正我是挺认可的,深有体会。具体怎么个体会法,我还真的写不出来,需要大家尝试后,或许都会明白。(说句实话,以前的我也不太认可,与那位聊完,我真的很佩服,我已经准备好上那位大哥的车了,具体原因以后单独来篇文章~~~)


所以我建议大家:

   1、研究问题时候,多提 为什么? 一个问题牵扯出的内容,至少你要了解4层起。举个非常简单的例子哈(为什么要用缓存?缓存选择哪个?为什么这么选择?redis 为什么会快?为什么redis 是单线程 ~ 等等,太多了)

 

   2、了解底层时候,不要看完理论,看完配置,就感觉自己懂了,用在实战里,了解实战里面,如果使用的。


   3、数据结构多多了解,到底每个数据结构区别点,注意:底层区别。


   4、算法很重要,很重要~~~(因为算法能提高你的思维逻辑,亲测有效)



简单聊了都说了这么多,也希望大家多努努力,提升自己眼光,多来点正能量,群里活跃起来,干就完了~~~





并发怎么看???



步入主题,一般查看并发 界面也可以查看:


通过界面查看通过web界面查看时Nginx需要开启status模块,也就是安装Nginx时加上 --with-http_stub_status_module 。


然后配置Nginx.conf,在server里面加入如下内容:



location /Nginxstatus {   stub_status on;   access_log /usr/local/nginx/logs/status.log;    #日志   auth_basic "NginxStatus";            }


配置完后重新加载Nginx后我们可以通过浏览器访问 http://x.x.x.x/Nginxstatus


image.png


查看结果说明:



Active connections    //当前 Nginx 正处理的活动连接数.
server accepts handledrequests  //总共处理了387142个连接,成功创建387142次握手,总共处理了4804888个请求.
Reading         //nginx 读取到客户端的 Header 信息数.
Writing         //nginx 返回给客户端的 Header 信息数.
Waiting         //开启 keep-alive 的情况下,这个值等于active-(reading+writing),意思就是Nginx已经处理完正在等候下一次请求指令的驻留连接.






负载怎么查看???


负载(load)时一个linux 机器的重要指标,直观反应了linux 服务器当前状态。

linux 负载高,主要体现在:cpu 的使用、内存使用、io消耗 。


top 命令 ,采用于linux 命令。top命令能够清晰的展现出系统的状态,而且它是实时的监控,按q退出。


image.png


Tasks行展示了目前的进程总数及所处状态,要注意zombie,表示僵尸进程,不为0则表示有进程出现问题。


Cpu(s)行展示了当前CPU的状态,us表示用户进程占用CPU比例,sy表示内核进程占用CPU比例,id表示空闲CPU百分比,wa表示IO等待所占用的CPU时间的百分比。wa占用超过30%则表示IO压力很大


Mem行展示了当前内存的状态,total是总的内存大小,userd是已使用的,free是剩余的,buffers是目录缓存。


Swap行同Mem行,cached表示缓存,用户已打开的文件。如果Swap的used很高,则表示系统内存不足



在top命令下,按1,则可以展示出服务器有多少CPU,及每个CPU的使用情况

image.png


一般而言,服务器的合理负载是CPU核数*2。也就是说对于8核的CPU,负载在16以内表明机器运行很稳定流畅。如果负载超过16了,就说明服务器的运行有一定的压力了。


在top命令下,按shift + "c",则将进程按照CPU使用率从大到小排序,按shift+"p",则将进程按照内存使用率从大到小排序,很容易能够定位出哪些服务占用了较高的CPU和内存。


iostat命令(使用iostat -x 命令来监控io的输入输出是否过大)
仅仅有top命令是不够的,因为它仅能展示CPU和内存的使用情况,对于负载升高的另一重要原因——IO没有清晰明确的展示。
linux提供了iostat命令,可以了解io的开销。

输入iostat -x 1 10命令,表示开始监控输入输出状态,-x表示显示所有参数信息,1表示每隔1秒监控一次,10表示共监控10次。

image.png

其中rsec/s表示读入,wsec/s表示每秒写入,这两个参数某一个特别高的时候就表示磁盘IO有很大压力,util表示IO使用率,如果接近100%,说明IO满负荷运转。





分割线



为了让各位方便:交流、交友、技术视频、资源分享、接私活 等等,可以扫下面二维码(wx:xzzs730),备注 “ 技术 ” 就可以通过审核。

相关文章
|
缓存 运维 监控
面试官:Nginx 是如何实现并发的?为什么 Nginx 不使用多线程?
Nginx 是如何实现并发的?为什么 Nginx 不使用多线程?Nginx常见的优化手段有哪些?502错误可能原因有哪些??
295 0
面试官:Nginx 是如何实现并发的?为什么 Nginx 不使用多线程?
|
网络协议 Unix 应用服务中间件
Nginx极简实战—Nginx服务器高性能优化配置,轻松实现10万并发访问量
如何使Nginx轻松实现10万并发访问量。通常来说,一个正常的 Nginx Linux 服务器可以达到 500,000 – 600,000 次/秒 的请求处理性能,如果Nginx服务器经过优化的话,则可以稳定地达到 904,000 次/秒 的处理性能,大大提高Nginx的并发访问量。
Nginx极简实战—Nginx服务器高性能优化配置,轻松实现10万并发访问量
|
域名解析 负载均衡 架构师
Nginx极简入门(六)配置Nginx负载均衡,提高系统并发性能!
前面讲了如何配置Nginx虚拟主机、如何配置反向代理。Nginx最主要的功能就是反向代理和负载均衡。今天要说的是如何配置nginx和tomcat实现反向代理。
Nginx极简入门(六)配置Nginx负载均衡,提高系统并发性能!
|
4月前
|
负载均衡 网络协议 应用服务中间件
Nginx负载配置
Nginx负载配置
80 8
|
安全 应用服务中间件 API
互联网并发与安全系列教程(14) - 基于Nginx实现API网关
互联网并发与安全系列教程(14) - 基于Nginx实现API网关
120 0
|
存储 安全 应用服务中间件
Nginx之客户并发数限制解读
Nginx之客户并发数限制解读
|
监控 负载均衡 算法
Nginx底层原理:一文解析Nginx为什么并发数可以达到3w!
Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。本文从底层原理分析 Nginx 为什么这么快!
|
存储 网络协议 应用服务中间件
Nginx限制并发连接和并发请求数配置
Nginx限制并发连接和并发请求数配置
834 0
|
应用服务中间件 Shell Linux
通过 Consul-Template 实现动态配置Nginx负载服务
Consul-Template提供了一个便捷的方式从Consul中获取存储的值,Consul-Template守护进程会查询Consul实例来更新系统上指定的任何模板。当更新完成后,模板还可以选择运行一些任意的命令。
2107 0