信息化 频道

余庆:淘宝CDN平台的大规模服务器优化

  【IT168资讯】互联网应用发展日新月异,各种新兴的互联网技术也日新月异,专注于互联网运作背后的开发和运维技术,为了满足互联网行业的发展,也在不断的进化和演变中。但是后端运维和前端开发关注的热点却有所不同,更多的大规模互联网应用使得我们的运维和开发更多地关注问题的本质:虚拟化、云计算、高并发,高效能,绿色计算等等。

余东:淘宝CDN平台的大规模服务器优化

  为了让大家更多地了解这些运维技术的根本和这些基础技术的发展动态,ChinaUnix联合Intel举办了2013互联网运维技术新热点沙龙,希望通过几期线下和线上的活动结合,让更多地的互联网运维和开发人员能够更好地接触这个行业的前沿和趋势,明确自己的技术发展路线。

  分布式文件系统FastDFS作者余庆,一直从事互联网研发工作,有着12年unix环境下C开发经验。对高性能服务器端编程有着比较丰富的开发经验。 现在阿里巴巴从事apache traffic server的开发和应用工作。而在本期活动现场,他为我们带来《淘宝CDN平台大规模服务器系统优化》的主题分享。

余东:淘宝CDN平台的大规模服务器优化
ChinaUnix论坛FastDFS版版主余庆

  做系统优化主要方向通常都在于四个方面,硬件、操作系统、数据库、软件等方面的性能优化。余庆认为硬件水平目前来说对于软件开发的人员已经并无太大压力,随着硬件的快速发展开发人员对于硬件的利用和可操作性都已有很大的发展。目前淘宝的CDN的硬件已经有了很大的提升,存储上已经从“SSD+机械硬盘”向纯SSD的迁移。而操作系统来说,对于系统的版本与应用的侧重匹配,如Linux的版本等。

  在淘宝CDN优化实战中,可以说是阿里系技术人员绞尽脑汁:使用淘宝自己的Kernel;网卡驱动升级;内核参数统一配置;irq绑定,绑定硬件中断到不同CPU;关闭irqbalance;关闭网卡LRO和GRO等在为了

  对于软件性能的优化来说,余庆认为架构和算法实现两方面是关键。在架构方面,余庆给出了自己的几方面建议:

  ·时空转换的思想在优化的过程中常用的方式,在某些场景下非常有效。

  ·cache的充分利用;合理利用cache是实现高性能的方法之一,可以自己开发cache系统,也可以选择第三方的cache系统。

  ·支持多核的开发。随着硬件水平的提升多线程的应用,是优化性能的方法之一。多线程的ATS、子进程的squid、nginx等都是常用的。

  ·高并发控制

  ·发挥磁盘I/O效率。值得一提的是,余庆认为单盘的挂载是在某些场景下发挥硬盘IO优势的一种方式。

  ·利用多机资源

  而对于淘宝CDN架构的优化来说,现状是三层架构“LVS-HapROXY-ATS”而未来,淘宝希望改造成两层,以减少多层之间的损耗。目前已经实现二层的结构LVS-ATS,未来将会向“硬件的负载均衡-ATS”的两层结构演变。

  在算法和实现的角度看,余庆认为选择合适的业务语言是基础,使用合适的数据结构也更是重要。要根据不同业务需求进行和实现的功能选择合适的方向和实现方式是系统优化的重中之重。当然在高性能的系统中,余庆建议尽量不用锁的形式避免出现冲突。同样内存池的合理应用,快速分配和回收的同时避免内存碎片的大量出现。最后尽量减少连接开销合理使用连接池也是对系统整体优化尤为显著的方法之一。

6
相关文章