在虛擬化平臺上運行中間件的最佳實踐_第1頁
在虛擬化平臺上運行中間件的最佳實踐_第2頁
在虛擬化平臺上運行中間件的最佳實踐_第3頁
在虛擬化平臺上運行中間件的最佳實踐_第4頁
在虛擬化平臺上運行中間件的最佳實踐_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、在虛擬化平臺運行中間件的最佳實踐Agenda? Java平臺概述? 為什么虛擬化Java平臺? Java平臺設(shè)計與規(guī)劃? 遷移方法論? Java平臺最佳實踐和調(diào)優(yōu)? 成功案例Java平臺概述應(yīng)用架構(gòu)?Java平臺一般都會涉及多個組織,維護較為復(fù)雜數(shù)據(jù)庫Java應(yīng)用負載均衡層負載均衡Web 服務(wù)器IT運維 網(wǎng)絡(luò)組IT運維 服務(wù)器組IT運維 開發(fā)團隊IT運維 DBA關(guān)鍵利益相關(guān)部門Web服務(wù)器層應(yīng)用服務(wù)器層數(shù)據(jù)庫層DB Servers負載均衡層Web服務(wù)器層數(shù)據(jù)層Web Server PoolApp Server PoolDB Connection PoolHtml靜態(tài)查詢請求 (負載位于Web服

2、務(wù)器)對后臺數(shù)據(jù)庫的動態(tài)請求(負載位于應(yīng)用服務(wù)器與DB)應(yīng)用服務(wù)器層為什么虛擬化Java平臺? 提供新的應(yīng)用系統(tǒng)需要大量的時間和技術(shù)資源? 72% vs. 28% 運維與創(chuàng)新比率? 整個企業(yè)范圍的打補丁和系統(tǒng)升級十分困難? 不能通過池化實現(xiàn)資源的彈性調(diào)配人力資源Java EEApplication ServerCRM 應(yīng)用Java EEApplication Server財務(wù)系統(tǒng)Java EEApplication Server測試系統(tǒng)Java EEApplication Server人力CRM財務(wù)研發(fā)傳統(tǒng)應(yīng)用系統(tǒng)的挑戰(zhàn)每個應(yīng)用的實例都需要一個獨立的操作系統(tǒng)和一套獨立的硬件環(huán)境? 每套應(yīng)用環(huán)境

3、都需要獨立的系統(tǒng)會導(dǎo)致服務(wù)器的泛濫研發(fā)集群人力集群人力資源Java EE ApplicationServerWindows NTVirtual Machine財務(wù)集群財務(wù)應(yīng)用Java EE ApplicationServerSUSE LinuxVirtual Machine測試系統(tǒng)Java EE ApplicationServerWindows2000 ServerVirtual MachineCRM集群CRM 應(yīng)用Java EE ApplicationServerWindows2003 ServerVirtual Machine測試系統(tǒng)Java EEApplication ServerWin

4、dows NTVirtual Machine財務(wù)應(yīng)用Java EE ApplicationServerRed HatLinuxVirtual MachineCRM 應(yīng)用Java EE ApplicationServerRed HatLinuxVirtual Machine銷售部門資源池開發(fā)部門資源池VMware ESX Server #1VMware Vmotion技術(shù)VMware ESX Server #2VMware Infrastructure/vSphereStorageServers池化整合系統(tǒng)資源后臺部門資源池Java平臺的虛擬化?Java本身就是虛擬化概念的體現(xiàn)(JVM)?Jav

5、a中間件在vSphere上經(jīng)過了廣泛地測試 (包括在VMware,合作伙伴以及客戶的環(huán)境中)?Java基于虛擬化的性能和基于物理機的性能十分接近?中間件一直以來都以云作為自己的發(fā)展方向,虛擬化正是將應(yīng)用移動到云端的第一步Java平臺基于虛擬化平臺的好處?靈活的調(diào)配計算資源的配置,例如虛機大小,增加更多的節(jié)點?靈活的部署軟硬件補丁,并保證最小的停機時間?通過減少中間件創(chuàng)建維護消耗時間來建立更加方便管理的系統(tǒng)?方便的進行整體的性能調(diào)優(yōu)?方便的監(jiān)控整個中間件平臺?方便的處理不同時期的工作負載,可以方便的進行按需管理Java虛擬化平臺的規(guī)劃與設(shè)計第一步:建立負荷模型? 從生產(chǎn)環(huán)境的日志、監(jiān)控報告、需求

