




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園活動器材管理制度
- 校園監控日常管理制度
- 校園道路車輛管理制度
- 校園食堂制度管理制度
- 2024年觀光型酒店資金申請報告代可行性研究報告
- 醫院醫療質量管理獎勵部分
- 苗族銀飾工藝傳承-洞察及研究
- 機械設計制造專業證明書(6篇)
- 外聘講師合作合同協議書
- 讀書破萬卷我的閱讀之旅作文13篇
- 河南信息產業投資有限公司招聘考試真題2024
- 離婚協議書正規打印電子版(2025年版)
- 《計算機操作系統》(第4版)筆記和課后習題(含考研真題)詳解
- 國家自然科學獎
- 紅色大氣謝師宴高考喜報PPT模板
- 市政道路公路工程監理規范
- 通信線路投標文件
- 集結號觀后感 集結號觀后感500字(最全)
- 滬教版一年級下冊數學期末試卷
- 模電簡答題匯總
- 項目驗收單(簡潔版模板)-項目驗收單模板
評論
0/150
提交評論