James Reading 12-07

有一个多月没有整理阅读的内容了, 最近一段时间在阅读几本书,《Systems-Performance-Enterprise-and-the-Cloud》 By Gregg Brendan,《The Art of Computer System Performance》,《NoSQL Distilled》 都很不错, 不过都没看完, 就不在这里多说了。 哈哈。

下面是10-14到今天12-07为止阅读过, 并认为值得了解的内容。

  • 运维与监控
  • http://t.cn/zR5ADrP 预警是关于“Unknown unknown”,在文中,Baron Schwartz介绍了监控系统的几个基本原则:1. 从业务角度去监控,每秒钟处理多少业务量,处理的速度如何,2. 度量并分析你关心的指标,3. 永远不要针对无法修复的问题做告警,比如MySQL的备库延迟,比如因为备份而引起的负载增加。

    http://t.cn/zRtymS0 构建有效的告警系统,1. 针对哪些指标进行监控(超载监控,频次监控,时间窗口统计监控),2.如何定义正常状态(Normal behavior ),3.如何定义非正常状态(Abnormal or anomalies )。

    http://t.cn/zRtUpuy 性能与可运维性模式,这篇文章是这本书的深度书评,从这篇书评看,本书几乎涉及到我接触/了解到的可运维性的大部分内容,对于性能相关内容,介绍比较粗浅。

    http://t.cn/zR6FCfp “Monitor Some of the Things”, http://t.cn/zR6FCfN “What should I Monitor”,Baron Schwartz最近做的两个关于如何监控/监控什么/如何Alert/如何发现Anomaly/如何做容量规划/如何做基本的性能诊断.

    http://t.cn/zR6HmCy Chaos Kong, Netflix的地区级容灾工具, 文章要点: 1. Chaos Monkey负责单主机故障容灾,Chaos Gorilla负责Availability Zone的容灾,Chaos Kong负责地区级故障容灾, 2. 利用Amazon的预留主机策略来实施地区级容灾,3. 自己实现CDN(21个机房),4.开发负责到底,5. 一切都保留3份冗余

    http://t.cn/zRjiPwZ netflix的自动容量控制平台-scryer, 基于历史的负载特征, 做容量与资源的拟合, 再基于此拟合自动的通过AWS的工具上下线机器, 从而更加有效的使用机器资源, 降低成本. 当然, 并不是所有负载都是基于固定模式(pattern)的, 此系统也接受人工指定负载特征,来应对节假日模式.

    http://t.cn/zRtU6xQ Netflix的Hystrix高容错系统的介绍。重点介绍了他们的监控系统,以及参造《Release IT!》一书中介绍的几种提高系统可靠性的Stability Patterns,如Bulkheads,Circuit Breaker,Threadpool与Semophore来控制并发访问,使用Failback、Fast Fail模式来控制故障蔓延。

    http://t.cn/zR6s4f3 “How to Run a Post-Mortem With Humans”, 如何实现no-shame的故障事后分析, 1. 从心理学的角度分析人的认知, 人通常都会因故障从自身触发而感到Shame, 2. 默认情况下, 我们都倾向于将故障定位为人的问题, 是人不够仔细不够小心, 而这对于后续如何避免故障作用不大, 3. 更好的方式是, 假设人会犯此类错误并从机制上避免

  • 性能优化
  • http://t.cn/zRyirMZ iconfinder如何优化他们的页面处理引擎(Render),将页面的处理时间从开始的91ms->29ms->20ms, 而丝毫不涉及到传统上大家认为的,系统慢是源自数据库慢. 哈哈. 基本的观点是: 需要通过Profiling的方法找到系统慢的地方,并作针对性的优化,而不只是找个替罪羊.

    http://t.cn/zHuwByv Brendan Gregg的主页, 他的几乎所有的演讲ppt, 大部分比较好的文章,在此都有汇集; 另, 看了下他推荐的阅读列表, 大部分是关于性能分析,性能优化, 容量规划与分析的书籍, 值得参考下.

    http://t.cn/zR6Q4RF Brendan Gregg的新书Systems-Performance-Enterprise-and-the-Cloud已经上架,可以购买了(价格较高,谨慎动手), 主要内容: 1. 优化的方法论(术语/概念/模型/方法与技术), 2. 动态追踪技术与工具, 包含Dtrace/Systemtap/Perf, 3. 系统各个组件的优化技术, 4. 压测,如何避免常见误区

    http://t.cn/8khwx3h http://t.cn/8khwx3P 如何利用HyperLogLog算法在Oracle中(增量的)计算表上的distinct值, HyperLogLog是一种基于Hash桶计算近似Distinct值的算法, 计算的精度基本在+-2%的范围, 优势有三: 1. 内存耗费非常小, 2. 计算速度快, 3. 可以增量计算. 这两篇文章是介绍性的, 不过很清晰

    http://t.cn/SxMn6K 深入探讨Java语言的各种对象(Collection)/类型在运行时的内存消耗, 各种Collection对象的内存消耗对比, 如何更好的管理对象的生命周期(Life Cycle), 如何有效的利用Java 的Heap空间, 同时又不降低处理的性能.

    http://t.cn/8kLSAdm 不同Redo Size在Exadata SSD上的效果, Redo Size越大, log write的写入时延波动性越大, 从而越不可用. 【从我个人的经验看,1. 尽可能不要使用SSD作为Redo 写,2.如果使用,a. 专用设备,b. 足够的预留空间(高OP), 3. 使用成熟厂家的产品(如Fusion-IO,Intel), GC算法至关重要】

    http://t.cn/8ktRmee 不错的关于SSD以及IO相关的小提示. RethinkDB出品.

    http://t.cn/8kfhwWq 针对EMC XtremIO的文章http://t.cn/8kcP1i5的回击. 从我的角度理解, EMC确实没有说清楚他的优势, 或者说, 在GC这件事情上, 他没有做什么事情, 而GC对于每一个Flash厂商来讲都应该是重要的事情.

  • 架构,评论与其它
  • http://t.cn/zRtV8xe Innotop工具的介绍, 简单的登录配置, 如何配置MySQL集群,通过innotop检测一个集群的状态, 比如一个master多个Slave的情况, 如何通过Innotop来管理集群的多台机器,在权限允许的情况下,可以通过它对多台机器发出命令. 功能还是很强大的.

    http://t.cn/zR6QhLX Todd Hoff对sosp 2013论文的回顾, “关于同步,所有你需要知道的内容”, 要点: 1. 锁的利用需要基于硬件平台, 以及对应的工作负载特征进行选择,2. 同步操作的可扩展性主要是硬件的一个属性, 3. 同步操作在单CPU上扩展性最好,4.9种不同的锁算法各有其合适的场景, 也即合适才是最好的.

    http://highscalability.com/blog/2013/12/4/how-can-batching-requests-actually-reduce-latency.html 批处理为何可以,以及在什么样的情况下, 可以降低时延.

    http://t.cn/8kLY6dz 为什么Oracle不会杀掉MySQL,1. MySQL并不是Oracle的直接竞争产品,Oracle的客户主要为运行企业级软件的企业客户,而不是互联网客户. 2. Oracle是为了硬件而购买Sun,也即目标是Exa系列的产品,3. Larry的目标是钱,并不反对开源,4.MySQL的企业支持业务发展也不错,5. M有替代的竞争产品

    http://t.cn/8kA9brd 硬盘的生命周期到底是怎么样的? 一块普通的磁盘寿命如何?

    http://t.cn/zjjwPQ1 为什么MongoDB在Etsy使用的并不好,MongoDB的成名/成功主要得益于两大功能:Schema-Free,Auto-Sharding, 当一个公司已经有相对成熟的MySQL运维体系的时候, 当公司有足够的技术能力做好去范式化/Sharding Key的选择/自动Sharding扩展这些功能时, 引入一个新的数据库好处就很有限了

    http://t.cn/zRQV5qv Robin Harris (StorageMojo)谈论传统大型存储的情况, 1. 已经不适合时代, 2. 会逐渐被Flash Storage取代. 仍然健在的原因,1. 【Availability】更好的可用性,2. 更友好的使用。Flash存储的工作方向:1. 更好的压缩,2. 更好的实时去重,有效提供更好的Capacity/$。

    http://t.cn/zRIw0pV (请自备梯子), Twillo的高可用架构变迁, 谈及Twillo如何根据业务的需求与特征, 并从故障的角度分析高可用的天敌: 数据持久化与变更管控, 总结了几条规则: 1. 尽可能无状态,2.分离有状态与无状态的组件,3.使用Cache与Sharding,4.分解数据的生命周期,降低数据管理复杂度.

    http://t.cn/zRJMybK MySQL上的几种高可用方案, 各种对比, 各种介绍, 自己体会吧.

  • 社会心理
  • 人力资本与非人力资本在产权性质上的差别很大,在自由社会中,人力资本的所有权仅限于他本人. — 罗森(芝加哥大学经济系,劳动力经济学的领导人物).

    果树会结果,农地有收成,结果与收成都是收入. 然而, 这收成可不是在果熟或稻熟时才得到的. 果树或农作物每天都在变, 不停地变, 而每一小变都是收入(或负收入), 所以, 收入是一连串的事件了. –摘自周其仁《收入是一连串事件》之张五常序.

    The first principle is that you must not fool yourself – and you are the easiest person to fool — By Richard Feynman.

    http://t.cn/zR6zfjL 控制人们的头脑是控制整个国家的关键,语言文字就是制度的基石。 ——〔波兰〕切斯瓦夫·米沃什

    http://t.cn/8kLAGW1 权利是得到社会认可的、大部分人主动维护的选择的自由。任何在现实中能够行使的权利,都离不开他人的背书和支持。换言之,我们可以倡议某种权利,并声称它是一种 “自然权利” 或 “天赋权利”,但除非它得到普遍的尊重和维护,它就只是应然而非实然的关于权利的主张而已(薛兆丰)

    Related posts:

    1. James’ Reading 05-11

    4 comments to James Reading 12-07

    • lyxing

      涉猎范围太广了。谢谢你把这些列出来,我等可轻松追随!

    • 好久木有更新了。

    • pzz2011

      可以问一下吗? 可能是我还不是很会利用搜索工具,同时由于还是个在校学生,知识储备还是很少,接触的东西不多的缘故,
      所以看这些东西都觉得很高端! 不知道您是通过什么渠道找到这些资料的? 希望可以学到方法,谢谢!(望回复)

    • 通过这几年工作积累的各种书籍/blog/杂志,有空的时候就多看看。可以找我的blog里面,有我自己订阅的完整内容。

    Leave a Reply

     

     

     

    You can use these HTML tags

    <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>