6、分析、當初設(shè)計文檔等確定:? 并發(fā)用戶數(shù)? 反應(yīng)時間? 高峰反應(yīng)時間? 評價反應(yīng)時間? 建立SLA第二步:建立性能基線? 在測試環(huán)境下,通過多次迭代測試,確定滿足SLA的虛機容量? 在測試的過程中,進行各種參數(shù)調(diào)優(yōu),這些參數(shù)最終可以應(yīng)用到生產(chǎn)環(huán)境第一步:生產(chǎn)環(huán)境容量設(shè)計? 在第二步測試的基礎(chǔ)上,設(shè)計生產(chǎn)環(huán)境的容量,根據(jù)業(yè)務(wù)的發(fā)展留有一定的空間設(shè)計和規(guī)劃Java平臺應(yīng)用平臺從Unix物理機器遷移到Linux,往往存在拓撲擴展情況,一般需要重新設(shè)計虛機容量縱向擴展測試決定需要多少個VM建立水平的可伸縮性水平擴展測試?在CPU使用率70-80%的情況下需要建立多少臺虛擬機滿足響應(yīng)時間,TPS,并發(fā)用

7、戶的需求?在應(yīng)用出現(xiàn)瓶頸之前,確定水平可以擴展的系數(shù)橫向擴展測試標準虛機標準虛機SLA 滿足?測試結(jié)束查看出現(xiàn)瓶頸的原因:網(wǎng)絡(luò),存儲,應(yīng)用配置和vSphere如果水平擴展的瓶頸解決,繼續(xù)進行水平擴展測試如果是建立的標準虛擬機存在瓶頸?不滿足Building Block VM?第二步 建立性能基線建立標準虛擬機建立垂直的可伸縮性縱向擴展測試估算每臺虛擬機承載多少JVM?估算虛擬機的大小,配置多少vCPU和虛擬內(nèi)存建立標準虛機JVM Max Heap -Xmx JVM 內(nèi)存 Perm Gen Ini3al Heap 操作系統(tǒng)內(nèi)存 基于vSphere的JVMVM 內(nèi)存 Java Stack -Xss

8、 per thread -XX:MaxPermSize -Xms Other mem 本地內(nèi)存Java內(nèi)存?操作系統(tǒng)的內(nèi)存占用一般為1G?“other mem” 是指NIO buffers, JIT code cache, classloaders, Socket Buffers (receive/send), JNI, GC internal info這些組件需要的內(nèi)存?如果您再一臺VM上面部署多個JVM,那么VM的內(nèi)存計算如下:? 虛擬機內(nèi)存 = 操作系統(tǒng)內(nèi)存 + N * JVM內(nèi)存JAVA虛擬機內(nèi)存計算方式虛擬機內(nèi)存 = 操作系統(tǒng)內(nèi)存 + JVM內(nèi)存 JVM 內(nèi)存 = JVM Max H

9、eap (-Xmx value) + JVM Perm Size (-XX:MaxPermSize) + NumberOfConcurrentThreads * (-Xss) + “other Mem” 常規(guī)JVM設(shè)計示例虛擬機 內(nèi)存 (5088m) JVM 內(nèi)存 (4588m) JVM Max Heap -Xmx (4096m) 操作系統(tǒng)內(nèi)存 Java Stack Perm Gen Ini3al Heap 設(shè)置虛擬機內(nèi)存預(yù)留為 5088m 500m used by OS -Xss per thread (256k*100) Other mem (=217m) -XX:MaxPermSize

10、(256m) -Xms (4096m) 基于內(nèi)存數(shù)據(jù)庫技術(shù)的大JVM示例JVM Max Heap -Xmx (30g) Perm Gen Ini3al Heap -Xms (30g) 操作系統(tǒng)內(nèi)存 Java Stack Other mem (=1g) -XX:MaxPermSize (0.5g) 設(shè)置虛擬機內(nèi)存預(yù)留為 34g 0.5-1g used by OS -Xss per thread (1M*500) JVM 內(nèi)存 (32g) 虛擬機內(nèi)存 (34g) 為什么使用內(nèi)存預(yù)留? 當各個內(nèi)存部分確定好以后,根據(jù)需求確定虛擬機設(shè)置內(nèi)存預(yù)留,預(yù)留內(nèi)存為各個內(nèi)存的總和? 這是保證對已經(jīng)啟動的虛擬機分

