PerfLabs以Cloud Native架構(gòu)進行應(yīng)用測試調(diào)優(yōu)_第1頁
PerfLabs以Cloud Native架構(gòu)進行應(yīng)用測試調(diào)優(yōu)_第2頁
PerfLabs以Cloud Native架構(gòu)進行應(yīng)用測試調(diào)優(yōu)_第3頁
PerfLabs以Cloud Native架構(gòu)進行應(yīng)用測試調(diào)優(yōu)_第4頁
PerfLabs以Cloud Native架構(gòu)進行應(yīng)用測試調(diào)優(yōu)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PerfLabs: 以 Cloud Native架構(gòu)進應(yīng)測試和調(diào)優(yōu)謝謝聆聽!動機用戶調(diào)研 產(chǎn)品目標 技術(shù)方案 落地效果 未來規(guī)劃目錄攜程容器云現(xiàn)狀BareMetalVMNetworkStoragePrivate/Public IDCCloud Native InfrastructureCapacityEfficiencyPerformanceUnified Control PlanePAASCI/CDCoding混合云、基于Kubernetes10W Pod,快速增長Support & Troubleshooting動機-排障日常動機-排障日常為什么程序發(fā)布時響應(yīng)延遲這么高? 為什么我的CPU

2、這么高?我的內(nèi)存為什么這么高?為什么OOM? 為什么這個實例有問題,其它實例沒問題?是不是你們?nèi)萜鞯膯栴}!能幫我看看這樣改效果怎么樣嗎?動機-小愿望自己動手,豐衣足食內(nèi)心OS: 別來煩我不懂,不知道怎么弄操作太麻煩了有些工具影響性能,不敢在生產(chǎn)操作,怕出事容器內(nèi)沒有權(quán)限,很多操作沒法兒做 引用的Native包的問題,現(xiàn)有工具看不到用戶調(diào)研-為什么不能自助診斷?用戶調(diào)研-為什么不線下做測試調(diào)優(yōu)?效果差 用得少測 試 數(shù) 據(jù) 構(gòu) 造流 量 錄 制 回 放維護復(fù)雜 構(gòu)造成本高 失真實時性差 場景受限產(chǎn)品目標生產(chǎn)環(huán)境為中心打造從環(huán)境構(gòu)造、性能診斷到結(jié)果分析展示的性能優(yōu)化閉環(huán)環(huán)境構(gòu)造性能診斷分析展示可控

3、的流量負載測試(Canary,Linkedin Redliner.)環(huán)境構(gòu)造-流量動態(tài)加壓DependenciesLoad BalancerController/MonitorRequests動態(tài)調(diào)整流量分配權(quán)重對部分實例加壓觀察調(diào)整被測實例Group AGroup B環(huán)境構(gòu)造-流量動態(tài)加壓操作簡單可以處理有副作用請求流量可能有損大部分內(nèi)部用戶不太能接受流量損失可控的流量鏡像環(huán)境構(gòu)造-流量鏡像DependenciesLoad BalancerController/MonitorRequests復(fù)制流量到對比集群流量可控觀察調(diào)整被測實例Source GroupMirror GroupCopyMi

4、rror Group: 自由的實驗環(huán)境流量副作用?環(huán)境構(gòu)造-流量鏡像-風(fēng)險DependenciesLoad BalancerController/MonitorRequestsSource GroupMirror GroupFilter典型性能調(diào)優(yōu)應(yīng)用讀多寫少查詢引擎接口渲染手段流量過濾Mirror Group環(huán)境變量標識Env: PAAS_APP_IS_MIRROR_GROUPTracing混亂?環(huán)境構(gòu)造-流量鏡像-風(fēng)險DependenciesLoad BalancerController/MonitorRequestsSource GroupMirror Groupdrop tracing

5、 header手段清空Tracing相關(guān)的http header環(huán)境構(gòu)造-流量鏡像-技術(shù)方案PAASSidecarinjectorKube-ApiConfigmapCopySidecarSidecarSource GroupMirror GroupDependenciesProd Env自研流量鏡像Sidecar Redirpcap包復(fù)制SOA/HTTP協(xié)議解析自定義規(guī)則請求過濾抽樣/放大系數(shù)多Endpoint Load BalancingConfig自動熱加載Sidecar管理與控制K8s自動管理Source Group的Sidecar注入Configmap實時控制Sidecar行為K8s通

