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

導(dǎo)致系統(tǒng)性能失敗的十個原因

系統(tǒng) 其他OS
系統(tǒng)性能的失敗必須與其他業(yè)務(wù)問題進行類似的處理。了解問題出在哪里,為什么會出問題,以及如何預(yù)防。在大多數(shù)場景中,需要每個人都了解/理解端到端全生命周期實現(xiàn)中的性能挑戰(zhàn)。他山之石,根據(jù)老碼農(nóng)的經(jīng)驗,總結(jié)了一個導(dǎo)致系統(tǒng)性能失敗的原因列表。

很多軟件系統(tǒng)由于性能問題導(dǎo)致了失敗,在開發(fā)生命周期和性能測試生命周期的每個階段都存在導(dǎo)致性能失敗的原因。有時候,性能問題是無法控制的,它不在項目經(jīng)理、技術(shù)架構(gòu)師或性能工程師的控制范圍之內(nèi)。從業(yè)務(wù)和個人層面來看,大多數(shù)的系統(tǒng)性能失敗僅僅是因為性能工程師、開發(fā)人員、 DBA、業(yè)務(wù)團隊和利益相關(guān)者之間從一開始就缺乏溝通,這導(dǎo)致了許多其他問題,這些問題將直接影響應(yīng)用程序的性能和 ROI。對任何應(yīng)用/產(chǎn)品進行有效性能測試的唯一目標是實現(xiàn)令人滿意的投資回報。性能測試和軟件工程是有風(fēng)險的,并且總是需要從開發(fā)的早期階段開始,進行大量的反復(fù)試驗。

系統(tǒng)性能的失敗必須與其他業(yè)務(wù)問題進行類似的處理。了解問題出在哪里,為什么會出問題,以及如何預(yù)防。在大多數(shù)場景中,需要每個人都了解/理解端到端全生命周期實現(xiàn)中的性能挑戰(zhàn)。他山之石,根據(jù)老碼農(nóng)的經(jīng)驗,總結(jié)了一個導(dǎo)致系統(tǒng)性能失敗的原因列表。

1. 對最終用戶反饋的置若罔聞

作為最終用戶,才會意識到的現(xiàn)有潛在性能問題。為了理解生產(chǎn)系統(tǒng)中現(xiàn)有的性能問題,需要從最終用戶那里獲得關(guān)于應(yīng)用程序在不同的預(yù)期負載條件下如何運行的持續(xù)反饋。總是有很多用戶在生產(chǎn)環(huán)境中使用某個功能,即使這一功能不能滿足他們期望的性能,他們也不會質(zhì)疑它,而且會假設(shè)它是正確的,當(dāng)用戶可以同時從多個位置訪問時,這可能是一個大問題。因此,如果想提高應(yīng)用程序的性能,就必須讓最終用戶參與進來,以獲得關(guān)于應(yīng)用程序或系統(tǒng)在生產(chǎn)環(huán)境中性能的持續(xù)反饋。當(dāng)然,與最終用戶的交互需要時間和精力,盡管如此,為了使產(chǎn)品/應(yīng)用提供最佳性能,這絕對是值得的。

2. 不關(guān)注性能目標

設(shè)定目標是確定系統(tǒng)性能的最重要方面之一。許多團隊經(jīng)常無法實現(xiàn)他們的性能目標以求改進,于是花費了大量時間修復(fù)系統(tǒng)中現(xiàn)有的和隱藏的性能問題。性能測試的完美目標應(yīng)該在最現(xiàn)實的條件下定義、設(shè)計和執(zhí)行,比如真實的瀏覽器、設(shè)備和多個地理位置。確定正確的指標來監(jiān)控,定義每個指標的最小閾值,執(zhí)行性能測試來得到基線結(jié)果,所有這些數(shù)字對于確定什么樣的變化可以創(chuàng)造性能改進是必要的。在軟件開發(fā)生命周期中盡早開始性能測試是一種很好的做法,可以首先消除瓶頸,并確保在用戶負載很重的情況下不斷檢查應(yīng)用程序的性能。

3. 不清晰及不完整的非功能性需求