11、配的實際VMware ESX/VMware ESXi (tm)主機內(nèi)存是可用的,以避免內(nèi)存過度承諾產(chǎn)生爭用? ESX/ESXi的內(nèi)存管理技術(shù), 例如ballooning和swapping機制都要避免采用以防止對性能產(chǎn)生影響16 Exabytes 設(shè)計VM內(nèi)存大小的影響64-bit Java theore3cal limit 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節(jié)點的內(nèi)存= 88.5GB/2Approx. 4

12、5GB for each VM服務(wù)器96GB內(nèi)存每個MUMA節(jié)點擁有94/2=45GB每個VM: 8vCPU不大于45GB內(nèi)存ESX調(diào)度如果設(shè)計的VM內(nèi)存大于45GB或CPU多于8CPUs,那么跨NUMA節(jié)點訪問內(nèi)存會導(dǎo)致30%左右的性能下降遷移方法U2VL遷移方法論階段一:評估? 數(shù)據(jù)收集? 性能基線? 需求映射? 依賴性調(diào)查? 數(shù)據(jù)分析? 業(yè)務(wù)用例? 遷移策略? TCO/ROI階段四:運行? VMware駐場計劃? 運維上線支持? 技術(shù)客戶經(jīng)理支持(TAM)? BCSMCS支持階段三:實施? 構(gòu)建最優(yōu)虛擬化架構(gòu)? 使用最適合的工具對應(yīng)用的業(yè)務(wù)邏輯和數(shù)據(jù)進行遷移? 完成系統(tǒng)管理框架實施階段二

13、:設(shè)計? 概要設(shè)計? 詳細設(shè)計? 風(fēng)險分析? 防范措施? POC測試? 最佳實踐? 遷移計劃CONFIDENTIAL26一般遷移步驟? Phase 1 虛擬化Web Server層? Phase 2 虛擬化Java應(yīng)用層? Phase 3 虛擬化DB Server層? Phase 4 虛擬化Load Balancer層? Java應(yīng)用是平臺無關(guān)的,所以一般來說很方便進行遷移? 從Unix到Linux的遷移:? 通常JVM會發(fā)生變化 (不同的OS需要特定的JVM), 但是這是與應(yīng)用無關(guān)的? 應(yīng)用的代碼不需要變化,除非一些情況可能會因為我們把JVM從32位升級到64位一些特殊方法需要變化? 當進行

14、操作系統(tǒng)的改變的時候一些JVM的命令和操作可能會發(fā)生變化,但這些變化影響的范圍很小遷移注意事項Java虛擬化平臺最佳實踐對于Java平臺一般通用虛機配置?每個JVM配置兩顆vCPU?當縱向擴展或者橫向擴展的時候都盡量保持這樣的比例1JVM : 2vCPU?盡量采用橫向擴展而不要采用縱向擴展?對于普通的應(yīng)用系統(tǒng)建議采用這種方式進行設(shè)計2 vCPU VM1 JVM (-Xmx 4096m)Approx 5GB RAM ReservationGC機制?ESXi并不關(guān)心采用哪種GC機制,因為對于EXSi來說操作系統(tǒng)和JAVA虛擬機都是各自獨立的EnterpriseJavaApplicationsonV

15、MwareBestPracticesGuidehttp:/ 那么需要保證足夠的vCPU用于垃圾回收(number of threads =number of vCPUs)? example : -Xgcthreads4?Locators/heartbeat類的程序不要開啟vMotion, 一旦開啟會導(dǎo)致網(wǎng)絡(luò)風(fēng)暴等問題?當做常規(guī)維護需要使用vMotion時候建議要使用10Gbps以上的網(wǎng)絡(luò)帶寬行業(yè)實施案例? 石油天然氣生產(chǎn)商和供應(yīng)商,同時也是全球主要的油田服務(wù)供應(yīng)商之一, 其作為工程建設(shè)領(lǐng)域的全球承包商也享有很高的名譽。挑戰(zhàn)交付項價值/收益案例分享-能源客戶 SAP,Java&Oracle公司簡

