《大型网站服务器容量规划》一3.1 通过监控规划容量

news/2024/5/10 1:37:17/文章来源:https://blog.csdn.net/weixin_34283445/article/details/90536404

本节书摘来异步社区《大型网站服务器容量规划》一书中的第3章,第3.1节,作者: 郑钢 责编: 张涛,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.1 通过监控规划容量

任何一家互联网公司都会有自己的运维系统,在运维系统之中,重中之重的是监控系统。

监控的方法有很多,最简单的就是利用一些系统命令,如用df命令来查看磁盘使用率,然后每天出报表,通过查看报表运维人员便监控到系统压力及容量,当逼近系统压力上限时,发出报警,提醒扩容。

但这种方法不能作为主要的监控手段,仅用来做辅助监控之用,毕竟监控是为了实时了解系统的状态。这方面都是用监控系统来完成,目前开源的监控系统有很多,如cacti、zabbix等,大多数监控系统都是以图表方式展示监控指标,如图3.1所示。


1


大多数监控系统都是基于SNMP(Simple Network Management Protocol),即简单网络管理协议。SNMP是度量性能指标的通用标准,大部分网络设备和服务器设备都支持该协议,因此,我们的监控系统才能通过该协议获取到设备的监控指标。既然是“简单”网络管理协议(其实SNMP一点都不简单),这说明仅凭SNMP的话还是不能满足所有监控需求,因此,这些监控系统也支持自定义采集程序。

扩展一下,如果公司业务比较复杂,一般的开源监控系统无法满足需求的话,公司会开发出适合的监控系统。这通常是为满足自定义监控,自定义的监控一般包括。

(1)日志监控,从日志文件中匹配出关键字,统计相应的个数,比如统计状态码的个数,或者处理时间大于一定时间的个数。

(2)端口监控,探测端口是否存活,一般用来判断Server程序是否“健在”,但不是很可靠,有时候Server端口还占据着但已经无响应了,此时端口监控依然表示正常。

(3)语义监控,这种就相对可靠多了,它是模拟客户端向Server发送请求,然后Server给予响应的方式来监控。

(4)结构体监控,这种监控要与特定进程绑定到一起才行得通,也就是那个被监控的模块会处理这种结构体。

除此之外,还可以通过模拟用户单击的方式来监控,也就是模拟用户行为,这是最真实的监控,效果最好,但由于此类模拟程序是要捕捉网页中的dom标签元素,因此,只要网页改变,监控就要重新写,比较麻烦。

回到正题,在监控系统中我们都会设置报警阈值,在监控图中我们都会看到逼近报警阈值的紧迫程度。如果接近了阈值,运维人员便开始扩容。

扩容的前提是压力趋近于模块的极限,如某模块每秒最大处理的请求数(qps)是300个,当实际qps接近于250左右时就要考虑扩容了。如何判断模块已经接近了最大处理极限呢?一种方法是在程序的日志文件中增加请求处理时间的字段,这样针对每个请求的处理时间我们便清楚了,如果任何页面的处理时间太长的话就要考虑扩容了。这里所说的处理时间长度没有固定的大小,还是要和业务结合,如果该页面主要消耗CPU资源,在不考虑阻塞的情况下,该页面的处理时间就不应该太大,最大不超过几百毫秒,如果该页面功能和存储或外网相关,就会相对长一些,超过1秒是很正常的。

一般情况下我们也会把模块各种请求的处理数量或大于某值的请求统计出来,按分钟或更小的时间粒度在监控系统中绘图。如图3.2的MySQL的增、删、改、查和慢查询监控图所示。


2

除此之外,大多数模块都会有请求超时的设置,例如某模块设置了请求的最大处理时间是30秒,超过30秒的请求会在日志中写入报错信息,一般会有warning、error或fatal等关键字,我们可以在监控日志中匹配这些关键字来统计单位时间内因超时而报错的请求数,当达到某个极限值时就表示离扩容不远了。