收集完整的非功能性需求比功能性需求更復(fù)雜,因為它們被視為第二類甚至第三類需求。因此,它們經(jīng)常被誤解和忽視,只有少數(shù)組織將非功能性需求作為一等公民。這會在系統(tǒng)架構(gòu)/設(shè)計中導(dǎo)致嚴重的問題,經(jīng)常導(dǎo)致項目崩潰和網(wǎng)站崩潰,使系統(tǒng)無法使用。在大多數(shù)情況下,非功能性需求文檔不完整、不一致,或者在大多數(shù)不成功的項目中不存在。性能測試第一步是對應(yīng)用程序/系統(tǒng)進行可行性分析,并創(chuàng)建一組明確的非功能性需求。一個可靠的非功能性需求文檔將確定產(chǎn)品/應(yīng)用具有最佳性能的所有標準。此外,還需要:

  • 為產(chǎn)品/應(yīng)用和系統(tǒng)建立明確的性能目標和期望
  • 必須讓所有人(開發(fā)團隊、QA、管理團隊、 DBA、涉眾和業(yè)務(wù)團隊)達成一致。
  • 在技術(shù)團隊、項目團隊和業(yè)務(wù)團隊之間建立溝通,以了解生產(chǎn)環(huán)境中最終用戶的實際性能問題
  • 使用分析工具,獲取生產(chǎn)流量統(tǒng)計數(shù)據(jù),以創(chuàng)建合適的工作負載模型
  • 在收集非功能性需求時,了解應(yīng)用程序/產(chǎn)品的體系結(jié)構(gòu)、設(shè)計、問題和現(xiàn)有的性能問題
  • 非功能性需求應(yīng)該從軟件開發(fā)過程的開始并在整個生命周期中進行討論; 如果應(yīng)用程序是全新的,基線和基準測試對于性能測試是必要的。
  • 獲取所有涉及的內(nèi)部和外部組件的完整信息,并了解它們?nèi)绾瓮ㄐ?CDN、防火墻、 DNS、負載均衡器、服務(wù)器、網(wǎng)絡(luò)和系統(tǒng)、緩存等)
  • 了解應(yīng)用程序內(nèi)存占用和第三方體系結(jié)構(gòu)限制
  • 與涉眾和業(yè)務(wù)團隊交談,以了解目標并確定什么是基本的、現(xiàn)有的遺留系統(tǒng)性能問題、平臺約束和競爭對手。
  • 有必要記錄所有內(nèi)容,并讓業(yè)務(wù)和其他涉眾一起參加會議,以確定現(xiàn)有的非功能性需求是否合適,并就定義的 SLA 達成一致。

4. 糟糕的架構(gòu)設(shè)計

最初,糟糕的架構(gòu)設(shè)計只會導(dǎo)致一些小問題,這些問題在開始時會比較少,但是會逐漸累積起來。簡單維護是一個挑戰(zhàn),在一個區(qū)域中的任何更改都會破壞應(yīng)用程序的其他部分。如果在架構(gòu)設(shè)計階段作出了不恰當(dāng)?shù)臎Q定,應(yīng)用/系統(tǒng)可能會出現(xiàn)嚴重的性能下降,導(dǎo)致過多的網(wǎng)絡(luò)延遲和其他問題。由于不了解明確定義的系統(tǒng)架構(gòu),在負載測試執(zhí)行階段會存在太多不確定性和復(fù)雜性的高風(fēng)險,這可能會給性能測試和工程團隊帶來意想不到的性能問題。在軟件開發(fā)生命周期的應(yīng)用程序設(shè)計和開發(fā)階段,由于性能方面的挑戰(zhàn),軟件發(fā)布可能會推遲。

5. 對技術(shù)依賴缺乏預(yù)見

依賴關(guān)系是允許更多應(yīng)用和功能組件之間的連接。特定的操作系統(tǒng)版本、應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器或 Java 虛擬機、通用語言運行庫和框架都是依賴關(guān)系的例子。然而,有些依賴關(guān)系更為復(fù)雜,比如由 Linux、 Java 中的各種包組成的依賴關(guān)系,以及 Python 和 Ruby 等腳本語言組成的依賴關(guān)系。理解每個技術(shù)在設(shè)計和基礎(chǔ)設(shè)施方面對每個組件的依賴性,使用哪些技術(shù),以及使用哪些框架和工具來開發(fā)應(yīng)用程序,對于系統(tǒng)性能來說,以期望的結(jié)果完成性能測試是至關(guān)重要的。

