优化Linux,AWS为云落地扫平一切障碍

2017-01-31 18:05:00 作者:李代丽 分类 : 比特网

  Linux操作系统并不是一个新鲜事物。从1991年开始,Linux就被应用于企业关键业务系统。如今,Linux重新被业界重视,并被分为企业级和互联网级,尤其强调企业级特性,这与云计算和开源技术的发展息息相关。那么,云计算环境下的Linux发生了哪些变化?作为云计算领域的巨头企业,AWS对Linux做了哪些优化?在端操作系统的选择上,有哪些实践经验?

    在APMCon2016大会现场,亚马逊AWS首席云计算技术顾问费良宏,接受了比特网记者采访。

  为什么要优化Linux操作系统?

  “尽管,Linux被分为不同版本,但内核都是Linux内核。从发展来看,随着Linux的强大,不会有明显的区分,因为需求的差异会越来越小,Linux企业级和互联网级的界限会越来越模糊。”在费良宏看来,随着新一代信息技术的快速渗透,企业版本当中所强调的特性会慢慢普及到互联网行业;反之,互联网级业务所追求的或者倡导的一些特性,也慢慢被企业级业务所接受,所以从Linux未来发展来看,不同版本的Linux最后会在某一平衡点汇集。

  亚马逊AWS首席云计算技术顾问费良宏

    当然,基于云之上的Linux操作系统肯定与过去本地化应用不同。在云之上,首先要考虑的一个问题就是,它是运行在虚拟环境里,跟我们所熟悉的传统物理机所面临的环境有很多的差异。无论是系统优化、架构设计,或者应用程序本身,都需要注意到云计算的特殊性。作为优秀的开发者,在开发之初,就要充分利用到云计算带来的优势,并且根据云计算虚拟化的特殊性来进行开发。比如:云的弹性、资源的供给,包括有效成本等,让系统变得更有效率,更富有弹性,并且只用最小的成本就能够达到最高的目标。

  不可否认,Linux在云时代发生了重要变化,为开发者带来了更多的便利,但云端Linux也在面临一个新的挑战。在过去的几年,伴随着Linux内核技术、虚拟化技术、CPU、网络以及存储等多个领域的快速发展,使得在云计算之上的Linux 实例变得日趋复杂。为了更好的适应这种发展,无论是架构设计、应用开发还是系统运维……都需要考虑如何应用新的技术来实现系统优化。

  AWS对云端之上Linux做了哪些优化?

  为了解决开发者对于Linux的困惑,Amazon Web Services 推出了适用于Linux 操作系统的11个家族、40个型号的虚拟化实例。据费良宏介绍,在AWS环境里有若干个标准的操作系统版本,使用者不必拘泥于是否有传统企业向云计算迁移的经验,可以直接体验到云计算带来的方便与快捷。

  AWS EC2曾对Linux内核进行了如下调优:

  1、CPU Scheduler。调整项包括: Scheduler class、priorities、migration latency、tasksets等,最终让使用taskset(1)、numactl(8)、cgroups的应用,以及通过优化sched_migration_cost_ns 而减少进程迁移;同时也让一些Java 应用得益于SCHED_BATCH 而减少上下文切换。

  2、Virtual Memory。主要调整swappiness、overcommit、OOM … 目的是让swappiness设置为0用以禁用交换,停止文件页面缓存以释放更多的内存。

  3、Huge Pages。我们要让内存页面尺寸为2M或者4M,而不是常见的4K。降低各种CPU开销并且提高MMU页面到缓存的转换。最终调整为:显性的使用huge page、transparent huge pages (THPs),让THPs (内核中启用),依赖于工作负载和CPU,有时候可以提高性能(~5% CPU负荷), 但是有时候会影响性能(~25% CPU 负荷, 当%usr, 以及%sys refrag)。

  4、File System。优化页面缓存的刷新,对文件系统的类型进行调整,改变可调整的参数(例如:ZFS)。页面缓存刷新的行为可以调整为: background flush earlier、aggressive flush later ,禁止访问时间戳和其它的选项依赖于具体的文件系统。

  5、Storage I/O。主要对Read ahead size、number of in-flight requests、I/O scheduler、volume stripe width等进行调整,让一些应用(例如Cassandra)对read ahead size 非常敏感,并让SSDs可以使用更好的“noop”scheduler (非缺省的设置)。另外,还要调整chunk size 和stripe width 以匹配任务负载。

  6、Networking 。调整项主要包括:TCP buffer sizes、TCP backlog、device backlog、TCP reuse等。

  7、Hypervisor (Xen)。包括PV/HVM (AMI 提供)、 让内核clocksource从慢到快。调优clocksource,设置为TSC (小心时钟漂移)。较好的情况下CPU 用量减少30%, 并且让应用程序平均延迟降低了43% 。

  经过全面调优后,用户在Amazon EC2中创建新应用,非常方便。对于更多的开发者或者使用者来说,如果随着企业业务的扩展,还想继续使用自己原有的版本和系统的话,要考虑很多问题,而且需要具备很多的经验和知识才可能解决这个问题。费良宏强烈建议:尽量选择那些已经提供好,并且经过市场证明的,由云计算原场所提供的Linux 版本,这样才能达到预期目标。基于AWS提供的多种Linux版本,用户可以选择与自己的应用最为匹配的型号或者是尺寸,使得IT投资的每一分钱都能够从性能和功能上得到回报。即使系统不断升级,也能更加简单和轻松。

* 本文为ChinaByte比特网原创内容,版权所有,转载请注明出处和原文链接,未经授权请勿用于商业用途。

芥末视频

最近更新
科普

科普图集
带着朋友和机器人上月亮散步

带着朋友和机器人上月亮散步>>详情

邮件订阅

软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
网络周刊
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
存储周刊
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
安全周刊
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家网
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。