16、介?老HPUX服務(wù)器的CPU和內(nèi)存資源已塊接近耗盡SAP和Java應(yīng)用在業(yè)務(wù)高峰期平凡遇到性能問題需要一個開放的且可擴展的基礎(chǔ)架構(gòu)平臺來提高服務(wù)管理水平系統(tǒng)改造要跟符合集團云計算戰(zhàn)略的方向為SAP系統(tǒng)和Java系統(tǒng),總共數(shù)百臺服務(wù)器提供虛擬化評估基于VMware解決方案提供系統(tǒng)概要設(shè)計和詳細設(shè)計,其中詳細設(shè)計的對象為加管系統(tǒng)中體量最大的SAP系統(tǒng)(SRP)和JAVA系統(tǒng)(卡核心)測試系統(tǒng)(SRP和卡核心)遷移并伴隨完整測試,驗證虛擬化環(huán)境下的可靠性和性能等指標,最終給出可行性分析結(jié)論從HPUX遷移到Linux on VMWare (x86)將幫助客戶節(jié)省大量成本虛擬化以后體現(xiàn)出比老架構(gòu)更好的性

17、能更易實現(xiàn)的應(yīng)用和數(shù)據(jù)庫高可用對于關(guān)鍵業(yè)務(wù)應(yīng)用來講,vSphere平臺提供卓越的延展性和兼容性數(shù)據(jù)交換平臺 應(yīng)用支撐平臺 基礎(chǔ)架構(gòu)平臺 生產(chǎn)數(shù)據(jù)中心 虛擬化架體架構(gòu) 同城 災(zāi)備中心 地市/站級系統(tǒng) 地市/站級系統(tǒng) 地市/站級系統(tǒng) 地市/站級系統(tǒng) 異地遠程 災(zāi)備中心 地市/站級系統(tǒng) 生產(chǎn)機房生產(chǎn)存儲數(shù)據(jù)備份存儲虛擬化設(shè)備存儲虛擬化設(shè)備同城機房同城災(zāi)備存儲存儲虛擬化設(shè)備存儲虛擬化設(shè)備同城跨機房雙活存儲光纖交換機光纖交換機跨站點在線遷移VMware SRM容災(zāi)切換數(shù)據(jù)備份基于存儲的復(fù)制異地機房光纖通道活動災(zāi)難切換光纖通道HOS生產(chǎn)系統(tǒng)卡系統(tǒng)生產(chǎn)系統(tǒng)集成平臺HOS開發(fā)測試系統(tǒng)卡系統(tǒng)開發(fā)測試系統(tǒng)集成平臺

18、開發(fā)測試系統(tǒng)兩地三中心 活動關(guān)鍵業(yè)務(wù)虛擬化方法論 咨詢建議遷移實施運維管理評估分析 VMware vBCA 評估服務(wù) ? 當前狀態(tài)評估 ? 未來狀態(tài)需求及建議 ? 風(fēng)險分析 ? 遷移實施路線圖 規(guī)劃設(shè)計 VMware vBCA 規(guī)劃與設(shè)計服務(wù) ? 項目計劃 ? 架構(gòu)設(shè)計 ? 遷移策略 ? 容量規(guī)劃 實施支持 VMware vBCA 實施服務(wù) ? 遷移支持 ? 管理解決方案的支持 ? 測試驗證 ? 上線支持 優(yōu)化服務(wù) 虛擬化架構(gòu) 優(yōu)化服務(wù) ? 架構(gòu)優(yōu)化 ? 運維就緒支持 ? 性能調(diào)優(yōu) 策略制定 虛擬化顧問咨詢 研討會 ? 業(yè)務(wù)及技術(shù)的挑戰(zhàn)/目標/任務(wù) ? 路線圖支持 ? 最佳實踐建議 確保風(fēng)險是

