1. 项目简介

  铁路作为一种大众化的交通工具和非常重要的货物运输方式,其业务规模庞大、覆盖全国、服务全国各族人民。铁路面向公众提供的服务业务,主要是客运和货运两大类,且每年365天、每天7*24小时连续不间断运转。铁路业务规模大可从以下几组简单数字直接体现出来,2016年日均客运量758万人,货运量日均726万吨;2017年预计日均客运量828万人,货运量日均753万吨;铁路客运售票网站(www.12306.cn)的注册用户已超3亿人,2017年春运售票高峰期间,互联网最高日售票量933万张,平均日售票量769万张。网站单日最高浏览426亿次,日均点击次数为310亿次。截至2016年底,我国的铁路运营里程已达12.4万公里,世界排名第二位,其中高铁运营里程2.2万公里,排世界第一位。中国铁路总公司是国内唯一负责铁路运输统一调度指挥,经营铁路客货运输业务,承担专运、特运任务,负责铁路建设,承担铁路安全生产主体责任等的国有大型企业。

  目前铁路总公司正在瞄准世界一流的现代物流企业的目标转型发展,面对规模庞大、日益增长的客流和物流,需要铁路IT部门提供坚实的信息技术支撑,更需要铁路IT部门适应当前互联网+和数字化转型的需求。面对时代的变革和向现代物流企业转型的需要,铁路IT部门需要建设更高效灵活、部署简便、安全可控的IT基础设施,以支持向客户提供便捷的信息查询、线上购票、电子支付等网络服务,同时满足中国铁路总公司内部管理创新、业务创新和应用创新等对IT基础设施日益增长的需求,支撑企业管理从粗放式向精细化转变、从过去生产计划型向主动适应市场需求转变,借助云计算、大数据、物联网、移动互联等不同类型的创新技术改造铁路传统业务。由此可见,建设和使用铁路云平台是提供更高效、便捷和绿色IT基础设施的必由之路。铁路对云平台的基本需求是稳定、可靠、易用,同时满足国家和铁路总公司对信息系统安全等级保护的有关要求,也只有这样才能保障铁路各项业务安全有序运转。

  中国铁路信息技术中心是中国铁路总公司的全资直属企业,主要负责铁路总公司本级数据中心IT基础设施的建设和管理,以及铁路信息系统的研发集成、工程建设和运维保障等相关工作。

  为了更好地支持中国铁路总公司从传统客货运输企业向现代物流企业转型,中国铁路信息技术中心于2014年底决定研发云计算解决方案和产品。作为一个大型行业的OpenStack用户,中国铁路总公司希望真正掌握开源技术,安全可控地运用在生产中,而不是简单的产品使用方,同时为了打造用户与厂商共生互利的OpenStack新商业生态,“铁信云”产品采用了业界创新的联合研发模式,由中国铁路信息技术中心牵头组织,北京中铁信科技有限公司和北京云途腾科技有限责任公司一起联合研制。铁信云是基于OpenStack的行业云产品,致力于解决铁路传统信息系统建设模式下存在的各种弊端和不足,例如系统建设周期长、总体拥有成本高、资源利用率不均衡且难以调整等问题,为铁路应用系统提供弹性、高效、安全、便捷、绿色的IT基础架构。2015年底,铁信云云管平台V1.0产品发布;2016年7月,铁信云云管平台V2.0产品发布。2016年底,铁信云在中国铁路信息技术中心的2015公共信息处理平台扩容工程中开始建设和部署应用,按照工程设计规划,应在铁信云IaaS平台上部署铁路客运、货运、调度、机务和公共基础平台五大类共计十几个应用,截至目前整体应用迁移、部署基本完成并投入生产运行。

  基于铁路的应用及运维特点,铁信云要求以“稳定性、可靠性、易用性、安全性”为标准对OpenStack进行二次开发,解决OpenStack开源架构下各种模块与组件的不足,同时为了满足铁路行业超大规模行业云部署实施,并对业务应用提供高性能、稳定可靠的支撑,我们做了一系列的测试调优和验证工作,主要分为以下3个部分:

1. 控制平面性能测试及优化

通过测试来验证铁信云在单一region下能支撑的最大规模,寻找在单一region下部署的高效优化架构设计方案,以及在该架构下的优化参数配置,以保障其在超大规模部署和高负载条件下云服务能高效、稳定、可靠运行。

2. 数据平面性能测试及优化

