大规模视频网站的计费与流量管理
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Werner Schuster 译者 李剑 发布于 2007年11月28日
Oracle实验室最近发布了Oracle Mix,这是一个基于JRuby on Rails的社会网络应用。Rich Manalang刚刚在博客上分享了他在这个项目中的经验。虽然这个项目目前运行在JRuby上,但是最原始的工作却是用MRI完成的:
我们用标准的Ruby解释器(也就是MRI——Matz's Ruby Interpreter)和Ruby-OCI在Oracle DB XE上完成了Mix的大部分工作。用MRI来开发Rails应用还是要容易很多,因为JRuby的启动要花一段时间。
随后人们便发现Rails插件系统在帮助Mix与Oracle内部系统——这里指的是单点登录(SSO)策略——协同工作方面起到了很大作用:
这个项目至关重要的一点就是要支持Oracle单点登录策略。也就是说我们所部署的每一个Web应用都要通过Oracle SSO服务来支持单点登陆。我着实用了几天才找出解决方案,但方案一旦成型,把它插入到我们正在使用的acts_as_authenticated Rails插件中就并非难事了。
解决了这些问题后,开发团队在向JRuby on Rails进行部署时又遇到了新的难题——性能:
这一切都搞定以后,我们就开始在JRuby上做早期部署。性能简直烂得要死。单台应用服务器每秒只能处理20到40个请求。很明显,有些产品设置没有被配置好(比如,忘了对ruby类进行缓存等等)。我修改了一些环境设置后(标准的rails产品设置),单台应用服务器达到了每秒80个请求……情况好了一些,但是还远远不够。
长话短说,经过对性能问题的一阵调查研究以后,性能开始有所改善:
Ola和jRuby团队在jRuby代码中发现了一些有趣的瓶颈。一两天内,Ola和团队就做好了一个补丁,其后请求数达到了每秒150到200个。而应用服务器“热身(warm up)”以后,情况变得更好玩了……数值开始上升,达到了每秒钟400到600个请求。
这还仅仅是开始,因为按照作者所述,这些数字还是在没有进行任何缓存的服务器上得到的结果。那么是什么引起的性能提升呢?JRuby团队对一系列的问题进行了研究,并发现了一些老问题,诸如正则表达式的性能 :
当我开始关注Rails中的正则表达式性能时,就发现了问题所在。每个请求中正好有50次正则表达式运算,于是我就写了个脚本,在MRI上检查每一次运算的性能。然后发现当拿MRI和JRuby相比较的时候,其中一次运算的性能显得相当怪异。实际上,它差不多要慢上200到1000倍。更糟的是,这性能还是非线性的。
这个问题实际上是在JRuby的each_line实现中出现的,和Rails代码无关。当这个问题和其它一些性能问题被一一发现并获得解决后,JRuby的速度有了显著的提升……
除了JRuby实现上的瓶颈,其他一些原因同样可以导致JRuby应用的速度变慢。Nick Siger指出了JRuby用户可以用一些小窍门来提升应用的速度。其中最重要的步骤是:
译者 李剑 李剑──ThoughtWorks高级咨询师,在持续集成、重构等领域具有丰富的经验;多次为国内大型企业敏捷组织转型提供咨询和培训服务。
本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011。
Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。
云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。
淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011。
2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。
12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011。
篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011。
本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。
没有回复
关注此讨论 回复