6.新功能的過度擴展

過度的新功能擴展是軟件開發(fā)人員經(jīng)常遇到的一個主要障礙。處理這種情況的有效方法是定期舉行面向用戶體驗的會議和討論,每個團隊成員都參與其中,以驗證每個功能,并確保它有意義地解決了設(shè)定的問題。性能測試團隊必須從規(guī)劃發(fā)布的時間表開始,并且應(yīng)該主動地公布需要的時間,以防在發(fā)布前的最后一分鐘添加任何新功能。如果項目有一個固定的最后期限,就需要提前計劃環(huán)境需求,以確保意外的環(huán)境延遲不會影響性能測試的進度。如果在最后一刻繼續(xù)添加了新功能,交付的質(zhì)量大概率會受到影響。最終,客戶可能會拒絕最終的可交付成果,從而產(chǎn)生返工和額外資源短缺的情況。

7. 推崇好大喜功

在性能測試執(zhí)行的最初版本中,直接關(guān)注目標 SLA 以達到可接受的限制可能是不現(xiàn)實的。性能測試是一個迭代過程,需要大量持續(xù)的性能測試來識別和消除所有的性能瓶頸。需要花費額外的時間優(yōu)化每一行代碼和組件,以提高系統(tǒng)/應(yīng)用程序的性能。在性能測試中,每個 SLA 和 KPI 都是必要的,并且只有通過持續(xù)的性能測試、代碼分析、內(nèi)存分析、性能工程、監(jiān)控以及客戶端和服務(wù)器端的調(diào)優(yōu)才能獲得所需的響應(yīng)時間、吞吐量、網(wǎng)絡(luò)延遲和資源利用率,這有時需要花費很長的時間。分析所有的性能結(jié)果和降低,并從用戶級、操作系統(tǒng)級、系統(tǒng)級、網(wǎng)絡(luò)級和服務(wù)器級使用適當(dāng)?shù)闹笜耸占瘮?shù)據(jù),對所有導(dǎo)致性能問題根本原因的分析是至關(guān)重要的。

8. 容量規(guī)劃的匱乏

許多基礎(chǔ)設(shè)施未能實施有效的規(guī)劃,簡單地說,容量規(guī)劃過程并不簡單直接。我們可以創(chuàng)建一個場景、添加流量、評估結(jié)果、解決性能問題,然后重復(fù),直到滿意為止,但是實際的問題往往伴隨著糟糕的容量規(guī)劃。糟糕的容量計劃增加了性能缺失的可能性,風(fēng)險會完全暴露,最終導(dǎo)致失敗。所有這些都可以通過仔細的容量規(guī)劃來適當(dāng)解決。來自基礎(chǔ)設(shè)施領(lǐng)域的系統(tǒng)工程師、來自數(shù)據(jù)庫領(lǐng)域的DBA和來自應(yīng)用程序開發(fā)領(lǐng)域的程序員是最需要參與有效容量規(guī)劃過程的三類人。許多人有時會將容量管理與容量計劃混淆,不能準確地預(yù)測和錯誤預(yù)測未來的工作負載。需要確保識別準確的資源需求(CPU、內(nèi)存、磁盤空間和網(wǎng)絡(luò)帶寬) ,以支持當(dāng)前和未來增加的工作負載,以滿足業(yè)務(wù)需求并避免容量規(guī)劃失敗。使用正確的度量標準進行持續(xù)監(jiān)控將幫助我們進行有效的容量規(guī)劃,并且還有助于處理流量增加后未預(yù)料到的工作負載。

9. 性能問題沒有完全解決

