- 浏览: 849043 次
- 性别:
- 来自: lanzhou
文章分类
最新评论
-
liu346435400:
楼主讲了实话啊,中国程序员的现状,也是只见中国程序员拼死拼活的 ...
中国的程序员为什么这么辛苦 -
qw8226718:
国内ASP.NET下功能比较完善,优化比较好的Spacebui ...
国内外开源sns源码大全 -
dotjar:
敢问兰州的大哥,Prism 现在在12.04LTS上可用么?我 ...
最佳 Ubuntu 下 WebQQ 聊天体验 -
coralsea:
兄弟,卫星通信不是这么简单的,单向接收卫星广播信号不需要太大的 ...
Google 上网 -
txin0814:
我成功安装chrome frame后 在IE地址栏前加上cf: ...
IE中使用Google Chrome Frame运行HTML 5
Impressions from the first article (in its first day) and the first 24 hours of the GitHub migration, have caused us at Anchor to believe that;
- GitHub is just as popular as we thought,
- The migration was worth it, as things are running much faster (just check your twitter feeds, or better yet, check your GitHub source tree for no reason ); and,
- People are interested in what has gone under the hood of the new GitHub (insert your favorite fast car here; otherwise lets say a roadster).
Taking these three things into account, this installment will discuss why things are so much faster post migration compared to prior.
I said ‘faster’ and not ‘fast’, because GitHub is now as fast as any website should be. So in comparison, yes, GitHub is fast now, however it is akin to riding your bicycle with half inflated tires: when fully inflated, suddenly your old bike is blazing fast. Now this is not to be critical of the former architecture which held its merits when GitHub was founded. GitHub had simply moved to a stage where a infrastructure architecture refresh was logical.
Scale: When looking at the new architecture as a whole, the increased scale is immediately evident. GitHub now consumes far more hardware than ever before:
Old Infrastructure:
- 10 VMs
- 39 VCPUs
- 54GB RAM
New Infrastructure:
- 16 physical machines
- 128 physical cores
- 288GB RAM
Or for those who enjoy visual cues:
It is a credit to the old infrastructure and GitHub’s code that it ran so well on so little (in comparison). The first credit for increased performance is increased scale.
An important note regarding the hardware is that there is nothing special (or industry secretive) regarding it. The solution in its entirety is run from commodity hardware. No special black boxes doing scary things with packets and routes. No appliance servers. The solution architecture developed by Anchor can be used with any hardware vendor (insert: Dell, HP, IBM, SuperMicro, etc). Vendor neutrality provides GitHub with no encumbrance with either scaling up or out, a key issue when considering growth and future flexibility.
Note: The architectures flexibility allows for the user repository storage to be expanded with a mix of vendor hardware (should GitHub ever change hardware vendor). Furthermore, any component can be exchanged for another vendor’s hardware with no change to GitHubs architecture or software.
In a nutshell, the increased scale provides:
- More GitHub front-end servers to service your requests;
- More storage; and
- More I/O bandwidth when working with your repository data
HARDWARE PERFORMANCE: The speed specifications of the underlying components is important, in addition to how that hardware is utilised.
Storage I/O: A common factor in poor performance with any solution is an I/O bottleneck at the storage level. This pain was GitHub’s. To alleviate this, not only is the storage now distributed across several servers (distributing the I/O), but it is now running on direct-attached 15,000 RPM SAS disks on battery-backed hardware RAID. Therefore, the second credit for increased performance is faster storage.
Direct access to hardware: Virtualisation is great. What isn’t great is when virtualisation is used as a universal solution. At Anchor we believe there is a place for virtualisation, and systems with massive I/O or CPU requirements is not that place. By moving resource heavy systems onto dedicated hardware, any contention for resources between individual VMs is removed. The third credit goes to less overhead.
ARCHITECTURE: Throwing hardware at a scaling problem is an easy solution, but without the right division of resources and the right software to properly use it, it’s not going to run real fast.
For GitHub, this was their innovative Git command proxying systems, which do an excellent job of taking requests from the frontends (where users connect with their web browser, git client, or SSH client) and shipping them to the fileservers. The database structure, filesystem layout, and code efficiency also contribute to this.
Given that the software isn’t our speciality, there’s not a lot for us to say about this, but Github are planning a series of posts on their blog, and I’m quite sure it’ll be enlightening.
TO REVIEW: The factors involved in GitHub’s faster response on the new infrastructure include (but are not limited to):
- Increased Infrastructure (Scale)
- Faster Hardware ( Storage)
- No resource contention (More resources per server)
- Solid, scalable architecture (Awesomeness)
Keep an eye on this space, as we delve into technology specific posts regards what kinds of 11 herbs and spices Anchor used to realise the new GitHub architecture.
发表评论
-
Creating PDF documents with PHP in 10 steps
2009-11-09 08:33 1609Step 1 - Install the PDFlib e ... -
26 Hints for Agile Software Development
2009-11-04 08:04 740I collect nuggets of wisdom on ... -
40个迹象表明你还是PHP菜鸟
2009-10-28 08:40 60340个迹象表明你还是PHP菜鸟 ... -
PHP performance tips
2009-10-21 09:15 741PHP performance tips Author: ... -
国外优秀开源PHP建站程序一览
2009-10-15 08:06 1329大量的PHP开源(开放源 ... -
十步让你成为一名优秀的Web开发人员
2009-10-15 08:03 844第一步:学好HTML HTML( ... -
What's Agile To You?
2009-10-09 08:34 792As a project manager, archite ... -
install Merb 1.0 on Windows
2009-10-05 17:25 924早期的Merb在Windows上安装是件很恶心的事,缺这少 ... -
WebWork敏捷开发尝试
2009-10-05 09:11 790WebWork是一个优秀的J2EE ... -
敏捷开发中常见的九大误解
2009-10-05 09:10 764一、敏捷是“一个” ... -
浅谈敏捷项目管理在软件开发中的应用
2009-10-05 09:09 1196一、使用传统项目管理技术管理软件开发项目的方法 按照 ... -
揭示PHP成功背后的秘密:PHP创始人访谈录
2009-10-01 12:47 919Rasmus Lerdorf可能是格陵兰最著名的电脑牛人,他1 ... -
PHP5 Database Iterators <2>
2009-09-29 22:15 1023Introducing the Db_Iterator Obj ... -
PHP5 Database Iterators <1>
2009-09-29 22:11 883One feature of PHP rarely seen ... -
REST-*组织
2009-09-29 11:10 850JBoss已在月初的JBoss世界大会上正式宣布了它的新项 ... -
Agile 2009 Conference Retrospective
2009-09-26 21:51 817A month has passed since Agile ... -
Bill Burke Discusses REST-*, SOA/ROA and REST
2009-09-26 21:49 981InfoQ's recent post on REST-* ... -
git is great 2
2009-09-26 15:11 1478Git梳妆我们可以利用Git的config命令或者直接编辑~/ ... -
git is great
2009-09-26 15:08 1667Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重 ... -
FindBugs 1.3.9发布了
2009-09-26 08:03 1379由马里兰大学Bill Pugh教 ...
相关推荐
GitHub:GitHub安全实践教程.docx
GitHub:GitHub工作流详解.docx
GitHub:GitHub Packages与依赖管理.docx
GitHub:GitHub入门与基础操作.docx
GitHub:GitHub页面与项目文档.docx
GitHub:使用GitHub进行项目协作.docx
GitHub:GitHub企业级应用与策略.docx
GitHub:GitHub高级特性与最佳实践.docx
GitHub:创建与管理GitHub仓库.docx
GitHub:GitHub Actions自动化工作流教程.docx
GitHub:GitHub上的代码提交与合并.docx
GitHub:跨平台使用GitHub Desktop教程.docx
GitHub:GitHub上的问题跟踪与项目管理.docx
转载。旋转验证码识别。 github:双旋转验证码解决方案
GitHub:版本控制与Git基础.docx
### 随时随地的GitHub:GitHub移动应用全攻略 GitHub作为一个面向开源及私有软件项目的托管平台,因其强大的版本控制与源代码管理功能而备受开发者青睐。随着技术的发展和用户需求的变化,GitHub推出了其官方移动...
该请求将返回一个github::users::User结构。 extern crate "rust-github" as github; use github :: Github; fn main () { let github = Github :: new (); let user = github.users. get ( "octocat" ); ...
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。GitHub提供了分布式版本控制和源代码管理(SCM)功能,此外还有一些特色功能,例如允许用户对项目进行跟踪...
github
github