软件技术人员需要对数字的敏感性

简介: 长假过完了,脑袋空转时间过长,严重不利于智商发育,所以写了这篇文章烧烧脑。本文通篇充斥了各种数字,图表,图画,坚持不住的允许半途而废,想脑洞开窍的还是要坚持,多培养对相关领域数字的敏感性。

长假过完了,脑袋空转时间过长,严重不利于智商发育,所以写了这篇文章烧烧脑。本文通篇充斥了各种数字,图表,图画,坚持不住的允许半途而废,想脑洞开窍的还是要坚持,多培养对相关领域数字的敏感性。

为什么要看数字?

程序员每天要写代码,得益于摩尔定律,80%的场景是不需要关注自己写的程序的性能的,但现在互联网行业的IT开发人员越来越多,经常会有人遇到高并发情况下的性能问题,这些问题的根源有相当一部分是软件开发人员太“软”,把计算机系的基础课《计算机组成原理》知识还给老师了,对硬件知识掌握不够导致的。有些代码段需要有一些硬件知识的背景才能写好,所以这些数字就是为了磨练磨练这个敏感度。

中国单机时代(1981-1994)的程序员是幸福的,那时的程序员只要关注机器硬件的性能指标就行了,来优化自己的程序;但其实那代程序员也是不幸福的,那时的286内存少的可怜,我已经不记得我的那台286电脑的内存是多少了,但这个CPU的理论最大支持内存就是16MB。以当时的条件,家里那台机器配的内存肯定达不到最大值,保守估计有4MB就不错了,这个道理就跟现在的消费级的i5理论最大能配32GB,一般普通人4G就够了,普通游戏玩家或码农一般来个8G,有追求的骨灰级玩家或码农会来个16G,没人能达到主板支持的上限。

CPU缓存类:

本文假定读者已经了解现代计算机系统硬件方面的相关知识,对于一些计算机组成原理的常识不再做累述(可能稍微介绍下)。现代CPU缓存简单示意图:

上图为4核CPU,多核CPU的缓存设计大概是这样,L1与L2为每个核的内部cache,L3为几个核的共享cache。越靠近CPU的速度越快,成本越高,所以厂商的用料(容量)越小。

这是用CPU-Z看到的民用级CPU的缓存参数: L1 cache 4*128K=512KB,  L2 cache 1M,L3 cache 6MB。

操作                                   |大约时间        |时钟周期

CPU访问寄存器                     |秒杀             |1 cycle

CPU访问L1 Cache                |0.5 ns          |~3-4 cycles

CPU分支预测失败                  |5 ns            |

CPU访问L2 Cache                |7 ns            |~10-20 cycles

CPU访问L3 Cache                |~15 ns        |~40-45 cycles

Mutex加锁/解锁                   |100 ns        |

CPU内存访问                       |~60-120ns  |~120-240 cycles

千兆网络发送1MB数据           |10 ms         |

从内存顺序读取1MB数据        |0.25 ms      |

机房内网络来回                    |0.5 ms       |

异地机房之间网络来回           |30~100 ms |

SATA磁盘寻道                    |10 ms        |

从SATA磁盘顺序读取1MB数据|20 ms        |

固态盘SSD访问延迟              |0.1~0.2 ms|

数据中心数字常识:

大家知道互联网对服务器的需求特别大,美国很多大公司已经不满足于传统IDC提供的空间和运营成本,直接自建,facebook更是发起了open compute计划,为互联网行业的节能服务器和数据中心制定标准,国内厂商浪潮看到这个市场并参与进来开发了smart rack产品,也就是百度,阿里采购的天蝎机柜。其设计特点为机柜标准为44U标准机柜,分为上中下三个空间,1-20U和25-44U是计算节点的安装位,所以能装40台左右服务器。

U为机柜尺寸单位,为unit的缩写

服务器宽     19英寸

服务器厚度  1U = 4.445cm

机柜高尺寸以服务器厚度的倍数增加:

服务器机柜最大常规尺寸  42U

每个机架接入40台服务器

每台服务器的内存为24GB,磁盘为10×1TB=10T的SATA机械硬盘(15000转)或者10×160GB=1.6T的SSD固态硬盘

国内顶尖的数据中心最多可为一个机柜提供12KW的功率,而一个1U双路服务器的电源功率为500W左右。

常见网站PV(page views)数据:

PV是PC网站时代衡量一个网站规模的指标,直接翻译过来就是页面观看,常译为页面浏览量或点击量,因为一个web网站上每次用户点击都会导致页面变化,也即一个PV。

另外两个衡量指标也捎带介绍下:

UV, Unique Visitor,独立访客。访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。

