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. 阿里云服务器被挖矿程序minerd入侵的终极解决办法[转载]

    突然发现阿里云服务器CPU很高,几乎达到100%,执行 top c 一看,吓一跳,结果如下: root 386m S : /tmp/AnXqV -B -a cryptonight -o stratum ...

  2. yii2 controller发送json数据给前端

    最近要用yii2把之前老项目重构一下,因为前端打算用vuejs,所以Yii2前端那一套就放弃了,直接给前端传json数据 控制器代码: $response = Yii::$app->respon ...

  3. SpringBoot使用SpringSecurity搭建基于非对称加密的JWT及前后端分离的搭建

    SpringBoot使用SpringSecurity搭建基于非对称加密的JWT及前后端分离的搭建 - lhc0512的博客 - CSDN博客 https://blog.csdn.net/lhc0512 ...

  4. Ubuntu安装pycurl

    转自:https://blog.csdn.net/qq_23729557/article/details/78836547 在Ubuntu 16.04上安装pycurl时大致会遇到一下两个问题: 在使 ...

  5. 解决Eclipse中新建jsp文件总是以ISO8859-1编码问题

    eclipse --> window -->Preferences-->web-->jsp-->utf-8

  6. QQ-AR助人教版小学英语“动”起来

    日前,人教数字出版公司与腾讯QQ达成合作,将以小学英语3-6年级8本课本为合作试点,共同推出全国首个可AR识别的课本,在QQ-AR的帮助下,课本也能“动”起来,更加生动立体地展现在孩子眼前,让学习变得 ...

  7. Java压缩多个文件并导出

    controller层: /** * 打包压缩下载文件 */ @RequestMapping(value = "/downLoadZipFile") public void dow ...

  8. 基于struts2--实现文件上传下载

    1. 文件的上传: 1). 表单需要注意的 3 点 ①. method="post"     ②. enctype="mulitipart/form-data" ...

  9. php根据路径获取文件名

    <?php // 根据路径返回文件名 $path = 'J:\abc\defg\hijk\一个文件夹\lmn\opq'; $path = iconv("UTF-8", &qu ...

  10. 13信号signal

    信号 传送给进程的事件通知,完成异步通信 信号的产生 1.程序错误:硬件异常,除数为0,等 2.外部事件:定时器事件,按键中断(ctrl+c)等 3.显示请求:调用 kill,  raise 等信号发 ...