前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Twitter是如何保障系统稳定性的?

Twitter是如何保障系统稳定性的?

作者头像
dys
发布2018-04-03 17:21:23
9120
发布2018-04-03 17:21:23
举报
文章被收录于专栏:性能与架构性能与架构

Twitter时常会因为某个热点事件导致系统压力突增,例如前两年日本的“天空之城”事件使Twitter创造了新的发推记录,之前是每秒1万条左右,因为这个事件,突然达到了每秒3.4万条,而Twitter的系统并没有受到多大影响,顺利支撑住了

Twitter的技术副总曾在InfoQ的访谈中聊过他们的做法,我个人对其内容的总结主要有两点,一是预演,二是预案

Twitter在平时会对系统做大量的压力测试,对产品功能做极端测试,模拟各种意外情况,并分析各个情况及相应的处理方法,形成预案,以备快速处理突发状况

压力测试

能够从容的面对突发压力,是因为背后长期的准备工作,经常对整个系统进行压力测试

每月都会跑一遍压力测试,并分析每个系统的状况

每周检查整体性能指标,和每个服务的性能指标,清晰了解当前的处理能力

讨论分析系统是否处于高效运行状态、当前服务器数量是否足以支撑预期的产品状态、是否需要买更多的机器 ……

例如发现某个服务不正常,处理的请求数明显低于其他服务,就要对其进行仔细检查,看他是否正常、是否需要对其进行调整 ……

像“天空之城”事件带来的压力,之前是没有实际经验的,但压力测试早已把系统推向了那个高度,所以,当它发生时,只是一次真实的验证

极端测试

对产品不断的进行各种极端情况的测试,来了解产品的实际反应

还会进行故障模拟,随机的杀掉数据中心里的一些机器,并要求保证服务正常

形成预案

在平时的大量测试工作中总结积累各种问题及其处理方案

每个系统都必须整理出他的运行条件是什么、哪些情况会导致他的崩溃……,用作紧急情况下的指导文档

虽然不可能想到所有的情况,但至少会列出测试中发现的那些问题,并指明如何处理

还有一个巨大的玻璃墙,上面记录着关键信息,在问题发生时能够帮助进行快速决策

提前做好准备、想好出现问题时如何处理,是保证稳定性的重要思路

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档