




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在虚拟化平台运行中间件的最佳实践Agenda? Java平台概述? 为什么虚拟化Java平台? Java平台设计与规划? 迁移方法论? Java平台最佳实践和调优? 成功案例Java平台概述应用架构?Java平台一般都会涉及多个组织,维护较为复杂Java应用负载均衡层负载均衡Web 服务器IT运维 网络组IT运维 服务器组IT运维 开发团队关键利益相关部门Web服务器层应用服务器层负载均衡层Web服务器层Web Server PoolApp Server PoolHtml静态查询请求 (负载位于Web服务器)对后台数据库的动态请求(负载位于应用服务器与DB)应用服务器层为什么虚拟化Java平台
2、? 提供新的应用系统需要大量的时间和技术资源? 72% vs. 28% 运维与创新比率? 整个企业范围的打补丁和系统升级十分困难? 不能通过池化实现资源的弹性调配人力资源Java EEApplication ServerCRM 应用Java EEApplication Server财务系统Java EEApplication Server测试系统Java EEApplication Server人力CRM财务研发传统应用系统的挑战每个应用的实例都需要一个独立的操作系统和一套独立的硬件环境? 每套应用环境都需要独立的系统会导致服务器的泛滥人力集群人力资源Java EE ApplicationSe
3、rverWindows NTVirtual Machine财务集群财务应用Java EE ApplicationServerSUSE LinuxVirtual MachineCRM集群CRM 应用Java EE ApplicationServerWindows2003 ServerVirtual Machine测试系统Java EEApplication ServerWindows NTVirtual Machine财务应用Java EE ApplicationServerRed HatLinuxVirtual MachineCRM 应用Java EE ApplicationServerRed
4、 HatLinuxVirtual Machine销售部门资源池开发部门资源池VMware ESX Server #1VMware Vmotion技术VMware ESX Server #2VMware Infrastructure/vSphereStorageServers池化整合系统资源后台部门资源池Java平台的虚拟化?Java本身就是虚拟化概念的体现(JVM)?Java中间件在vSphere上经过了广泛地测试 (包括在VMware,合作伙伴以及客户的环境中)?Java基于虚拟化的性能和基于物理机的性能十分接近?中间件一直以来都以云作为自己的发展方向,虚拟化正是将应用移动到云端的第一步Ja
5、va平台基于虚拟化平台的好处?灵活的调配计算资源的配置,例如虚机大小,增加更多的节点?灵活的部署软硬件补丁,并保证最小的停机时间?通过减少中间件创建维护消耗时间来建立更加方便管理的系统?方便的进行整体的性能调优?方便的监控整个中间件平台?方便的处理不同时期的工作负载,可以方便的进行按需管理Java虚拟化平台的规划与设计第一步:建立负荷模型? 从生产环境的日志、监控报告、需求分析、当初设计文档等确定:? 并发用户数? 反应时间? 高峰反应时间? 评价反应时间? 建立SLA第二步:建立性能基线? 在测试环境下,通过多次迭代测试,确定满足SLA的虚机容量? 在测试的过程中,进行各种参数调优,这些参数
6、最终可以应用到生产环境第一步:生产环境容量设计? 在第二步测试的基础上,设计生产环境的容量,根据业务的发展留有一定的空间设计和规划Java平台应用平台从Unix物理机器迁移到Linux,往往存在拓扑扩展情况,一般需要重新设计虚机容量纵向扩展测试决定需要多少个VM建立水平的可伸缩性水平扩展测试?在CPU使用率70-80%的情况下需要建立多少台虚拟机满足响应时间,TPS,并发用户的需求?在应用出现瓶颈之前,确定水平可以扩展的系数横向扩展测试标准虚机标准虚机查看出现瓶颈的原因:网络,存储,应用配置和vSphere如果是建立的标准虚拟机存在瓶颈?Building Block VM?第二步 建立性能基线
7、建立标准虚拟机建立垂直的可伸缩性纵向扩展测试估算每台虚拟机承载多少JVM?估算虚拟机的大小,配置多少vCPU和虚拟内存建立标准虚机JVM Max Heap -Xmx JVM 内存 Perm Gen Ini3al Heap 操作系统内存 基于vSphere的JVMVM 内存 Java Stack -Xss per thread -XX:MaxPermSize -Xms Other mem ?操作系统的内存占用一般为1G?“other mem” 是指NIO buffers, JIT code cache, classloaders, Socket Buffers (receive/send), J
8、NI, GC internal info这些组件需要的内存?如果您再一台VM上面部署多个JVM,那么VM的内存计算如下:? 虚拟机内存 = 操作系统内存 + N * JVM内存JAVA虚拟机内存计算方式虚拟机内存 = 操作系统内存 + JVM内存 JVM 内存 = JVM Max Heap (-Xmx value) + JVM Perm Size (-XX:MaxPermSize) + NumberOfConcurrentThreads * (-Xss) + “other Mem” 常规JVM设计示例虚拟机 内存 (5088m) JVM 内存 (4588m) JVM Max Heap -Xmx
9、 (4096m) 操作系统内存 Java Stack Perm Gen Ini3al Heap 设置虚拟机内存预留为 5088m 500m used by OS -Xss per thread (256k*100) Other mem (=217m) -XX:MaxPermSize (256m) -Xms (4096m) 基于内存数据库技术的大JVM示例JVM Max Heap -Xmx (30g) Perm Gen Ini3al Heap -Xms (30g) 操作系统内存 Java Stack Other mem (=1g) -XX:MaxPermSize (0.5g) 设置虚拟机内存预留
10、为 34g 0.5-1g used by OS -Xss per thread (1M*500) JVM 内存 (32g) 虚拟机内存 (34g) 为什么使用内存预留? 当各个内存部分确定好以后,根据需求确定虚拟机设置内存预留,预留内存为各个内存的总和? 这是保证对已经启动的虚拟机分配的实际VMware ESX/VMware ESXi (tm)主机内存是可用的,以避免内存过度承诺产生争用? ESX/ESXi的内存管理技术, 例如ballooning和swapping机制都要避免采用以防止对性能产生影响16 Exabytes 设计VM内存大小的影响64-bit Java theore3cal l
11、imit Guest OS limit is 1TB to 16TB ESXi 5 limit 32 vCPU 1TB RAM Physical server limit 256GB 93GB=93*0.95= 88.5GB每个NUMA节点的内存= 88.5GB/2Approx. 45GB for each VM服务器96GB内存每个MUMA节点拥有94/2=45GB每个VM: 8vCPU不大于45GB内存ESX调度如果设计的VM内存大于45GB或CPU多于8CPUs,那么跨NUMA节点访问内存会导致30%左右的性能下降迁移方法U2VL迁移方法论阶段一:评估? 数据收集? 性能基线? 需求映射
12、? 依赖性调查? 数据分析? 业务用例? 迁移策略? TCO/ROI阶段四:运行? VMware驻场计划? 运维上线支持? 技术客户经理支持(TAM)? BCSMCS支持阶段三:实施? 构建最优虚拟化架构? 使用最适合的工具对应用的业务逻辑和数据进行迁移? 完成系统管理框架实施阶段二:设计? 概要设计? 详细设计? 风险分析? 防范措施? POC测试? 最佳实践? 迁移计划一般迁移步骤? Phase 1 虚拟化Web Server层? Phase 2 虚拟化Java应用层? Phase 3 虚拟化DB Server层? Phase 4 虚拟化Load Balancer层? Java应用是平台无
13、关的,所以一般来说很方便进行迁移? 从Unix到Linux的迁移:? 通常JVM会发生变化 (不同的OS需要特定的JVM), 但是这是与应用无关的? 应用的代码不需要变化,除非一些情况可能会因为我们把JVM从32位升级到64位一些特殊方法需要变化? 当进行操作系统的改变的时候一些JVM的命令和操作可能会发生变化,但这些变化影响的范围很小迁移注意事项Java虚拟化平台最佳实践对于Java平台一般通用虚机配置?每个JVM配置两颗vCPU?当纵向扩展或者横向扩展的时候都尽量保持这样的比例1JVM : 2vCPU?尽量采用横向扩展而不要采用纵向扩展?对于普通的应用系统建议采用这种方式进行设计2 vCP
14、U VM1 JVM (-Xmx 4096m)Approx 5GB RAM ReservationGC机制?ESXi并不关心采用哪种GC机制,因为对于EXSi来说操作系统和JAVA虚拟机都是各自独立的EnterpriseJavaApplicationsonVMwareBestPracticesGuidehttp:/ 那么需要保证足够的vCPU用于垃圾回收(number of threads =number of vCPUs)? example : -Xgcthreads4?Locators/heartbeat类的程序不要开启vMotion, 一旦开启会导致网络风暴等问题?当做常规维护需要使用vM
15、otion时候建议要使用10Gbps以上的网络带宽行业实施案例? 石油天然气生产商和供应商,同时也是全球主要的油田服务供应商之一, 其作为工程建设领域的全球承包商也享有很高的名誉。挑战交付项价值/收益案例分享-能源客户 SAP,Java&Oracle公司简介?老HPUX服务器的CPU和内存资源已块接近耗尽SAP和Java应用在业务高峰期平凡遇到性能问题需要一个开放的且可扩展的基础架构平台来提高服务管理水平系统改造要跟符合集团云计算战略的方向为SAP系统和Java系统,总共数百台服务器提供虚拟化评估基于VMware解决方案提供系统概要设计和详细设计,其中详细设计的对象为加管系统中体量最大的SAP
16、系统(SRP)和JAVA系统(卡核心)测试系统(SRP和卡核心)迁移并伴随完整测试,验证虚拟化环境下的可靠性和性能等指标,最终给出可行性分析结论从HPUX迁移到Linux on VMWare (x86)将帮助客户节省大量成本虚拟化以后体现出比老架构更好的性能更易实现的应用和数据库高可用对于关键业务应用来讲,vSphere平台提供卓越的延展性和兼容性数据交换平台 应用支撑平台 基础架构平台 生产数据中心 虚拟化架体架构 同城 灾备中心 地市/站级系统 地市/站级系统 地市/站级系统 地市/站级系统 生产机房生产存储数据备份存储虚拟化设备存储虚拟化设备同城机房同城灾备存储存储虚拟化设备存储虚拟化设
17、备同城跨机房双活存储跨站点在线迁移VMware SRM容灾切换数据备份基于存储的复制光纤通道活动光纤通道HOS生产系统卡系统生产系统集成平台HOS开发测试系统卡系统开发测试系统集成平台开发测试系统两地三中心 活动关键业务虚拟化方法论 咨询建议迁移实施评估分析 VMware vBCA 评估服务 ? 当前状态评估 ? 未来状态需求及建议 ? 风险分析 ? 迁移实施路线图 规划设计 VMware vBCA 规划与设计服务 ? 项目计划 ? 架构设计 ? 迁移策略 ? 容量规划 实施支持 VMware vBCA 实施服务 ? 迁移支持 ? 管理解决方案的支持 ? 测试验证 ? 上线支持 策略制定 虚拟
18、化顾问咨询 研讨会 ? 业务及技术的挑战/目标/任务 ? 路线图支持 ? 最佳实践建议 确保风险是可控的,需求被满足的,并加速项目的成功 提供应用和组织架构层面运作的完整性和优越特性 Vmware从成百上千个实际项目中积累了丰富经验,为实现关键业务应用虚拟化蓝图提供专家级的建议和解决方案 ,从而为投资创造最大价值 随时就绪参与到整个蓝图转换过程中的每一个阶段! 实际迁移方法 实际迁移方法 应用分析与迁移策略迁移案例-虚拟机承载JAVA性能体量?Tiler-1应用系统可考虑采用2-8 vCPU / VM?Tiler-1数据库系统科考虑采用8+ vCPU / VM?HotSpot YoungGen
19、占总Heap的 33%?并发GC线程为vCPU的50%?横向扩展,虚拟机优先、然后主机、最后集群2+ vCPU VM1 JVM (-Xmx 4096m)Approx 5GB RAM ReservationFor large JVMs8+ vCPU VM1 JVM (16-128GB)JVM Memory (4588m) JVM Max Heap -Xmx (4096m) Perm Gen Ini3al Heap VM Memory (5088m) Guest OS Memory Java Stack Other mem (=217m) -XX:MaxPermSize (256m) -Xms (
20、4096m) set mem Reserva3on to 5088m 500m used by OS -Xss per thread (256k*100) 迁移案例-内存配置最佳实践(JVM)测试场景虚机配置并发量平均响应TPS现状对比网店交易8C+8C5001.6s26040测试场景虚机配置并发量平均响应TPS现状对比网店交易4C+4C5001.8s190虚拟机承载JAVA性能对比?资源池后不低于现有系统的性能表现,并保留快速横向扩展能力。?按业务类型或应用功能划分,例如卡系统核心集群,卡系统门户集群,卡系统业务集群,卡汇聚集群及IT管理集群等。按不同安全级别应用部署到不同的集群;比如 DM
21、Z 区单独创建一个集群。按物理分布划分,根据集群在数据中心所属,集群最好不要跨机房边界,例如 M5,M8等。在规划群集时,需要考虑如下最佳实践:?安全性:基于安全考虑,实现管理网与业务网的隔离。一个业务群集不能有过多的网段,防止广播域过大。一个业务群集必须跨两个以上机架进行部署,以实现部署冗余。每个业务群集上链网络链路必须冗余。每个业务群集上链存储链路必须冗余。集群规格设计原则:?负载均衡规划负载均衡集成? 建议业内性能较好的F5负载均衡设备来进行负载? 通过F5物理设备VS和members来控制虚拟机的均衡负载Load Balancer? 通过HM来检查VM上应用系统的健康度? 其他设备和VMware的高级功能? 与受支持的负载均衡设备与vCenter高度集成? 比如F5在vCenter的免费插件对在F5中的虚拟机池进行维护? iControl API (F5提供VM的管理接口函数)2所有安全策略配置从物理防火墙上移动到虚拟化防火墙上不需要对物理结构做大改动也可以实现网络隔离安全微分段设计存储池等级 磁盘类型 磁盘转速 Raid 安全等级 金 SSD+SAS 高端(15K) 10 高 银 SAS 中高端
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度实习生实习合同纠纷处理汇编
- 二零二五年度水利工程验收及移交补充协议
- 二零二五年度父子间债权转让及还款计划协议
- 二零二五年度建筑工程延期工期调整协议
- 二零二五年度商铺转租合同管理要点解析
- 二零二五年度拆除工程安全责任追究及处理协议
- 2025年度艺术中心转租管理服务协议
- 探讨茶艺活动的社区影响力试题及答案
- 二零二五年度新材料研发贷款担保服务协议
- 二零二五年度家庭老人专业护理保姆合同
- 2025年山东省中小学生海洋知识竞赛参考试指导题库500题(含答案)
- 2025年高考语文备考之DeepSeek与《哪吒2》相关语言文字运用题训练
- 2024年广东省公务员《申论(行政执法)》试题真题及答案
- 山东2025年山东师范大学招聘153人笔试历年参考题库附带答案详解
- 2025湖北省建筑安全员《C证》考试题库及答案
- 2025年西安印钞有限公司招聘笔试参考题库含答案解析
- 《全国森林经营规划(2016-2050年)》
- 起重司索工安全操作规程范文(2篇)
- 高质量金融人才职业发展报告 2024
- 2025年“两新”领域超长期特别国债项目申报策略
- 2.4 共射放大电路的失真分析
评论
0/150
提交评论