nginx performance monitor
nginx performance monitor
Nginx中的stub_status模块主要用于查看Nginx的一些状态信息
示例
Active connections: 2
server accepts handled requests
12055 12055 34907
Reading: 0 Writing: 1 Waiting: 1
这些状态信息包括
1. Active connections:
对后端发起的活动连接数.
2. server accepts handled requests:
Nginx总共处理了12055个连接,成功创建12055握手(证明中间没有失败的),总共处理了34907个请求.
3. Reading:
Nginx读取到客户端的Header信息数.
4. Writing:
Nginx 返回给客户端的Header信息数.
5. Waiting:
开启keep-alive的情况下,这个值等于 active – (reading + writing),意思就是Nginx已经处理完成,正在等候下一次请求指令的驻留连接.所以,在访问效率高,请求很快被处理完毕的情况下,Waiting数比较多是正常的.如果reading +writing数较多,则说明并发访问量非常大,正在处理过程中.
开启Nginx的stub_status模块
在Server块中添加如下location规则,重新加载配置文件。
location /nginx-status {
stub_status on;
access_log off;
#加入访问限制
allow 127.0.0.1;
deny all;
}
通过/nginx-status便可以查看nginx的性能参数状态。
在linux中默认是不会将stub_status编译进来的,所以要开启此功能,需要编译时增加配置 ./configure –with-http_stub_status_module
但是这样这样简单的即时值无法直观的展示nginx负载、性能的变化趋势,如果能够有一个实时趋势图是最好了。
如下代码使用highchart linechart图来展示nginx负载、性能趋势。
javascript code
$(function() {
$(document).ready(function() {
Highcharts.setOptions({
global: {
useUTC: false
}
}); function initData() {
var data = [],
time = (new Date()).getTime(),
i;
for (i = -100; i <= 0; i++) {
data.push({
x: time + i * 1000,
y: 0
});
}
return data;
}
$('#container').highcharts({
chart: {
type: 'spline',
animation: Highcharts.svg, // don't animate in old IE
marginRight: 10,
events: {
load: function() {
var series = this.series;
setInterval(function() {
$.get('/nginx-status', {}, function(data) {
var status = data.split(' ');
var x = (new Date()).getTime(); // current time
var y0 = Number(status[2]);
var y1 = Number(status[11]);
var y2 = Number(status[13]);
var y3 = Number(status[15]);
series[0].addPoint([x, y0], true, true);
series[1].addPoint([x, y1], true, true);
series[2].addPoint([x, y2], true, true);
series[3].addPoint([x, y3], true, true);
}, 'text');
}, 3000);
}
}
},
title: {
text: 'nginx stub-status'
},
xAxis: {
type: 'datetime',
tickPixelInterval: 150
}, tooltip: {
formatter: function() {
return '<b>' + this.series.name + '</b><br/>' +
Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' +
Highcharts.numberFormat(this.y, 2);
}
},
legend: {
enabled: true
},
series: [{
name: 'Active connections',
data: (function() {
var data = [],
time = (new Date()).getTime(),
i;
for (i = -100; i <= 0; i++) {
data.push({
x: time + i * 1000,
y: 0
});
}
return data;
})()
}, {
name: 'Reading',
data: initData()
}, {
name: 'Writing',
data: initData()
}, {
name: 'Waiting',
data: initData()
}]
});
}); });
html page
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="format-detection" content="telephone=no">
<title> performance monitor</title>
<script type="text/javascript" src="http://cdn.hcharts.cn/jquery/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="http://cdn.hcharts.cn/highcharts/highcharts.js"></script>
<script>
/* highchart code */
</script>
</head>
<body>
<div id="container" style="min-width:700px;height:400px"></div>
</body>
</html>
监控图像如下
nginx performance monitor的更多相关文章
- Orion Network Performance Monitor 软件在网络管理中的应用
Orion Network Performance Monitor 软件在网络管理中的应用 Orion Network Performance Monitor是完全的带宽性能和故障管理软件 ...
- Send email alert from Performance Monitor using PowerShell script (检测windows服务器的cpu 硬盘 服务等性能,发email的方法) -摘自网络
I have created an alert in Performance Monitor (Windows Server 2008 R2) that should be triggered whe ...
- Performance Monitor采集性能数据
Performance Monitor采集性能数据 Windows本身为我们提供了很多好用的性能分析工具,大家日常都使用过资源管理器,在里面能即时直观的看到CPU占用率.物理内存使用量等信息.此外新系 ...
- 使用performance monitor 查看 每一个cpu core的cpu time
使用performance monitor 查看 每一个cpu core的cpu time: 打开performance monitor,添加 counter 如下 运行一段cpu bound 的代码 ...
- 实战Performance Monitor监测EnyimMemcached
首先要将EnyimMemcached安装至Windows Performance Counters中. 将Enyim.Caching.dll复制到一个文件夹中 在命令行中进入.NET Framewor ...
- 【Azure微服务 Service Fabric 】在SF节点中开启Performance Monitor及设置抓取进程的方式
前提条件 当我们观察到SF中某一个节点出现CPU不正常的情况,但是由于不能肉眼长期观察,所以可以通过开启Performance Monitor的方式来获取每一个进程的%Processer Time的方 ...
- windows Sql server performance monitor
对于sql server 性能的监控主要从2个方面: 1. sql server自带的监控 Management->SQL Server Logs->Activity Monitor 在这 ...
- 通过Performance Monitor观察程序内存使用情况
在学习C# 数据类型和内存等知识点时,看到利用Windows系统下的Performance Monitor-性能监测工具查看程序内存的使用情况.使用过程中遇到个别小问题,现在把观察程序内存的操作步骤简 ...
- Greenplum记录(一):主体结构、master、segments节点、interconnect、performance monitor
结构:Client--master host--interconnect--segment host 每个节点都是单独的PG数据库,要获得最佳的性能需要对每个节点进行独立优化. master上不包含任 ...
随机推荐
- maven 记录
1. Can't find parent: 工程中的pom.xml中定义的”project -> version”或者”parent project -> version”设置的不对导致 ...
- SQL起别名
select列的时候取别名有三种方法,这三种方法并不是所有数据库都适用. 方法一.直接在字段名称后面加上别名,中间以空格隔开. 方法二.以as关键字指定字段别名,as在select的字段和别名之间. ...
- [Maven]Apache Maven 入门篇
作者:George Ma 上 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 ma ...
- JSTL 核心标签库 使用
JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.otherwise 3.循环标签:f ...
- sklearn学习笔记2
Text classifcation with Naïve Bayes In this section we will try to classify newsgroup messages using ...
- form表单的enter自动提交
当form中只有一个文本框时并且获得焦点 按enter时,就会自动提交表单.阻止自动提交 可以添加一个隐藏的input框 <input type="text" style=& ...
- CentOS 6.5下静默安装oracle
本例: 通过SSH远程连接云主机,上传oracle11g安装包,在centos6.5上无图形化界面静默安装oracle11g. 涉及工具及环境: 1.本地环境windows7+ssh远程连接工具xSh ...
- sqlserver获取数据库表结构
SqlServer获取所有数据库,表,表结构 --获取所有数据库 SELECT * FROM Master..SysDatabases ORDER BY Name --获取test数据库下所有表 us ...
- get application power
1. http://blog.csdn.net/sjz_iron/article/details/8726661 http://www.16rd.com/home.php?mod=space& ...
- 十一、Manipulators
1. Manipulators是可以用三维进行绘制的的节点,可以将用户行为值化,对其他节点的属性进行modify. 2. 属性值可以通过Channel Box 和Graph Editor进行修改.同其 ...