云平台承载业务的性能及运行稳定性与云平台的数据平面密切相关,通过对存储,计算,网络方面的性能测试和优化来验证Intel产品及技术对云平台数据平面的性能支撑,并为生产环境的部署及配置提供参考和优化方法。

3. 关键应用负载Oracle RAC性能测试及优化

Oracle RAC数据库作为铁路信息系统中的关键应用,在控制平面及数据平面的优化验证基础之上,我们对Oracle RAC在铁信云环境中进行了部署和验证。

2. 铁信云架构介绍

2.1 铁信云平台架构介绍

“铁信云”云平台目前主要包括基础设施服务层(IaaS)和平台服务层(PaaS),整体架构如下图2.1所示:

图2.1 铁信云平台整体架构

“铁信云”的基础设施服务层(IaaS),以OpenStack架构为基础,实现对计算资源池、存储资源池和网络资源池进行统一管理和调度,为信息系统应用部署提供基础资源服务。计算资源池支持对KVM、VMware、X86裸机、Power设备等多种资源的统一管理;存储资源池支持对基于X86服务器的分布式存储和基于传统商用存储等多种资源的统一管理;网络资源池支持对VLAN、VxLAN等多种模式下的物理和虚拟网络资源的统一管理。

“铁信云”的平台服务层(PaaS),为应用运行提供数据库、中间件、大数据、数据备份等平台软件的统一部署服务;提供数据抽取、分析、存储及展示等服务,同时基于容器技术提供应用快速部署及迁移服务。

“铁信云”还根据大规模部署等需求,不断改进完善云平台功能。例如改进了云主机监控方式,舍弃了Ceilometer的监控功能,集成了Open-Falcon;增加了日志审计模块,便于管理员和租户查阅操作日志;实现了云主机HA,支持物理主机故障时云主机自动迁移,等等。

2.2 铁信云部署架构介绍

“铁信云”一期项目大规模部署环境中包括一个由780个物理节点构成的云系统, 其中有3个控制节点、600个主机作为计算节点,网络节点在计算节点上、117个存储节点等。部署架构如下图2.2 所示:

图2.2 铁信云平台部署架构

本次大规模优化验证基于以上铁信云780个节点的系统,主要软硬件设备及基本配置如下表2.1 和 2.2 所示:

CPU

内存(DDR4)

系统硬盘

控制节点

2*12 Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz

512G

2*480GB SATA SSD

计算节点

2*10 Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz

256G

2*900GB SAS HDD (RAID 1)

存储节点

2*10 Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz

64G

2*900GB SAS HDD (RAID 1)

存储盘见6.4节

表2.1服务器配置:

软件

版本配置

主机操作系统

Centos 7.3

OpenStack

铁信云(基于Liberty版)

存储

Ceph (Jewel版本)

客户机操作系统

Centos 6.8

表2.2软件配置

2.3小规模测试部署介绍

对于数据平面的性能测试,我们单独部署了一个小规模隔离的环境,其中三台4路服务器用做管理节点,四台2路服务器用作Ceph存储节点,四台2路服务器用作计算节点 ,每台机器都有2个10G网络端口连接到核心交换机。计算节点的一个10G端口作为数据网,另一个10G端口连接存储网,存储节点一个10G端口用作存储网络访问,另一个10G端口用作Ceph节点间存储复制,网络MTU值设置为1500.

图2.3 小规模测试部署

详细服务器配置见下表2.3,其中对于存储节点的存储配置会在相应的测试环境中介绍:

CPU

内存

网口

测试服务器

4 * E7-4890 v2 2.8G

1 physical CPU,6 physical cores with HT open, together 12 logical cores

(15 core)

2 * E5-2699 v4 2.2G (22 core)

2 * E5-2699 v4 2.2G (22 core)

表2.3小规模测试配置

