《大型网站服务器容量规划》——第3章 容量规划的常用方法3.1 通过监控规划容量

简介:

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

第3章 容量规划的常用方法

3.1 通过监控规划容量

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

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

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


e6226a7c929cd14c823832da8315d2cd4cd641b1

大多数监控系统都是基于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的增、删、改、查和慢查询监控图所示。


c0dc4b50be4914de4e7d2f1420504742eb2227a0

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

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

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
3月前
|
弹性计算 ice
阿里云4核8g服务器多少钱一年?1个月和1小时价格,省钱购买方法分享
阿里云4核8G服务器价格因实例类型而异,经济型e实例约159元/月,计算型c9i约371元/月,按小时计费最低0.45元。实际购买享折扣,1年最高可省至1578元,附主流ECS实例及CPU型号参考。
461 8
|
3月前
|
弹性计算 定位技术 数据中心
阿里云服务器配置选择方法:付费类型、地域及CPU内存配置全解析
阿里云服务器怎么选?2025最新指南:就近选择地域,降低延迟;长期使用选包年包月,短期灵活选按量付费;企业选2核4G5M仅199元/年,个人选2核2G3M低至99元/年,高性价比爆款推荐,轻松上云。
216 11
|
9月前
|
存储 缓存 监控
阿里云服务器配置与云盘容量选择参考:实例规格、云盘等相关配置选择解析
对于初次接触云服务器的用户来说,面对众多配置选项和云盘容量选择,可能会不知道如何选择。有些用户甚至不清楚云服务器应该购买多大容量的云盘,也不知道哪一款配置的云服务器更适合自己的业务。本文将详细探讨这两个问题,并结合阿里云服务器的特点,为您提供一份云服务器配置与云盘容量选择指南,以供了解和选择参考。
|
3月前
|
弹性计算
阿里云8核16G云服务器收费标准:最新价格及省钱购买方法整理
阿里云8核16G云服务器价格因实例类型而异。计算型c9i约743元/月,一年6450元(7折);通用算力型u1约673元/月,一年仅需4225元(5.1折)。实际价格享时长折扣,详情见ECS官网。
|
3月前
|
域名解析 弹性计算 负载均衡
给阿里云服务器加速的方法有哪些?
本文介绍如何通过阿里云CDN加速、ECS网络优化及SLB负载均衡三种方法提升服务器响应速度。涵盖具体操作步骤,助力用户优化访问性能。
|
4月前
|
弹性计算 定位技术 数据中心
阿里云服务器选择方法:配置、地域及付费模式全解析
2025阿里云服务器选购指南:就近选择地域以降低延迟,企业用户优选2核4G5M带宽u1实例,仅199元/年;个人用户可选2核2G3M带宽ECS,99元/年起。长期稳定业务选包年包月,短期或波动场景用按量付费,轻松搭建网站首选高性价比配置。
|
5月前
|
弹性计算 小程序 容灾
2025购买阿里云服务器配置选择方法:企业+个人+学生攻略
2025年阿里云服务器购买省钱攻略,涵盖个人、中小企业及高性能配置推荐。个人用户优选38元轻量或99元ECS,企业用户选199元2核4G服务器,游戏用户适合4核16G或8核32G配置,详情请参考最新活动及攻略。
1172 11
|
5月前
|
缓存 监控 前端开发
详述uniapp项目部署于Nginx服务器的配置优化方法。
综上所述,uniapp项目部署于Nginx的优化方法多种多样,应根据实际情况灵活地采取合适的策略。配置后持续监控和调试,适时调整配置以保持最佳性能,并确保随着应用需求和访问模式的变化,服务器配置得到适当的更新和优化。
256 0
|
6月前
|
安全 关系型数据库 网络安全
安全加固:启动PostgreSQL 14服务器SSL加密的方法指南在CentOS 7环境中
通过上述步骤,你可以为PostgreSQL数据库服务器设置SSL加密,从而增加数据在传输中的安全性。确保维持证书的有效性,并且定期更新和管理密钥,以防止未授权访问。
297 0
|
9月前
|
缓存 PHP 数据库
WordPress网站服务器性能优化方法,站长必备。
最后,当你将这些方法组合起来并实施时,您将发现你的WordPress网站性能有了显著的提高。别忘了,这不是一次性的任务,要定期执行,保持你的车(网站)始终在轨道上飞驰。
289 21