日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

如何避免Java資源的過度配置

來源: 責編: 時間:2024-07-01 17:17:45 241觀看
導讀譯者 | 陳峻審校 | 重樓作為開發(fā)人員,我們經(jīng)常會陷入兩難的局面:我們既希望在應用中使用閃亮的新工具或代碼庫,又忌憚在部署到生產(chǎn)環(huán)境之后可能出現(xiàn)的未知問題。畢竟,沒有人希望自己的手機老是在半夜叮咚作響,更不用說來自

譯者 | 陳峻Hf728資訊網(wǎng)——每日最新資訊28at.com

審校 | 重樓Hf728資訊網(wǎng)——每日最新資訊28at.com

作為開發(fā)人員,我們經(jīng)常會陷入兩難的局面:我們既希望在應用中使用閃亮的新工具或代碼庫,又忌憚在部署到生產(chǎn)環(huán)境之后可能出現(xiàn)的未知問題。畢竟,沒有人希望自己的手機老是在半夜叮咚作響,更不用說來自為了保持應用能夠以多少個9高可用性運行的壓力了。這往往塑造了開發(fā)人員在應用構(gòu)建和編程時具有創(chuàng)新精神,卻在運營場景中過于保守的狀況。Hf728資訊網(wǎng)——每日最新資訊28at.com

Hf728資訊網(wǎng)——每日最新資訊28at.com

其中,一種最為典型的現(xiàn)象便是“過度配置(overprovisioning)”,即:在云計算環(huán)境中,為應用的部署配備了過多的算力(通常是CPURAM),以確保應用擁有足夠的資源,來啟動或應對運行過程中出現(xiàn)的峰值。顯然,既然是過度,我們就需要設法降低此類過度配置的需求,從而節(jié)省大量且寶貴的云服務資源的支出。下面,我將和您一起探討在Java應用的環(huán)境中如何避免過度的配置。Hf728資訊網(wǎng)——每日最新資訊28at.com

應用負載從來都不穩(wěn)定

正如大多數(shù)開發(fā)和DevOps人員切實感受的那樣,在一天或一周之內(nèi),應用的流量負載隨著時間的推移,從來就是不均勻的。在閑時,應用無需為不多的用戶請求提供服務或處理數(shù)據(jù),而在大量用戶頻繁對應用產(chǎn)生高利用率時,應用實例會在如下情況下,無法被及時推送給應用,進而出現(xiàn)不穩(wěn)定的峰值:Hf728資訊網(wǎng)——每日最新資訊28at.com

  • 響應延遲時間過長,無法滿足服務級別協(xié)議(SLA)。
  • 內(nèi)存的過度使用,導致Java虛擬機(JVM)中的垃圾回收器(Garbage CollectorGC)出現(xiàn)抖動。
  • 缺少CPU線程、網(wǎng)絡或文件句柄等資源,導致傳入的請求被拒絕,更不會被予以處理。

其中,后兩個問題會導致應用出現(xiàn)毫無響應的狀態(tài),因此在測試過程中,開發(fā)人員很容易注意到應用的負載上限,以及時擴展所需要的CPU內(nèi)核和內(nèi)存數(shù)量。而為了避免再次出現(xiàn)峰值,他們通常會趨向于過度添加CPU和內(nèi)存的數(shù)量,以求安全穩(wěn)定地滿足用戶需求。例如,開發(fā)團隊往往會配置比已發(fā)現(xiàn)的峰值高出5%50%的額外云計算余量。Hf728資訊網(wǎng)——每日最新資訊28at.com

但是,過度的預配置也會增加應用在運行過程中的大量成本。畢竟對于正在運行的云虛擬機而言,固有的CPU(核心或虛擬CPU)和內(nèi)存,通常并不會自我彈性調(diào)整。這就意味著無論應用是否會完全使用到已配置的容量與算力,您都需要為此付費。Hf728資訊網(wǎng)——每日最新資訊28at.com