中国铁路基于Intel架构超大规模OpenStack行业云的性能优化研究的更多相关文章

  1. App架构师实践指南六之性能优化三

    App架构师实践指南六之性能优化三 2018年08月02日 13:57:57 nicolelili1 阅读数:190   内存性能优化1.内存机制和原理 1.1 内存管理内存时一个基础又高深的话题,从 ...

  2. App架构师实践指南四之性能优化一

    App架构师实践指南四之性能优化一     1.性能维度常见用来衡量App性能的维度如图9-1所示.其中,性能指标包括电池(电量/温度).流量(上行流量/下行流量等).CPU(平均/最大/最小).内存 ...

  3. [转帖]etcd 在超大规模数据场景下的性能优化

    etcd 在超大规模数据场景下的性能优化   阿里系统软件技术 2019-05-27 09:13:17 本文共5419个字,预计阅读需要14分钟. http://www.itpub.net/2019/ ...

  4. Tomcat 8.5 基于 Apache Portable Runtime(APR)库性能优化

    Tomcat可以使用Apache Portable Runtime来提供卓越的性能及可扩展性,更好地与本地服务器技术的集成.Apache Portable Runtime是一个高度可移植的库,位于Ap ...

  5. SSE图像算法优化系列二十四: 基于形态学的图像后期抗锯齿算法--MLAA优化研究。

    偶尔看到这样的一个算法,觉得还是蛮有意思的,花了将近10天多的时间研究了下相关代码. 以下为百度的结果:MLAA全称Morphological Antialiasing,意为形态抗锯齿是AMD推出的完 ...

  6. 基于live555实现的RTSPServer对底层进行性能优化的方法

    在博客<EasyIPCamera高性能摄像机RTSP服务器RTSPServer解决方案>我介绍了基于live555实现的一套RTSPServer功能组件,当时开发者经过几个月的调试,已经将 ...

  7. etcd 在超大规模数据场景下的性能优化

    作者 | 阿里云智能事业部高级开发工程师 陈星宇(宇慕) 概述 etcd是一个开源的分布式的kv存储系统, 最近刚被cncf列为沙箱孵化项目.etcd的应用场景很广,很多地方都用到了它,例如kuber ...

  8. 菜鸟要做架构师(二)——java性能优化之for循环

    完成同样的功能,用不同的代码来实现,性能上可能会有比较大的差别,所以对于一些性能敏感的模块来说,对代码进行一定的优化还是很有必要的.今天就来说一下java代码优化的事情,今天主要聊一下对于for(wh ...

  9. 基于Intel x86 Android的RAD游戏开发

    zip文件还包含编译的"MonkeyGame-debug".可以在模拟器中运行的二进制文件.在"game.build"文件夹中有一个HTML5 build.在C ...

随机推荐

  1. Activity工作流入门之HelloWorld

    Activity的在线安装地址为:http://www.activiti.org/designer/update/ 打开Eclipse -> Help -> Install New Sof ...

  2. 从零搭建 vue-cli 脚手架

    前言: 用了几次 vue-cli 做 vue 项目,感觉没什么大问题,虽然也没有用 vue-router 和 vuex .但是心里一直有个梗,就是最初的目录生成和配置文件,一直没动过,也不知道具体原理 ...

  3. https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic net::ERR_CONNECTION_TIMED_OUT问题解决

    使用adminTLE时,有时候出现 https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic, ...

  4. Java中参数传递时值传递的机制分析

    参数传递是什么?      在C的函数或是JAVA的方法中,向一个函数或方法内部传递一个参数,比如:   void fun( int num ){     num+=2 ; }   int a = 3 ...

  5. scrapy-redis分布式爬虫

    简介 Scrapy-Redis则是一个基于Redis的Scrapy分布式组件.它利用Redis对用于爬取的请求(Requests)进行存储和调度(Schedule), 并对爬取产生的项目(items) ...

  6. python 面向对象· self 讲解

    self就是参数 以形参形式 5.self是什么鬼? self是一个python自动会给传值的参数 那个对象执行方法,self就是谁. obj1.fetch('selec...') self=obj1 ...

  7. [.Net]System.OutOfMemoryException异常

    1. 一个异常情景 加载15000条等高线,平均每条线有400个点到三维球上,等待时间太长.而且可能会报内存异常. 2. 不错的分析 http://wenku.baidu.com/view/14471 ...

  8. bootstrap fileinput api翻译笔记

    bootstrap fileinput HTML标签属性 data-show-preview="false" // 是否显示预览区 multiple // 多文件 data-sho ...

  9. C# 多线程编程第二步——线程同步与线程安全

    上一篇博客学习了如何简单的使用多线程.其实普通的多线程确实很简单,但是一个安全的高效的多线程却不那么简单.所以很多时候不正确的使用多线程反倒会影响程序的性能. 下面先看一个例子 : class Pro ...

  10. vim7.4在Win8下的安装及简单配置

    软件环境 vim74 git vim中文帮助 vundle安装——插件管理软件 cd vim所在路径/vimfiles/bundle git clone https://github.com/gmar ...