IP,指独立IP数。00:00-24:00内相同IP地址之被计算一次。

一个网站规模怎么样,看这些统计的访问量就能看出来:

网站|日平均PV|时间

12306.cn     |1900万       |2015年2月25

12306.cn     |297亿         |2015年春运

weibo.com   |PV值8000万 |2015年2月25

tmall.com    |3亿5000万   |2015年2月25

taobao.com |12亿            |2015年2月25

京东            |2亿7000万   |2015年2月25

亚马逊中国    |2亿8000万   |2015年2月25

蘑菇街         |230万          |2015年2月25

知乎            |5200万        |2015年2月25

数据来源于http://www.alexa.cn/

部分引用资料:

大规模分布式存储系统:原理解析与架构实战

http://wenku.baidu.com/view/029214fe910ef12d2af9e714.html  服务器尺寸表

http://coderplay.iteye.com/blog/1485760   CPU cache

http://ifeve.com/cpu-cache-flushing-fallacy-cn/  CPU缓存刷新的误解

http://tech.hexun.com/2014-09-30/168994467.html 传统服务器噩梦 最新Smart Rack机柜解析

​见微知著:腾讯数据中心开放活动随想 http://solution.zdnet.com.cn/2014/0925/3034961.shtml


 

关于麦芽面包 darkjune_think:

麦芽面包分享的是一个从小就以找一份用电脑干活的工作为目标的人的见闻,思考。那时还是89年,那时能见到的一份这样的职业是用王码打字。当然,现在这个目标实现了,而且是一份还算可以的编程工作。现在代码写的不多了,更多的是对工程实践的思考,对系统架构的思考。故事还在继续,分享仍然不断

 

微信订阅号: darkjune_think

 

如何订阅:

  • 扫描下面的二维码,选识别二维码,选关注。

目录
相关文章
|
3月前
|
测试技术
破解研发效能度量悖论
每一个精心设计的度量模型都是为了提升团队的研发效能,每一个精心设计的度量模型都会驱使出现“高分低能”的团队。
37 0
|
11月前
|
云安全 安全 Cloud Native
三项认可!阿里云通过赛可达安全能力测试!
近日,国际知名第三方网络安全检测服务机构——赛可达实验室正式发布《赛可达实验室 容器安全测评方案》,阿里云云安全中心-容器安全率先通过了各项安全能力检测,获得了全球首张容器安全“东方之星”证书。同时,“阿里云云安全中心”平台与“阿里云云安全中心-主机安全”也通过了各项测试,获得 “东方之星”证书。阿里云云安全中心作为CWPP一体化安全管理平台,同时获得主机安全、容器安全、ATT&CK攻击面覆盖三项认可。
204 0
|
智能硬件
周鸿祎:不符合人性的需求都是伪需求
  在移动互联网时代,产品的可选择性实在太大,各类网站琳琅满目,App(应用程序)层出不穷,任何一个用户都会在网络上不断地进行切换和刷新。   乱花渐欲迷人眼,用户到底凭什么选中你的产品,并为之买单?   谈到这个话题,我不得不提到人性。一个好的产品,往往能够反映人性中最本质的需求,换言之,不符合人性的需求都是伪需求。最本质的需求是人类原始的本能欲望,在《圣经》中,人类有七宗罪:淫欲(lust)、懒惰(sloth)、贪婪(greed)、饕餮(gluttony)、傲慢(pride)、暴怒(wrath)和妒忌(envy)。一款好的产品,需要对人性做透彻的分析,才能完成其设计。且让我们分而论之。
239 0
|
架构师 安全 搜索推荐
技术人员如何破除达克效应(认知偏差)?
技术人员如何破除达克效应(认知偏差)?
266 0
技术人员如何破除达克效应(认知偏差)?
|
SQL 资源调度 Oracle
什么是软件实施?软件实施前景几何?软件实施的面试题有那些?
事情是这样的,由于自己目前还没有对象,就想着在兰州找一份还不错的工作,于是投了一家在我的家乡还算不错的公司,对方却说有可能是软件实施岗位,于是趁机了解了一下, 什么是软件实施? 软件实施掌握的基础知识有哪些? 软件实施前景几何?
828 0
|
机器学习/深度学习 存储 人工智能
上交友软件先“测谎”?日本大学生开发匹配模型,60个问题综评价值观,精度达75%
上交友软件先“测谎”?日本大学生开发匹配模型,60个问题综评价值观,精度达75%
130 0
《伟大的小细节:互联网产品设计中的微创新思维》——3.4 身份特征与使用习惯因素
本节书摘来自华章计算机《伟大的小细节:互联网产品设计中的微创新思维》一书中的第3章,第3.4节,作者:文哲著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1109 0