為此,我們需要使用合適的策略,來管控過度的預配,以節(jié)省不必要的云計算支出。下面,我將向您介紹“垂直擴展(Vertical Scaling)”和“水平擴展(Horizontal Scaling)”這兩種擴展模型,以及每種模型的具體策略。而且此類策略和技術(shù)既可以適用于跑在云端的應用,也能夠適合本地運行的環(huán)境。Hf728資訊網(wǎng)——每日最新資訊28at.com

垂直擴展

垂直擴展旨在讓應用通過簡單的策略擴展,以處理更多的負載請求。不過它不如后面講到的水平擴展那么靈活。垂直擴展意味著向物理或虛擬服務器上的應用,添加更多的CPU內(nèi)核和更多的內(nèi)存(如果應用屬于I/O密集型,則需要添加更多、更快的SSD存儲)。當然,此類擴展往往需要停止并重啟應用。而有時候這對于應用來說是不可接受的。Hf728資訊網(wǎng)——每日最新資訊28at.com

水平擴展

多年來,彈性計算(Elastic Compute)一直被奉為可擴展應用開發(fā)的“圣杯”。而水平擴展是彈性計算的基礎。水平擴展意味著通過添加更多的服務器(各自具有一套完備的CPU和內(nèi)存)來增加應用的承載能力,而不是向現(xiàn)有服務器添加更多的CPU內(nèi)核和內(nèi)存。Hf728資訊網(wǎng)——每日最新資訊28at.com

不過,與垂直擴展相比,水平擴展更為復雜,需要更多的規(guī)劃和更多的外部(對應用而言)設置。而且,由于必須引入路由層,這就意味著會產(chǎn)生更多的處理和網(wǎng)絡開銷,因此其效率不如垂直擴展。Hf728資訊網(wǎng)——每日最新資訊28at.com

在針對Java應用的水平擴展部署中,我們可以通過自動檢測負載,和啟停應用節(jié)點實例的方式,按需增減資源,進而避免過度的配置。而且,就算在較短的時間內(nèi),出現(xiàn)了被過度預置的資源,其數(shù)量也會很少(主要取決于您的配置方式)。Hf728資訊網(wǎng)——每日最新資訊28at.com

更好的負載測試和估計

性能測試通常被認為是一種最困難的測試類型。它需要開發(fā)團隊對整個應用及其所有連接的服務,具有深入的了解。他們往往需要通過全面思考和反復調(diào)整,才能正確地生成模擬生產(chǎn)環(huán)境的負載、以及應用數(shù)據(jù)。顯然,為了與生產(chǎn)環(huán)境的特征保持同步,測試環(huán)境的性能設置是一項勞動密集型工作。Hf728資訊網(wǎng)——每日最新資訊28at.com

Java應用而言,開發(fā)人員經(jīng)常會在確定應用峰值性能要求時,通過執(zhí)行三項操作,來實現(xiàn)更加貼近真實情況的配置調(diào)整:Hf728資訊網(wǎng)——每日最新資訊28at.com

1. 測量服務器和JVMCPU和內(nèi)存的利用率

通常,開發(fā)人員需要查看服務器(或虛擬機)的CPU與內(nèi)存的利用率,以確定二者為處理峰值負載所需的數(shù)字。其中,在JVM中,他們可以使用工具去監(jiān)控如下兩項指標,以設置正確的級別:Hf728資訊網(wǎng)——每日最新資訊28at.com

  • JVM GC監(jiān)控:它有助于檢測那些由于內(nèi)存太少所導致的、在JVM進入GC場景時CPU的使用率過高的情況。同時,它也有助于檢測被分配了過多內(nèi)存的位置。這些位置因引發(fā)GC的暫停時間過長,從而導致延遲時間明顯長于預期。對此,減少不需要的內(nèi)存可以節(jié)省此方面的開銷。
  • JVM線程監(jiān)控:它有助于檢測何時出現(xiàn)由于CPU不足而導致的響應時間過長或無響應的情況。同時,它也有助于檢測那些過多的空閑線程,并能通過減少分配的內(nèi)核數(shù)量,以節(jié)省開銷。

2. 新的JVM版本比舊版本提供更好的性能

