成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

云應(yīng)用容器的向左監(jiān)控方法

云計算
在彈性容器化環(huán)境中,擁有低效代碼是非常昂貴的。通過向左監(jiān)控方法和可觀測性解決方案,可以幫助解決這個問題。

在彈性容器化環(huán)境中,擁有低效代碼是非常昂貴的。通過向左監(jiān)控方法和可觀測性解決方案,可以幫助解決這個問題。

向左移動(Shift-left)是一種軟件開發(fā)和運維的方法,強調(diào)在軟件開發(fā)生命周期的早期進行測試、監(jiān)控和自動化。向左移動的目標是在問題出現(xiàn)之前及時發(fā)現(xiàn)并迅速解決,以防止問題的發(fā)生。

當您早期識別到可擴展性問題或錯誤時,解決起來更快、更具成本效益。將低效代碼轉(zhuǎn)移到云容器中可能非常昂貴,因為它可能會激活自動擴展功能,增加您的月度費用。此外,在您能夠識別、隔離和修復問題之前,您將處于緊急狀態(tài)。

問題陳述

我想給您演示一個案例,我們成功地避免了一個潛在的應(yīng)用程序問題,在生產(chǎn)環(huán)境中可能會造成重大影響。

2022年我們的Kubernetes報告提供了關(guān)于團隊如何利用Kubernetes、AI中的K8s、集群可觀測性方面的見解等內(nèi)容。

我正在審查最近應(yīng)用程序更改后的UAT基礎(chǔ)架構(gòu)的性能報告。這是一個使用MariaDB作為后端、運行在Apache反向代理和AWS應(yīng)用負載均衡器后面的Spring Boot微服務(wù)。新功能成功集成,并且通過了所有UAT測試用例。然而,我注意到MariaDB性能儀表板中的性能圖表與部署前的模式有所偏離。

以下是事件的時間軸。

8月6日14:13,應(yīng)用程序使用包含嵌入式Tomcat的新Spring Boot jar文件重新啟動。

14:52,MariaDB的查詢處理速率從每秒0.1增加到88次查詢/秒,然后增加到301次查詢/秒。

此外,系統(tǒng)CPU利用率從1%提高到6%。

最后,JVM在G1 Young Generation Garbage Collection上花費的時間從0%增加到0.1%,并保持在這個水平。

該應(yīng)用程序在UAT階段異常地發(fā)出300次查詢/秒,遠遠超出了其設(shè)計要求。新功能導致數(shù)據(jù)庫連接增加,因此查詢量顯著增加。然而,監(jiān)控儀表板顯示,在部署新版本之前,問題措施是正常的。

解決方案

這是一個使用JPA查詢MariaDB的Spring Boot應(yīng)用程序。該應(yīng)用程序的設(shè)計是在兩個容器上運行以實現(xiàn)最小負載,但可以擴展到十個容器。

如果一個單獨的容器可以生成每秒300次查詢,那么如果所有十個容器都運行,它可以處理每秒3000次查詢嗎?數(shù)據(jù)庫能否擁有足夠的連接來滿足應(yīng)用程序其他部分的需求?

我們別無選擇,只能返回開發(fā)人員的工作臺,檢查Git中的更改。

新的更改將從一個表中獲取少量記錄并進行處理。這是我們在服務(wù)類中觀察到的代碼。

List<X> findAll = this.xRepository.findAll();

不,使用Spring的CrudRepository的findAll()方法而沒有分頁是低效的。分頁有助于減少從數(shù)據(jù)庫檢索數(shù)據(jù)所需的時間,通過限制獲取的數(shù)據(jù)量。這是我們主要的關(guān)系型數(shù)據(jù)庫(RDBMS)教育所教導我們的。此外,分頁有助于保持內(nèi)存使用低,以防止應(yīng)用程序由于數(shù)據(jù)過載而崩潰,并減少Java虛擬機的垃圾回收工作量,正如前面問題陳述中提到的。

這個測試是在一個容器中使用2000條記錄進行的。如果這段代碼被部署到生產(chǎn)環(huán)境中,其中每個容器有約20萬條記錄,那么可能會給團隊帶來很大的壓力和憂慮。

