




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
U2VL精英训练营-应用服务器/中间件篇12014年11月版(第三版)AgendaJava平台概述为什么虚拟化Java平台Java平台设计与规划迁移方法论Java平台最佳实践和调优成功案例Java平台概述常规JAVA平台Java平台一般都会涉及多个组织,维护较为复杂数据库Java应用负载均衡层负载均衡Web服务器IT运维
网络组IT运维
服务器组IT运维
开发团队IT运维
DBA关键利益相关部门Web服务器层应用服务器层数据库层DBServers负载均衡层Web服务器层应用服务器层数据层WebServerPoolAppServerPoolDBConnectionPoolHtml静态查询请求(负载位于Web服务器)对后台数据库的动态请求(负载位于应用服务器与DB)基于vSphere的Java平台架构负载均衡Web服务器Java应用服务器为什么虚拟化Java平台每套应用环境都需要独立的系统会导致服务器的泛滥提供新的应用系统需要大量的时间和技术资源72%vs.28%运维与创新比率整个企业范围的打补丁和系统升级十分困难不能通过池化实现资源的弹性调配JavaEEApplicationServer人力资源JavaEEApplicationServerCRM应用JavaEEApplicationServer财务系统JavaEEApplicationServer测试系统人力CRM财务研发每个应用的实例都需要一个独立的操作系统和一套独立的硬件环境传统应用系统的挑战研发集群VMwareInfrastructure/vSphere人力集群VirtualMachineWindowsNTJavaEEApplicationServer人力资源财务集群VirtualMachineSUSELinuxJavaEEApplicationServer财务应用VirtualMachineWindows2000ServerJavaEEApplicationServer测试系统CRM集群VirtualMachineWindows2003ServerJavaEEApplicationServerCRM应用VirtualMachineWindowsNTJavaEEApplicationServer测试系统VirtualMachineRedHatLinuxJavaEEApplicationServer财务应用VirtualMachineRedHatLinuxJavaEEApplicationServerCRM应用销售部门资源池开发部门资源池后台部门资源池VMwareESXServer#1VMwareESXServer#2 VMwareVmotion技术StorageServers把系统资源进行池化整合Java平台的虚拟化Java本身就是虚拟化概念的体现(JVM)Java中间件在vSphere上经过了广泛地测试(包括在VMware,合作伙伴以及客户的环境中)Java基于虚拟化的性能和基于物理机的性能十分接近中间件一直以来都以云作为自己的发展方向,虚拟化正是将应用移动到云端的第一步Java平台基于虚拟化平台的好处灵活的调配计算资源的配置,例如虚机大小,增加更多的节点灵活的部署软硬件补丁,并保证最小的停机时间通过减少中间件创建维护消耗时间来建立更加方便管理的系统方便的进行整体的性能调优方便的监控整个中间件平台方便的处理不同时期的工作负载,可以方便的进行按需管理Java平台设计与规划应用平台从Unix物理机器迁移到Linux,往往存在拓扑扩展情况,一般需要重新设计虚机容量
第一步:建立负荷模型从生产环境的日志、监控报告、需求分析、当初设计文档等确定:并发用户数反应时间高峰反应时间评价反应时间建立SLA
第二步:建立性能基线在测试环境下,通过多次迭代测试,确定满足SLA的虚机容量在测试的过程中,进行各种参数调优,这些参数最终可以应用到生产环境
第一步:生产环境容量设计在第二步测试的基础上,设计生产环境的容量,根据业务的发展留有一定的空间设计和规划Java平台第二步–建立性能基线决定需要多少个VM建立水平的可伸缩性水平扩展测试在CPU使用率70-80%的情况下需要建立多少台虚拟机满足响应时间,TPS,并发用户的需求?在应用出现瓶颈之前,确定水平可以扩展的系数横向扩展测试标准虚机标准虚机SLA满足?测试结束查看出现瓶颈的原因:网络,存储,应用配置和vSphere如果水平扩展的瓶颈解决,继续进行水平扩展测试如果是建立的标准虚拟机存在瓶颈?不满足标准虚机BuildingBlockVM建立标准虚拟机建立垂直的可伸缩性纵向扩展测试估算每台虚拟机承载多少JVM?估算虚拟机的大小,配置多少vCPU和虚拟内存纵向扩展测试建立标准虚机基于vSphere的JVMJVMMaxHeap-XmxJVM内存PermGenInitialHeap操作系统内存VM内存-XmsJavaStack-Xssperthread-XX:MaxPermSizeOthermem本地内存Java内存JAVA虚拟机内存计算方式操作系统的内存占用一般为1G“othermem”是指NIObuffers,JITcodecache,classloaders,SocketBuffers(receive/send),JNI,GCinternalinfo这些组件需要的内存如果您再一台VM上面部署多个JVM,那么VM的内存计算如下:虚拟机内存=操作系统内存+N*JVM内存虚拟机内存=操作系统内存+JVM内存JVM内存
=JVMMaxHeap(-Xmxvalue)+JVMPermSize(-XX:MaxPermSize)+NumberOfConcurrentThreads*(-Xss)+“otherMem”常规JVM设计示例JVMMaxHeap-Xmx(4096m)JVM内存(4588m)PermGenInitialHeap操作系统内存虚拟机
内存(5088m)-Xms(4096m)JavaStack-Xssperthread(256k*100)-XX:MaxPermSize(256m)Othermem(=217m)500musedbyOS设置虚拟机内存预留为5088m基于内存数据库技术的大JVM示例JVMMaxHeap-Xmx(30g)PermGenInitialHeap操作系统内存-Xms(30g)JavaStack-Xssperthread(1M*500)-XX:MaxPermSize(0.5g)Othermem(=1g)0.5-1gusedbyOS设置虚拟机内存预留为34gJVM内存(32g)虚拟机内存(34g)为什么使用内存预留当各种内存部分确定好以后虚拟机设置内存预留,预留内存5088MB这是保证对已经启动的虚拟机分配的实际VMwareESX®/VMwareESXi(tm)主机内存是可用的,以避免内存过度承诺产生争用ESX/ESXi的内存管理技术,例如ballooning和swapping机制都要避免采用以防止对性能产生影响设计VM内存大小的影响16Exabytes64-bitJavatheoreticallimitGuestOSlimitis1TBto16TBESXi5limit32vCPU1TBRAMPhysicalserverlimit~256GB<1TBPerNUMARAM目前最影响整个设计的就是NUMA节点的影响NUMA本地内存计算方式对于生产环境来说最好留一些余量,例如按照NUMA节点的95%计算生产环境的NUMA节点大小ProdNUMALocalMemory(Intel)PerVM=0.95*NUMALocalMemoryProdNUMALocalMemory(AMD)PerVM=(0.95*NUMALocalMemory)/296GBRAM2sockets8pCPUpersocket中间件组件45GBRAMVMswith8vCPUVMs可用的内存=96*0.98-1GB=>93GB=>93*0.95=>88.5GB每个NUMA节点的内存=>88.5GB/2Approx.45GBforeachVMJAVA虚拟机推荐配置方式WebJVM-1WebJVM-1WebJVM-2WebJVM-1WebJVM-2WebJVM-3WebJVM-41VM4vCPU1JVM4GB2VMs2vCPUoneachVM2JVMs2.5GBeach4VMs1vCPUoneachVM4JVMs2GBeach迁移方法论U2VL迁移方法论阶段一:评估阶段二:设计阶段四:运行阶段三:实施数据收集性能基线需求映射依赖性调查数据分析业务用例迁移策略TCO/ROIVMware驻场计划运维上线支持技术客户经理支持(TAM)BCS/MCS支持构建最优虚拟化架构使用最适合的工具对应用的业务逻辑和数据进行迁移完成系统管理框架实施概要设计详细设计风险分析防范措施POC测试最佳实践迁移计划一般迁移步骤CONFIDENTIAL26Phase1–虚拟化WebServer层Phase2–虚拟化Java应用层Phase3–虚拟化DBServer层Phase4–虚拟化LoadBalancer层Phase2Phase1Phase3Phase4Java应用是平台无关的,所以一般来说很方便进行迁移从Unix到Linux的迁移:通常JVM会发生变化(不同的OS需要特定的JVM),但是这是与应用无关的应用的代码不需要变化,除非一些情况可能会因为我们把JVM从32位升级到64位一些特殊方法需要变化当进行操作系统的改变的时候一些JVM的命令和操作可能会发生变化,但这些变化影响的范围很小迁移注意事项当前运行环境的调查与评估多少个JVM?每个JVM多大?每个JVM的作用?目前使用32位还是64位的JVM?服务器配置(包括CPU,内存等信息)当前系统的CPU和内存使用率OS版本与配置参数?中间件版本与配置参数应用的版本项目计划明确项目目标,规模和范围明确项目涉及的软硬件资源及配合厂商明确项目参与人员及分工明确测试项目,关键测试用例明确项目时间进度,分工流程,软硬件组件调度流程明确迁移窗口制定风险控制方案项目实施:迁移过程准备迁移环境搭建硬件平台,安装服务器,存储,部署网络环境VMware软件平台,安装和配置vSphere,vCenter安装虚拟机,配置操作系统和中间件迁移环境验证准备测试用例,应用联调,验证应用功能完整性和应用正确性进行压力测试和性能调优新系统进行最后调整,迁移全部应用Java平台最佳实践和调优对于Java平台一般通用虚机配置每个JVM配置两颗vCPU当纵向扩展或者横向扩展的时候都尽量保持这样的比例1JVM:2vCPU尽量采用横向扩展而不要采用纵向扩展对于普通的应用系统建议采用这种方式进行设计2vCPUVM1JVM(-Xmx4096m)Approx5GBRAMReservationGC机制ESXi并不关心采用哪种GC机制,因为对于EXSi来说操作系统和JAVA虚拟机都是各自独立的GC调优不论你调整GC是为了获得高吞吐量或者低延迟,都是以牺牲另外一种为代价的提高吞吐量降低延迟调优方向JobWeb中间件基于vSphere的最佳实践
EnterpriseJavaApplicationsonVMwareBestPracticesGuide
BestPracticesforPerformanceTuningofLatency-SensitiveWorkloadsinvSphereVMs
vFabricSQLFireBestPracticesGuide
vFabricReferenceArchitecture
最佳实践汇总
按照前面讨论的建议进行设计设置内存预留开启HT,保持1vCPU=1.25pCPU的比例如果采用多线程垃圾回收机制,那么需要保证足够的vCPU用于垃圾回收(numberofthreads<=numberofvCPUs)example:-Xgcthreads4Locators/heartbeat类的程序不要开启vMotion,一旦开启会导致网络风暴等问题当做常规维护需要使用vMotion时候建议要使用10Gbps以上的网络带宽虚拟CPU与线程和物理CPU的对应关系Thread1Thread2Thread3Thread4vCPU0Thread5Thread6vCPU1vCPU2vCPU3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广西农业工程职业技术学院单招职业适应性测试题库及答案一套
- 2025年黑龙江省大庆市单招职业倾向性测试题库及答案1套
- 2025年阜新高等专科学校单招职业倾向性测试题库附答案
- 科技医疗的投资价值与发展趋势
- 2025年广东省茂名市单招职业倾向性测试题库附答案
- 2025年黄河交通学院单招职业适应性测试题库一套
- 企业战略管理复习试题及答案
- 2025年河北省秦皇岛市单招职业适应性测试题库审定版
- SMIC ERP BPR项目软件版本升级正式变更 接口单点测试 6-1-311-某大型企业SAP ERP方案60
- 2025年甘肃畜牧工程职业技术学院单招职业技能测试题库带答案
- LY/T 3400-2024荒漠与荒漠化防治术语
- 2024-2025学年第二学期英语教研组工作计划
- 2025年往年教师职称考试试题
- 2025年春季学期学校全面工作安排表
- 幼儿园开学前的厨房人员培训
- 《幼儿教育政策与法规》教案-单元6 幼儿园的工作人员
- 虚拟制片技术在VRAR应用中的角色建模与渲染-洞察分析
- GB/T 45167-2024熔模铸钢件、镍合金铸件和钴合金铸件表面质量目视检测方法
- 2023年东北公司加油站账务人员考试题库
- 2024年四川绵阳初中学业水平考试英语试卷真题(含答案详解)
- 光伏施工安全培训课件
评论
0/150
提交评论