19、可控的,需求被滿足的,并加速項目的成功 提供應(yīng)用和組織架構(gòu)層面運作的完整性和優(yōu)越特性 Vmware從成百上千個實際項目中積累了豐富經(jīng)驗,為實現(xiàn)關(guān)鍵業(yè)務(wù)應(yīng)用虛擬化藍圖提供專家級的建議和解決方案 ,從而為投資創(chuàng)造最大價值 隨時就緒參與到整個藍圖轉(zhuǎn)換過程中的每一個階段! 實際遷移方法 實際遷移方法 應(yīng)用分析與遷移策略遷移案例-虛擬機承載JAVA性能體量?Tiler-1應(yīng)用系統(tǒng)可考慮采用2-8 vCPU / VM?Tiler-1數(shù)據(jù)庫系統(tǒng)科考慮采用8+ vCPU / VM?HotSpot YoungGen占總Heap的 33%?并發(fā)GC線程為vCPU的50%?橫向擴展,虛擬機優(yōu)先、然后主機、最后集群2

20、+ vCPU VM1 JVM (-Xmx 4096m)Approx 5GB RAM ReservationFor large JVMs8+ vCPU VM1 JVM (16-128GB)CONFIDENTIAL42JVM 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 (4096m) set mem Reserva3on to 5088m

21、500m used by OS -Xss per thread (256k*100) 遷移案例-內(nèi)存配置最佳實踐(JVM)測試場景虛機配置并發(fā)量平均響應(yīng)TPS現(xiàn)狀對比網(wǎng)店交易8C+8C5001.6s26040測試場景虛機配置并發(fā)量平均響應(yīng)TPS現(xiàn)狀對比網(wǎng)店交易4C+4C5001.8s19040虛擬機承載JAVA性能對比?資源池后不低于現(xiàn)有系統(tǒng)的性能表現(xiàn),并保留快速橫向擴展能力。?按業(yè)務(wù)類型或應(yīng)用功能劃分,例如卡系統(tǒng)核心集群,卡系統(tǒng)門戶集群,卡系統(tǒng)業(yè)務(wù)集群,卡匯聚集群及IT管理集群等。按不同安全級別應(yīng)用部署到不同的集群;比如 DMZ 區(qū)單獨創(chuàng)建一個集群。按物理分布劃分,根據(jù)集群在數(shù)據(jù)中心所屬,集

22、群最好不要跨機房邊界,例如 M5,M8等。在規(guī)劃群集時,需要考慮如下最佳實踐:?安全性:基于安全考慮,實現(xiàn)管理網(wǎng)與業(yè)務(wù)網(wǎng)的隔離。一個業(yè)務(wù)群集不能有過多的網(wǎng)段,防止廣播域過大。一個業(yè)務(wù)群集必須跨兩個以上機架進行部署,以實現(xiàn)部署冗余。每個業(yè)務(wù)群集上鏈網(wǎng)絡(luò)鏈路必須冗余。每個業(yè)務(wù)群集上鏈存儲鏈路必須冗余。集群規(guī)格設(shè)計原則:?Newly added VMs automatically added to load balancer負載均衡規(guī)劃負載均衡集成? 建議業(yè)內(nèi)性能較好的F5負載均衡設(shè)備來進行負載? 通過F5物理設(shè)備VS和members來控制虛擬機的均衡負載Load Balancer? 通過HM來檢查

23、VM上應(yīng)用系統(tǒng)的健康度? 其他設(shè)備和VMware的高級功能? 與受支持的負載均衡設(shè)備與vCenter高度集成? 比如F5在vCenter的免費插件對在F5中的虛擬機池進行維護? iControl API (F5提供VM的管理接口函數(shù))2所有安全策略配置從物理防火墻上移動到虛擬化防火墻上不需要對物理結(jié)構(gòu)做大改動也可以實現(xiàn)網(wǎng)絡(luò)隔離安全微分段設(shè)計存儲池等級 磁盤類型 磁盤轉(zhuǎn)速 Raid 安全等級 卡系統(tǒng)業(yè)務(wù) 金 SSD+SAS 高端(15K) 10 高 核心DB, 門戶DB, 數(shù)據(jù)平臺 DB 銀 SAS 中高端(15K /10K) 5 中 系統(tǒng)前置服務(wù)器 系統(tǒng)應(yīng)用服務(wù)器 VSAN SSD+傳統(tǒng)磁盤(SAS/SA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論