
海量服务
文章平均质量分 74
粉有力量
深圳市华洋软件技术有限公司
展开
-
系统性能优化分析—总体思路
说起性能优化,对菜鸟来说,从何入手?一头雾水,抓不住重点。关于这个话题,网络讨论已久,总结一下,性能优化的关键是分析性能瓶颈所在,然后对症下药,那么,如何分析和寻找性能瓶颈呢?其总体思路不外乎从以下四个方面考虑:一、分析CPU消耗 二、分析文件IO消耗 三、分析网络IO消耗 四、分析内存消耗 思路有了,接下来就是具体如何做的事情了。原创 2012-02-25 12:07:07 · 725 阅读 · 0 评论 -
大规模服务设计部署经验谈(8) | 优雅降级和许可控制
8 优雅降级和许可控制当发生DoS攻击或者由于用户使用模式变化而带来的负载激增时,服务器需要能实现优雅降级和管理控制。例如,911恐怖袭击发生后,大多数的新闻服务都发生瘫痪,无法向所有用户群体提供任何可用的服务。与此相比,如果能够将一部分文章可靠地提供给用户,总比什么都不能提供好。最佳实践有两种:“大红开关(big red switch)”和许可控制,如果能够针对服...翻译 2018-11-07 11:02:50 · 425 阅读 · 0 评论 -
大规模服务设计部署经验谈(7) | 审核、监控和预警
7 审核、监控和预警运营团队不能在部署环境中装配服务。要在部署过程中付出实质性的努力,以确保系统中的每个组件都可以生成性能数据、健康数据和吞吐量数据等。在任何有配置变更发生的时候,都必须在审核日志中记录详细变更内容、变更人和变更时间。在生产环境出现异常时,第一个要回答的问题就是最近到底进行过哪些变更。离开了审核跟踪,那么这个答案就是“什么都没被改过”,而且情况往...翻译 2018-11-07 10:58:49 · 331 阅读 · 0 评论 -
大规模服务设计部署经验谈(6) | 运营和功能计划
6 运营和功能计划要高效地运营服务,关键在于让构建的系统有效地消除运营团队的绝大部分管理交互。这样做的目标,是让一个高度可靠的24 x 7 小时运行的服务,由一个8 x 5小时工作的运营团队就足以维护起来。不过世事难料,一组或者多组系统救火不成,无法恢复上线的事情是时有发生的。在熟知这些可能性的情况下,实现把损坏的系统标为当机这个过程的自动化。依赖运营团队手动更...翻译 2018-11-07 10:54:05 · 251 阅读 · 0 评论 -
大规模服务设计部署经验谈(5) | 发布周期及测试
5 发布周期及测试在生产环境中进行测试是一件很现实的事情,必须成为所有Internet 级服务所必须的质量保证方式之一。在尽可能(可以掏得起钱)的情况下,绝大多数服务都应当有至少一个与生产环境相似的测试实验室,并且所有优秀的工程师团队应当使用生产级的负载,以反映现实的方式测试服务器。不过,我们的经验是,这些测试实验室即便模拟得再好,也绝不可能百分之百的逼真;它们至少...翻译 2018-11-07 10:49:58 · 286 阅读 · 0 评论 -
大规模服务设计部署经验谈(2) | 整体服务设计(2.7-2.10)
2.7 对吞吐量和延迟进行分析。应当对核心服务的用户交互进行吞吐量和延迟的分析,从而了解它们的影响。结合其他运营操作,比如定期数据库维护、运营配置(加入新用户,用户迁移)和服务调试等,进行吞吐量和延迟的分析。这样做对于捕捉由周期性管理任务所带动的问题是颇有裨益的。对于每个服务,都应当形成一个度量标准,用于性能规划,比如每个系统的每秒用户访问数,每个系统的并发在线人数...翻译 2018-11-02 11:19:29 · 183 阅读 · 0 评论 -
大规模服务设计部署经验谈(2) | 整体服务设计(2.6)
2.6 设计运营友好的服务的实践设计运营友好的服务更具体的最佳实践包括:2.6.1 快速服务健康测试。这是构建验证测试的服务版本。这是一个嗅探型测试,可以快速在开发者的系统上运行,以保证服务不会以独立方式出错。要保证所有的边界条件都被测试到,是不可能的,但如果快速健康测试通过的话,那么代码就可以检入了。2.6.2 ...翻译 2018-11-02 10:52:41 · 224 阅读 · 0 评论 -
大规模服务设计部署经验谈(2) | 整体服务设计(2.1-2.5)
2 整体服务设计一直以来,人们都相信80%的运营问题源于设计和开发,因此本节关于整体服务设计的内容篇幅最长,也最重要。系统出故障时,人们很自然倾向于首先去审视运营工作,因为这是问题实际产生的地方。不过,绝大多数运营问题都可以归因于设计和开发,或者最适合在设计和开发中解决。随后的内容凸显一个共识,即在服务领域,将开发、测试和运营严格分离不是最有效的方式。在环顾众多服务...翻译 2018-11-02 10:44:36 · 260 阅读 · 0 评论 -
大规模服务设计部署经验谈(1) | 引言
本文中提出的最佳实践,来自于作者多年大规模服务设计和部署的经验,为设计、开发对运营友好的服务提供了一系列良好的解决方案。■文/James Hamilton 译/赖翥翔1 引言本文就设计和开发运营友好的服务的话题进行总结,得出一系列最佳实践。设计和部署大规模服务是一个高速发展的领域,因而随着时间的流逝,任何最佳实践集合都可能成熟并完善。我们的目的是为了帮助人们...翻译 2018-11-02 10:33:44 · 303 阅读 · 0 评论 -
大规模服务设计部署经验谈(4) | 依赖管理
4 依赖管理在大规模服务中,依赖管理这个话题通常得不到应有的关注。一般的准则是,对于小型组件和服务的依赖关系,对于判断管理它们的复杂性来说,并不足以节约成本。在以下情况中,依赖关系存在重要意义:1. 被依赖的组件在大小和复杂度上有重要价值;2. 被依赖的服务在作为单一的中央实例时存在价值。第一类的例子有存储和一致性算法(consensus algorit...翻译 2018-11-06 12:11:29 · 417 阅读 · 2 评论 -
大规模服务设计部署经验谈(3) | 自动管理和预置
3 自动管理和预置许多服务编写的目的是为了在故障时向运营部门发出警报,以得到人工干预完成恢复。这种模式凸显出在24 x 7 小时运营人员上的开支问题;更重要的是,如果运营工程师被要求在充满压力的情况下做出艰难的决定,那么有20%的可能他们会犯错误。这种模式的代价高昂,容易引入错误,而且还会降低服务的整体可靠性。然而,注重自动化的设计会引入明显的服务模型约束。比如说,...翻译 2018-11-06 12:07:49 · 215 阅读 · 0 评论 -
系统性能优化分析—CPU消耗
分析CPU消耗,讲白点,就是分析CPU的利用率,包括总的CPU利用率,每个CPU核的利用率和每个进程的CPU利用率。懂得这三种利用率的查询和分析,这一块就算搞定了。 一、总的CPU利用率1、查询命令vmstat 2、命令格式vmstat 1 10 (每隔一秒显示一次系统的运行状况,共显示10次) 3、数据来源/proc/stat 4、命令含义v原创 2012-02-26 22:41:29 · 4172 阅读 · 0 评论 -
如何分析最耗CPU的线程
最耗CPU的进程可以通过pidstat命令分析,但线程如何分析呢?以下通过寻找最耗CPU的java线程为例来说明,希望能抛砖引玉。 举例:找到最耗CPU的java线程ps命令命令:ps -mp pid -o THREAD,tid,time 或者 ps -Lfp pid结果展示: 这个命令的作用,主要是可以获取到对应一个进程下的线程的一些信息。 比如你想分析一下一个j原创 2012-03-11 18:01:30 · 1019 阅读 · 0 评论 -
CentOS性能监控工具总结
很好的总结,值得一看。http://hi.baidu.com/wptad/blog/item/9df8d762122ac3c6e7113a11.html转载 2012-03-04 22:26:36 · 1047 阅读 · 0 评论 -
进程优先级,进程nice值和%nice的解释
用top或者ps命令会输出PRI/PR、NI、%ni/%nice这三种指标值,这些到底是什么东西?先给出大概的解释如下:PRI :进程优先权,代表这个进程可被执行的优先级,其值越小,优先级就越高,越早被执行NI :进程Nice值,代表这个进程的优先值%nice :改变过优先级的进程的占用CPU的百分比 (呵呵,这句好难理解是吧,不急慢慢来^_^) PRI是比较好理解的,即进程的原创 2012-03-04 11:58:24 · 40272 阅读 · 3 评论 -
大规模服务设计部署经验谈(9) | 结语
9 结语要降低大规模互联网服务的运营成本并改善服务的可靠性,一切从编写服务时注重运营友好开始。在这篇论文中,我们为“运营友好”做了诠释,并根据从事大规模服务的工程师的经验,总结了服务设计、开发、部署和运营的最佳实践。 作者简介James Hamilton,是微软LivePlatform Service团队的架构师,在微软有11 年工作经验,此前他曾带...翻译 2018-11-07 11:08:02 · 302 阅读 · 0 评论