为了将监控可视化,通常情况下也会把这类日志监控添加到监控系统中,同样,如果监控系统不支持这类监控的话,我们可以自己写监控程序,然后自己输出图像。一般开发语言中都有现成的图形函数可以调用,或者使用第三方工具,如可以利用rrdtool或者前端图形库highcharts、amcharts等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_823988.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web层框架对网站中所有异常的统一处理

一个网站的异常信息作为专业的人士,是不会轻易暴露给用户的,因为那样狠不安全,显得你漏是一回事,只要还是考虑到网站的数据安全问题,下面给大家分享一下一些常见的web层框架是如何处理统一的异常。 之前都是在Struts2…

如何使用AppScan扫描大型网站

经常有客户抱怨,说AppScan无法扫描大型的网站,或者是扫描接近完成时候无法保存,甚至保存后的结果文件下次无法打开?;同时大家又都很奇怪,作为一款业界出名的工具,如此的脆弱?是配置使用不当还是…

当SEO/SEM与良知正面碰撞

先从这几天一直很火的大学生“魏则西之死”这篇文章说起,虽然这对死者很不敬,但如果可以让我们深刻反省的话也是值得的,从知乎到4.28号这篇文章在微信被疯狂转载之后火速占领各大新闻版块头条,首先我们来看一下消息的源头&#xf…

VS2005在开发网站时的一个编译BUG

这两天我在用C#做一个WEB网站,用的是VS2005,碰到一个编译问题,害我查了很长时间,终于找到原因了-_- 放上来,如果有碰到相同问题的兄弟正好看看。现象:编译时,当页面对应的cs文件有错误时&#…

Bootstrap相关网站中简单的等待提醒

一、在页面中加入如下代码 <div class"modal fade" tabindex"-1" role"dialog" id"waitingModal"><div class"modal-dialog" role"document"><div class"modal-content"><div cla…

服务器网站访问ftp设置,服务器网站访问ftp设置方法

服务器网站访问ftp设置方法 内容精选换一换公网域名解析是基于Internet网络的域名解析过程&#xff0c;可以把人们常用的域名(如www.example.com)转换成用于计算机连接的IP地址(如1.2.3.4)。公网域名解析支持通过直接在浏览器中输入域名&#xff0c;访问网站或Web应用程序。云解…

服务器启动文件夹,win10系统开机启动文件夹的路径是什么_网站服务器运行维护...

装 k8s 要先装 Docker 吗&#xff1f;_网站服务器运行维护装k8s是不需要先装Docker&#xff0c;两者之间是没有依赖关系的&#xff0c;都是可以独立运行&#xff0c;但是两者是可以配合使用的&#xff0c;Docker是一个独立的应用程序&#xff0c;可以安装在任何计算机上运行容器…

不蒜子实现网站访问量访客数统计

个人博客网站&#xff1a;http://zhangchuanjun.cn 或者&#xff1a;我个人网站 有许多网站分析工具&#xff0c;比如百度统计&#xff0c;谷歌分析等工具&#xff0c;这类工具虽然有不错的网站统计功能&#xff0c;但是都不能呈现在自己的网站上&#xff0c;都需要进入相应的后…

使用CDN为您的网站加速(一)

CDN(Content Delivery Network)翻译为内容分发网络&#xff0c;是通过在现有的 Internet 中增加一层新的网络架构&#xff0c;将网站的内容发布到最接近用户的网络 " 边缘 " &#xff0c;使用户可以就近取得所需的内容&#xff0c;解决 Internet 网络拥塞状况&#x…

Flask开发微电影网站(五)

后台管理页面是系统管理员登录后对网站进行管理的前端页面 后台登录页面&#xff0c;如下图所示 管理员登录后的页面&#xff0c;如下图所示 管理员登录后&#xff0c;在右上角显示的管理员信息&#xff0c;如下图所示 管理员登录后&#xff0c;在页面中间部分的左侧显示管理菜…

监控.net 网站 Glimpse