在從JDK 1117,再到21的測試中,我們發(fā)現(xiàn)每個JVM版本的CPU使用率都有所提升。與之相對的應用代碼則可能需要稍作調(diào)整,特別是當您的應用原先基于早于Java 11的版本時。Hf728資訊網(wǎng)——每日最新資訊28at.com

同時,不同的GC算法也能提升云端VM的效率,雖然這在很大程度上取決于應用的內(nèi)存利用率。例如,那些執(zhí)行大數(shù)據(jù)處理與轉(zhuǎn)換的應用,會具有與RESTful應用不同的GC配置文件。Hf728資訊網(wǎng)——每日最新資訊28at.com

3. 了解JVM的工作原理

下圖顯示了一個典型Java應用,從JVM的啟動到它是如何隨時間推移而執(zhí)行的過程。在啟動時,由于需要啟動JVM、加載各種類,所以其CPU的使用率較高。之后,該應用框架(如,Spring Boot)相繼進入啟動、初始化并達到“準備處理請求”的狀態(tài)。Hf728資訊網(wǎng)——每日最新資訊28at.com

Hf728資訊網(wǎng)——每日最新資訊28at.com

請注意圖中峰值上方一行的區(qū)域。該區(qū)域顯示了有多少顆CPU被過度預配置給了該應用的VM部署,以應對突發(fā)性高負載。隨著JVM的實時(just-in-timeJIT)編譯器優(yōu)化代碼的生效,該應用的性能會逐漸提高。也就是說,它能夠使用更少的CPU來處理相同數(shù)量的負載。最終,在JIT編譯器的優(yōu)化效果下,JVM達到了較低的CPU利用率基準。那么,為應用保留下來的富余資源,就浪費了您為其分配的CPU。顯然,這些資金本來是有機會可以被節(jié)省的。Hf728資訊網(wǎng)——每日最新資訊28at.com

鑒于使用高性能JVM可以讓您減少(或完全消除)過度配置的可能性,我們有必要通過了解此曲線及其對應用的影響,來減少分配給應用VM實例的資源。也就是說,一旦知曉了長尾峰值的所在位置,我們就可以降低其頂線(即“過度配置”),以便分配更少的CPU內(nèi)核,并節(jié)省云計算的租用成本。Hf728資訊網(wǎng)——每日最新資訊28at.com

減小應用的體積

我們的應用架構(gòu)隨著從單體模式轉(zhuǎn)為微服務(甚至更小的云服務功能),應用的體積規(guī)模也變得越來越小。雖然這些不同的架構(gòu)各有利弊,但在云服務成本優(yōu)化的背景下,使用水平擴展來達到彈性計算的縮減無疑是最好的實現(xiàn)方式。Hf728資訊網(wǎng)——每日最新資訊28at.com

應用體積的縮減,也能夠減少需要分配給應用每個實例的CPU和內(nèi)存的數(shù)量。而且,這種增量擴展方式不但實現(xiàn)了更高效的資源使用,也反過來達到了對云計算成本更精細化的控制效果。可以說,部署的單元越小,在縱向擴展時所支付的費用就越少。當然,這里主要討論的是自動化的擴展方式。Hf728資訊網(wǎng)——每日最新資訊28at.com

使用自動化擴展

說到自動化擴展,它是一種根據(jù)應用負載的增加或減少,自動化地增減應用實例節(jié)點的能力。通過云服務成本的優(yōu)化,我們可以根據(jù)所構(gòu)建的應用群集環(huán)境的不同,采用不同的自動化擴展選項。目前,最流行的自動化擴展平臺當屬Kubernetes。當然,它也給標準的固定分布式集群(fixed-distributed-cluster)部署帶來了不小的復雜性。Hf728資訊網(wǎng)——每日最新資訊28at.com

Kubernetes更為簡單的替代方案是容器即服務(CaaS),例如AWSFargateGoogleCloud Run、以及MicrosoftAzure 容器。這些部署服務提供了一些更加簡單的應用部署方法,并通過將Docker容器中的應用提供給服務,來自動處理向上和向下擴縮容。CaaS解決方案的缺點在于,它們的成本會高于標準的VM,并且可能會比托管式的Kubernetes部署的成本還要高。Hf728資訊網(wǎng)——每日最新資訊28at.com