應(yīng)用程序在將方法添加WHERE子句后重新構(gòu)建。

List<X> findAll =
this.xRepository.findAllByY(Y);

恢復了正常運行。每秒查詢數(shù)從300降至30,垃圾收集的工作量恢復到原始水平。此外,系統(tǒng)的CPU使用率降低。

學習和總結(jié)

任何從事站點可靠性工程(SRE)工作的人都會理解這個發(fā)現(xiàn)的重要性。我們能夠在不提高嚴重性1級別的情況下采取行動。如果這個有缺陷的軟件包部署到生產(chǎn)環(huán)境中,可能會觸發(fā)客戶的自動擴展閾值,即使沒有額外的用戶負載,也會啟動新的容器。

這個故事有三個主要的要點。

首先,最好從一開始就啟用一個可觀測性解決方案,因為它可以提供事件的歷史記錄,用于識別潛在問題。如果沒有這個歷史記錄,我可能不會認真對待0.1%的垃圾回收百分比和6%的CPU消耗,代碼可能會發(fā)布到生產(chǎn)環(huán)境中,造成災(zāi)難性的后果。擴大監(jiān)控解決方案的范圍到UAT服務(wù)器有助于團隊在問題發(fā)生前識別潛在根本原因并防止問題發(fā)生。

其次,在測試過程中應(yīng)存在與性能相關(guān)的測試用例,并由具有可觀測性經(jīng)驗的人員進行審查。這將確保對代碼的功能和性能進行測試。

第三,云原生的性能跟蹤技術(shù)對于接收有關(guān)高利用率、可用性等方面的警報非常有用。為了實現(xiàn)可觀測性,您可能需要準備合適的工具和專業(yè)知識。祝編碼愉快!

責任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2019-01-10 14:35:14

云計算監(jiān)控企業(yè)

2022-08-24 16:47:01

云原生安全通信

2019-09-02 15:55:20

云計算監(jiān)控安全

2017-06-08 12:29:40

云實施應(yīng)用SaaS

2022-05-05 16:37:44

云原生網(wǎng)絡(luò)安全

2014-12-05 11:23:28

docker騰訊云

2012-06-20 15:21:11

HTML5Opera歐朋瀏覽器

2012-06-27 17:17:55

HTML5

2020-04-11 22:49:47

開源應(yīng)用程序監(jiān)控工具

2025-03-19 10:43:46

2011-08-08 09:35:30

云計算

2017-06-14 09:00:40

容器開發(fā)人員云應(yīng)用

2021-04-20 08:31:59

應(yīng)用監(jiān)控高可用

2019-03-26 15:53:08

華為云

2023-11-30 22:25:40

云計算云原生

2018-07-26 15:34:05

2015-08-18 16:34:55

容器

2015-08-20 09:00:48

紅帽Linux容器開源

2022-05-24 10:27:39

博云容器云運維

2011-03-29 11:27:37

監(jiān)控Zabbix
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品一区二区久久 | 国产精品性做久久久久久 | 亚洲精品乱码久久久久久蜜桃91 | 日韩欧美在线观看 | 国产高清在线精品 | 毛片视频网站 | 久久一区二区免费视频 | 欧美日韩高清在线一区 | 国产精品一区二区av | 91精品国产91久久综合桃花 | 国产成人在线播放 | 欧美日韩毛片 | 国产免费一区二区 | 亚洲风情在线观看 | 亚洲国产欧美日韩 | 搞黄网站在线观看 | 久久精品亚洲 | 欧美日韩一区二区在线 | 狠狠干夜夜草 | 99热播精品| 久久国产一区二区 | 亚洲视频免费观看 | 国产精品日产欧美久久久久 | 极品久久 | 91精品国产综合久久久亚洲 | 日韩精品免费在线观看 | 亚洲国产精品99久久久久久久久 | 在线国产一区二区 | 美国黄色一级片 | 成人av高清在线观看 | av网站在线播放 | 亚洲精品一区二区三区在线 | 99久久国产免费 | www.中文字幕av| 91精品一区 | 日韩尤物视频 | 免费小视频在线观看 | 午夜精品网站 | 69精品久久久久久 | 天天综合永久 | 成人黄色网址大全 |