使用Nuget 安装Glimpse 安装好后&#xff0c;config会默认添加几个节点 安装好之后 只需要浏览器输入 网站/Glimpse.axd 再次进入网站 就可以查看&#xff08;ajax sql session 等&#xff09; 转载于:https://www.cnblogs.com/jayblog/p/9324672.html

本地搭建网站--PHP网站

背景&#xff1a;组内需要一个博客系统记录些文档、同时扫盲学习mysql、PHP、域名相关知识点、RFS学习演练 方案&#xff1a;phpnow emlog 一、PHPnow 提供PHP网站环境&#xff08; 服务器 数据库 主机空间&#xff09; 傻瓜式安装 主站&#xff1a;http://servkit.org/ 注&a…

在服务器上搭建多个WordPress博客网站教程(超级详细)

实验准备 一台阿里云服务器二个域名&#xff08;IP与域名已经建立解析关系&#xff09;Linux关于web架构的知识 实验步骤 1.用crt远程登录阿里云服务器 2.安装nginx&#xff0c;mysql&#xff0c;php 建议使用lnmp一键安装包安装&#xff0c;方便快捷 获取lnmp一键安装包链接 l…

网站建设指南之网站HTTPS化与证书

通常我们说的HTTPS就是HTTPSSL证书&#xff0c;简单的说就是HTTP的安全版。HTTP网站的数据传输都是以明文形式&#xff0c;比如用户密码等信息都没有加密&#xff0c;很容易造成信息泄露。绑定SSL证书后&#xff0c;可以实现网站HTTPS化&#xff0c;加密用户与网站之间的交互访…

bae部署php网站,thinkphp部署bae的相关配置

thinkphp3.2.3发布到bae3.0&#xff0c;在tp的config.php中设置URL_MODEL1&#xff0c;入口文件index.php中设置define(BIND_MODULE,Home);// 绑定Home模块到当前入口文件define(BIND_CONTROLLER,Index);// 绑定Index控制器到当前入口文件这样在xampp中调试可以直接是localhost…

linux新加网站,linux云主机如何添加网站?

如何在云主机上添加网站?云主机也是有不同的操作系统区分的&#xff0c;比如Windows跟Linux等等&#xff0c;这两种是比较多人选择的云服务器系统。那么&#xff0c;今天万变云给大家带来在linux云主机上进行网站添加的教程。以下配置的路径以网站云提供的标准环境路径为准&am…

html网站栏目列表,栏目列表页.html

&#xfeff;栏目列表页$axure.utils.getTransparentGifPath function() { return resources/images/transparent.gif; };$axure.utils.getOtherPath function() { return resources/Other.html; };$axure.utils.getReloadPath function() { return resources/reload.html; …

网站防御cdn和高防服务器,高防服务器和CDN防御的区别在哪

网络服务器配备纯SSD架构打造的高性能存储&#xff0c;旨在为用户提供优质、高效、弹性伸缩的云计算服务,下面小编给大家介绍一下高防服务器的种类。CDN是网站加速&#xff0c;可以服务器负载能力过低&#xff0c;带宽过少等带来的网站打开速度慢等问题。一个网站的服务器性能比…

Linux系统使用Gogs搭建私服Git网站

文章目录1. 安装Docker2. 安装Gogs3. 配置Git仓库系统&#xff1a;CentOS 7.4 64位1. 安装Docker # 通过yum源安装docker yum -y install docker # 启动docker systemctl start docker # 开机自启 sudo systemctl enable docker2. 安装Gogs 下载Gogs镜像 docker pull gogs/g…

基于django的视频点播网站开发-step3-注册登录功能

用户注册登录是一个网站的基本功能&#xff0c;django对这部分进行了很好的封装&#xff0c;我们只需要在django的基础上做些简单的修改就可以达到我们想要的效果。在本讲中&#xff0c;我们会用到user中的用户授权方面的一些函数&#xff0c;还会对django中的user进行扩展&…