結(jié)論

總的說來,減少過度配置可以幫助我們節(jié)省應用在云服務中的成本開銷。無論您使用上述哪種策略來減少過度配置,了解Java應用的CPU和內(nèi)存配置文件,無疑將有助于您掌握應用在啟動和運行時的性能狀況。目前,有一種Azul Platform Prime不但可以為大中型Java應用部署提供更為高效的高性能JVM,而且具有如下特點:Hf728資訊網(wǎng)——每日最新資訊28at.com

  • 由于具有先進的C4 GC、底層優(yōu)化和先進的Falcon JIT編譯器,它比其他JVM能夠更好地處理峰值負載。
  • 使用ReadyNow以避免JIT加速(即由JIT帶來的高CPU使用率)。
  • 其處理峰值方式不但可以處理更高的峰值負載,而且能夠提供更低的延遲。

如果您對本文討論的話題感興趣的話,請參閱IDC的白皮書--《優(yōu)化Java應用性能以改善業(yè)務成果和云成本效率》,以了解更多信息。Hf728資訊網(wǎng)——每日最新資訊28at.com

譯者介紹

陳峻(Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項目實施經(jīng)驗,善于對內(nèi)外部資源與風險實施管控,專注傳播網(wǎng)絡與信息安全知識與經(jīng)驗。Hf728資訊網(wǎng)——每日最新資訊28at.com

原文標題:How to Avoid Overprovisioning Java Resources,作者:Pratik PatelHf728資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-97911-0.html如何避免Java資源的過度配置

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 通過Spring Boot 3.x簡化火車購票系統(tǒng)退票與改簽流程

下一篇: 超越聊天機器人:人工智能如何改變前端開發(fā)

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产手机视频精品| 欧美日韩国产欧| 欧美影院在线| 久久激情五月婷婷| 六月婷婷久久| 欧美另类亚洲| 国产精品私人影院| 红桃视频国产一区| 亚洲国产美女| 亚洲图片欧美午夜| 欧美在线视频一区二区| 美日韩精品免费| 欧美日韩日韩| 国产永久精品大片wwwapp| 亚洲国产三级| 亚洲一级二级| 久久综合亚州| 欧美视频在线观看| 国产午夜精品一区二区三区视频 | 激情成人中文字幕| 亚洲精品国产精品国产自| 亚洲欧美精品在线观看| 久久午夜激情| 国产精品高精视频免费| 在线播放日韩欧美| 亚洲制服丝袜在线| 国产精品国色综合久久| 国产欧美在线看| 亚洲精品国产欧美| 久久大香伊蕉在人线观看热2| 欧美久久久久免费| 国产主播喷水一区二区| 一区二区三区国产在线观看| 久久久欧美精品| 国产精品久久久久av| 亚洲国产精品成人久久综合一区| 亚洲免费在线看| 欧美—级a级欧美特级ar全黄| 国产欧美日韩亚洲精品| av成人老司机| 老司机精品久久| 国产欧美日韩不卡| 一道本一区二区| 蜜桃伊人久久| 国产一区二区剧情av在线| 中文亚洲欧美| 欧美激情日韩| 在线播放一区| 久久久精品久久久久| 国产精品免费一区二区三区在线观看 | 亚洲欧洲日夜超级视频| 久久人人97超碰人人澡爱香蕉| 国产精品高潮粉嫩av| 91久久在线视频| 久久男人资源视频| 国产亚洲亚洲| 午夜精品短视频| 国产精品成av人在线视午夜片| 亚洲人www| 欧美aⅴ99久久黑人专区| 国内精品久久久久影院薰衣草| 亚洲一区二区三区高清不卡| 欧美黄色免费网站| 在线免费日韩片| 久久久91精品国产一区二区三区| 国产精品理论片| 亚洲午夜免费福利视频| 欧美日韩一区二| 99视频在线观看一区三区| 欧美激情1区2区| 亚洲国产国产亚洲一二三| 久久久五月天| 狠狠色综合网站久久久久久久| 欧美影院在线| 国产亚洲欧美中文| 欧美亚洲一区在线| 国产精品五月天| 午夜精品久久久久久久99樱桃 | 日韩视频免费观看高清在线视频 | 欧美激情亚洲国产| 亚洲欧洲日产国产网站| 欧美另类极品videosbest最新版本| 亚洲激情av| 欧美黄色大片网站| 日韩亚洲欧美在线观看| 欧美日本一区二区三区| 一本到高清视频免费精品| 欧美日韩另类在线| 一区二区三区视频在线看| 欧美丝袜一区二区三区| 亚洲欧美日韩国产一区二区三区 | 欧美日本一区| 中国成人黄色视屏| 国产精品麻豆va在线播放| 亚洲综合丁香| 国产日本欧美一区二区三区在线| 先锋影音网一区二区| 国产欧美日韩在线观看| 久久精品视频在线观看| 亚洲国产成人av在线 | 精品1区2区| 欧美mv日韩mv国产网站app| 亚洲日本中文| 欧美日韩在线大尺度| 亚洲女同同性videoxma| 国产亚洲精品久久久久久| 久久亚洲色图| 亚洲大胆女人| 欧美日韩另类在线| 亚洲欧美精品一区| 激情丁香综合| 欧美精品亚洲| 亚洲欧美精品在线| 黄色成人免费网站| 欧美激情aⅴ一区二区三区| 亚洲国产欧美一区二区三区久久| 欧美母乳在线| 午夜精品久久久久久久99樱桃| 国产一区美女| 欧美激情片在线观看| 亚洲一区二区在线看| 国产亚洲精品一区二555| 久久躁日日躁aaaaxxxx| 激情婷婷亚洲| 欧美片在线播放| 亚洲欧美日韩成人高清在线一区| 韩日精品中文字幕| 欧美精品在线网站| 先锋影音久久久| 久久国产婷婷国产香蕉| 韩国av一区| 欧美日韩国产美女| 欧美一区三区三区高中清蜜桃| 国自产拍偷拍福利精品免费一| 欧美激情综合在线| 午夜精品久久久久久99热软件| 精品成人a区在线观看| 欧美日韩精品久久| 久久久久网站| 一区二区三区导航| 国产综合色产在线精品| 欧美日韩国产区| 久久久精品一品道一区| 99一区二区| 国外精品视频| 欧美日韩综合精品| 麻豆av一区二区三区| 亚洲综合三区| 亚洲人精品午夜| 国产午夜精品美女毛片视频| 欧美精品一区二区三区视频| 久久久精品五月天| 亚洲一区二区三区在线播放| 亚洲二区在线视频| 国产女精品视频网站免费| 欧美经典一区二区| 久久国产精品99久久久久久老狼| 一二三四社区欧美黄| 亚洲大胆在线| 国产日韩欧美在线视频观看| 欧美日韩成人综合天天影院| 久久精品国产99国产精品| 黄色亚洲免费| 国产精品入口麻豆原神| 欧美激情五月| 久久综合伊人| 午夜欧美视频| 日韩亚洲视频在线| 亚洲第一久久影院| 国产日韩欧美精品| 欧美体内谢she精2性欧美| 男女精品网站| 久久久久久久网站| 午夜久久99| 亚洲一区在线看| 99国产成+人+综合+亚洲欧美| 伊人久久亚洲美女图片| 国产日韩精品在线观看| 国产精品高精视频免费| 欧美女同视频| 欧美a级在线| 久久久中精品2020中文| 欧美亚洲专区| 亚洲欧美日韩国产综合精品二区| 一区二区三区精品视频在线观看| 亚洲国产一区二区三区青草影视| 国内免费精品永久在线视频| 国产精品一区=区| 国产精品高潮呻吟视频| 国产精品久久久久久久9999| 欧美日韩一二三四五区| 欧美精品免费看| 欧美成人亚洲| 久久亚洲私人国产精品va| 久久久久久香蕉网| 久久九九电影| 久久激情视频久久| 亚洲欧美日韩在线| 亚洲视频一区二区在线观看| 一区二区欧美国产| 一本色道久久综合狠狠躁篇怎么玩 | 99re亚洲国产精品| 亚洲精品欧美极品| 亚洲三级国产|