建立网站流量与服务器压力的关系模型
写在最前面:如果已经用代码亲手实现了监控系统和回归方程的同学请忽略本书,本书干得就是这件事,因此下面你也不用看了(良心作者的一惯作派,哈哈)。
(时刻不忘王小兔陪我走过的困苦日子,请允许我先介绍一下老婆大人)
她是王小兔,一位集气质、温柔于一身的美丽小仙儿。
我是刚子,一位集讲卫生、懂礼貌于一身的愤儿青。
我一年前写了《大型网站服务器容量规划》(另外两个兄弟贺亚涛和尤胜涛也一同参与了本书的撰写),如今要出版了。写这本书的原因是,目前市场上还没有这方面的专项书,我希望通过此书给大家提个醒,原来容量规划不是简单的“乘除法”,更不是通过“口算”得出来的。用尤胜涛的话说:“这里面水很深”,用贺亚涛的话说:“多少人都栽进去了”。
我这人只喜欢干货,最讨厌虚头八脑的软文,因此本书没有丝毫的水分,以至于整本书只有200页。纯干货的好处是一字千金,而坏处是,长期不做技术工作的管理人员可能会看不懂,因此本书“可能”“不”适合技术总监、CTO等管理型人员(喜欢技术实战的管理人员例外)。
什么是容量规划?其实您天天和容量打交道。比如用杯子接水喝,水不能接太多,否则就溢了。手机充电时,一般不会等到电量一点不剩时才充,这会影响电池寿命,总之您心里对容器所做的承载量的评估就是容量规划。
我的新书讲的是服务器的容量,服务器属于硬件,因此服务器容量的指标包括CPU利用率、内存大小、网卡流量、磁盘空间及IO吞吐率等等。网站是运行在服务器上的,服务器的容量将决定网站可承载的最大流量。因此通过本书你可以知晓:
1. 网站需要多少台服务器
2. 同样服务质量,最小的服务器投入成本
3. 网站目前承受的压力大小
4. 新的流量压力下,网站的容量到达多少
5. 最多可以切多少流量到冗余机房才不会把冗余机房压垮
6. 代码上线前评估对线上服务的影响
等等。
这本书由监控及建模两部分组成,每一部分都细化到代码及公式,因此干货满满,希望部分程度上可以提升技术B格^_^,下面是两个方面的介绍。
一、有关监控
您可能很精通监控,顺口就能说上来常用的监控系统有nagios、zabbix、cacti及open-falcon等,但如果说这样就算懂监控的话,我觉得你可能要求太低了,毕竟这些监控系统大部分都只是拿来用的。你是否想过动手实现一个监控系统呢?这里指的是不借用任何现有的工具和库去手写一个监控系统,比如监控进程的CPU利用率、进程的IO吞吐率及进程的内存使用量等,注意啦,我说的是监控对象是进程,并不是整机。也许你会说:有很多现成的工具都能实现,不需要重复造轮子了。好吧,看来本书不适合你,它的读者应该是具有程序员精神的技术人员,你可以提前养老了,哈哈,玩笑莫怪。
二、有关建模
技术人员都希望自己技术“牛”,那什么叫技术牛?
“牛”是比较出来的,因此我给出的答案是:掌握技能差集的时间成本越少越牛,也可以说是学习能力强就算牛。举个例子,张三所会的那些技能李四半天就能学会,李四会的技能张三半年都搞不定,因此李四更牛。而这本书中所涉及的部分内容原本是要花费很多时间去了解的,但经过我的“简化处理”后,已经变得很“亲民”了,你懂的,“亲民”并不影响你更牛。
什么语言最好?
技术的顶端是数学,最好的语言也是数学(技术大神王辰光说最好的语言是php)。数学是宇宙通用的语言,因此你甚至可以用它同外星人交流。
前面的监控系统是为了收集样本数据,这是为后面的建模准备的,这部分便属于数学的范畴了。本书的第二部分就是介绍了数学在容量规划中的应用,利用统计学的分支——回归分析,来建立流量与压力之间的模型,以解决和容量相关的问题。
Q:运维人员往往数学不太好,是不是这种容量规划的工作应该让擅长数学的开发人员来做?
A:如今开发工作的门槛低了,大部分开发人员不需要数学功底,因此他们也未必会做。还有,我就是运维人员(带着一点点傲骄^9^)。
了解更多:大型网站服务器容量规划
本文转载自异步社区
原文链接:https://www.epubit.com/articleDetails?id=NC7E3EF90E4D000014BAB1D1015501D88
- 点赞
- 收藏
- 关注作者
评论(0)