6、用Sidecar管理方案通用的Sidecar模板治理通用的Sidecar配置和渲染治理LabelSelector匹配環(huán)境構(gòu)造-流量鏡像-技術(shù)方案apiVersion: /v1 kind: SidecarBindingmetadata:creationTimestamp: 2019-09-27T09:21:56Z generation: 1labels:/appid: 100019954 /env: PRO /groupid: 21024912.sidecarTemplateRef:apiGroup: kind: SidecarTemplatename: redirspec: config:Re

7、directAMPRatio: 0.1RedirectDstAddrs: xx.xx.xxx.xxx:8080 RedirectPatterns: getxxxinfo RedirectTimeoutMs: 1000namespace: xxxPerfLabsvsIstio Traffic Mirroring環(huán)境構(gòu)造-流量鏡像-技術(shù)對比旁路Copy,無侵入流量放大縮小自定義方便(私有協(xié)議、復(fù)雜過濾規(guī)則.) 容易落地(Mesh未落地)Mesh未來趨勢Proxy模式可以處理加密流量性能診斷-問題jprofiler、JFR商業(yè)產(chǎn)品hprofsafepoint、profiling不準dump(thre

8、ad、heap)只能看到snapshot只能看到Java層heap dump可能導(dǎo)致進程OOMjvm-profiling-tools(perf-map-agent、 async-profiler)使用難度高容器內(nèi)權(quán)限問題無集成低損耗低門檻多語言簡單易用性能診斷-CPU FlameGraphJIT/VM?perf recordget SymbolTablegenerate stacksfilegenerate flamegraphNoYesC/C+: gcc -g -fno-omit-frame-pointerJava: -XX:+PreserveFramePointer + perf-map-

9、agentNode.js: -perf-basic-prof性能診斷-CPU FlameGraphbrendangregg/FlameGraph/Fla meGraphs/cpuflamegraphs.html性能診斷-CPU FlameGraphPMIhandleroverflowring buffercapture statesPMCPMUperf recordperf_event_openmmapinitreset性能損耗中斷處理ring buffercontext switch PMC save/load正相關(guān)event數(shù)量 * thread數(shù)量 * 核數(shù) * 采樣頻率thread活躍

10、度一般sample 99HZ損耗夠小JVMTI & TLABTLAB refill(sampling)allocated outside of TLAB輕量、低損耗jvm-profiling-tools/async-profiler性能診斷-Java Heap AllocationEdennew TLABAllocatingsmall sizesize too bigThread LocalJVMTI_EVENT_MONITOR_CONTENDED_ENTER JVMTI_EVENT_MONITOR_CONTENDED_ENTEREDjvm-profiling-tools/async-prof

11、iler性能診斷-Java鎖競爭性能診斷-技術(shù)實現(xiàn)如何做到簡單易用?性能診斷-技術(shù)實現(xiàn)apiVersion: /v2 kind: PerfJobxxx spec:xxx perfSeconds: 30perfShouldStop: falsepodInfo: name: xxxmaxRetries: 5 status:message: Perf Succeededphase: Succeeded retryTime: 3url: http:/xx.xx.xx.xx/swift/xxx/xxx.svg性能診斷-技術(shù)實現(xiàn)可創(chuàng)建CPU、Heap、Lock診斷任務(wù)失敗重試可Abort任務(wù)Profiling任務(wù)CRD抽象PerfOperator自動管理任務(wù)PerfAgent任務(wù)執(zhí)行Ceph存儲任務(wù)結(jié)果性能診斷-技術(shù)實現(xiàn)PAASKube-ApiPerfJob/PerfTaskPerfAgentHostPerfOperatorPerfAgent與Host共享pid namespaceRxjava技術(shù)改造線程死鎖落地場景-ABTest流量鏡像環(huán)境技術(shù)改造A/B Testing生產(chǎn)環(huán)境 troubleshooting落地場景-troubleshootinggc日志異常輪轉(zhuǎn)觸發(fā)cat

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論