當(dāng)應(yīng)用的用戶量增加時,往往會看到更多的性能問題。隨著時間的推移,系統(tǒng)中隱藏的性能問題和已知的性能問題是導(dǎo)致性能持續(xù)下降的主要原因。必須與項目中的每個團隊成員討論確定的每個瓶頸,以成功地確保客戶 SLA 的性能。當(dāng)涉及到性能問題時,每一秒都很重要,如果忽略現(xiàn)有的性能問題,系統(tǒng)將會變慢,甚至更糟。例如,某些服務(wù)可能會停止在嚴重超載的服務(wù)器上運行,從而使應(yīng)用程序無法訪問。找出監(jiān)控數(shù)據(jù),檢查服務(wù)的健康狀態(tài),一般就能找出性能問題的常見原因。

10. 方法論的缺失

缺乏合適的方法來建立性能測試策略及其覆蓋范圍的話,會很難獲得有效的性能測試結(jié)果。理解性能測試方法和過程將幫助團隊中的每個工程師,特別是當(dāng)性能問題出現(xiàn)時,為每個發(fā)生問題的瓶頸提供正確的修復(fù)。性能測試過程應(yīng)該有良好的計劃和定義,并且文檔化。好的文檔可以在開發(fā)人員、 DBA和QA之間建立有效的溝通。隨著軟件變得更加復(fù)雜和多元化,并且有越來越多的平臺和位置需要測試,需要有一個強有力的性能測試方法,以確保正在開發(fā)的軟件系統(tǒng)經(jīng)過充分的性能測試,以確保它們滿足特定的業(yè)務(wù)要求,并且能夠在所有預(yù)期的負載條件和環(huán)境中高性能地運行。

責(zé)任編輯:武曉燕 來源: 喔家ArchiSelf
相關(guān)推薦

2019-11-28 10:34:37

IT技術(shù)創(chuàng)新

2020-06-11 09:56:45

數(shù)字化轉(zhuǎn)型CIO首席信息官

2024-09-24 07:57:55

SQL錯誤??EXPLAIN?

2021-09-29 15:52:15

數(shù)字化轉(zhuǎn)型CIO數(shù)字化

2017-07-20 14:03:23

2010-06-18 09:17:51

jQuery

2023-12-25 10:53:54

機器學(xué)習(xí)模型性能

2024-09-04 14:28:20

Python代碼

2024-12-31 12:20:00

Redis復(fù)制延遲數(shù)據(jù)庫

2021-07-16 11:57:19

公共云云計算云服務(wù)

2019-12-26 12:11:50

安全主管網(wǎng)絡(luò)安全CISO

2024-11-18 19:00:29

2018-01-23 08:12:37

數(shù)字化轉(zhuǎn)型CIO企業(yè)轉(zhuǎn)型

2024-12-02 14:28:17

JavaScriptWeb開發(fā)

2024-12-18 15:27:10

2013-05-17 09:49:24

敏捷開發(fā)開發(fā)項目項目

2013-08-23 11:03:28

Windows 8.1

2021-05-12 09:00:00

WebReactJavaScript

2022-05-04 20:51:28

API設(shè)計高性能

2010-07-02 14:21:02

Exchange 20
點贊
收藏

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

主站蜘蛛池模板: 国产精品久久av | 久久精品视频亚洲 | 国产成人网 | 久久久精品一区 | 亚洲九九 | 欧美日本韩国一区二区 | 国产亚洲精品综合一区 | 91精品国产欧美一区二区成人 | 二区不卡 | a免费视频 | 97久久精品午夜一区二区 | 成人影院免费视频 | 亚洲啊v | 国产一区二区精品自拍 | 色欧美综合 | 中文字幕 在线观看 | 天天干天天想 | 日韩精品久久一区二区三区 | 精一区二区 | 国产精品美女久久久久久免费 | 亚洲一区二区三区高清 | 99久久婷婷国产综合精品电影 | 欧美激情视频一区二区三区在线播放 | 亚洲欧美高清 | 草比网站 | 看亚洲a级一级毛片 | 国产精品一区二区视频 | 欧美一级免费黄色片 | 玖玖综合在线 | www国产成人免费观看视频,深夜成人网 | 成年女人免费v片 | 久久久久久久久91 | 色婷婷国产精品 | 国产成人精品一区二区三区视频 | 一二区视频 | 久久最新精品视频 | 久久精品二区亚洲w码 | 国产视频线观看永久免费 | 日韩av一区二区在线观看 | 欧美日韩精品久久久免费观看 | 亚洲综合色视频在线观看 |