點(diǎn)擊查看:2015年軟考《系統(tǒng)架構(gòu)設(shè)計師》備考資料匯總
事務(wù)原則
事務(wù)可以提供重要的支持,以確保不會違反業(yè)務(wù)規(guī)則并維護(hù)數(shù)據(jù)一致性。事務(wù)可以確保一組相關(guān)任務(wù)作為一個單元成功或失敗。您可以使用事務(wù)來維護(hù)本地數(shù)據(jù)庫和其他資源(包括消息隊列的隊列)之間的一致性。對于需要在網(wǎng)絡(luò)連接不可用時使用脫機(jī)緩存數(shù)據(jù)的智能客戶端應(yīng)用程序,您應(yīng)該將事務(wù)性數(shù)據(jù)排隊,并且在網(wǎng)絡(luò)連接可用時將其與服務(wù)器進(jìn)行同步。您 應(yīng)該避免使用涉及到位于網(wǎng)絡(luò)上的資源的分布式事務(wù),因?yàn)檫@些情況可能導(dǎo)致與不斷變化的網(wǎng)絡(luò)和資源響應(yīng)時間有關(guān)的性能問題。如果您的應(yīng)用程序需要在事務(wù)中涉 及到位于網(wǎng)絡(luò)上的資源,則應(yīng)該考慮使用補(bǔ)償事務(wù),以便使您的應(yīng)用程序能夠在本地事務(wù)失敗時取消以前的請求。盡管補(bǔ)償事務(wù)在某些情況下可能不適用,但它們使 您的應(yīng)用程序能夠按照松耦合方式在事務(wù)的上下文內(nèi)與網(wǎng)絡(luò)資源交互,從而減少了不在本地計算機(jī)控制之下的資源對應(yīng)用程序的性能造成不利影響的可能性。
制定性能目標(biāo)
當(dāng)您設(shè)計和規(guī)劃智能客戶端應(yīng)用程序時,您應(yīng)該仔細(xì)考慮性能方面的要求,并且定義合適的性能目標(biāo)。在定義這些目標(biāo)時,請考慮您將如何度量應(yīng)用程序的實(shí)際性能。 您的性能度量標(biāo)準(zhǔn)應(yīng)該明確體現(xiàn)應(yīng)用程序的重要性能特征。請努力避免無法準(zhǔn)確度量的模糊或不完整的目標(biāo),例如,“應(yīng)用程序必須快速運(yùn)行”或“應(yīng)用程序必須快 速加載”。您需要了解應(yīng)用程序的性能和可伸縮性目標(biāo),以便您可以設(shè)法滿足這些目標(biāo)并且圍繞它們來規(guī)劃您的測試。請確保您的目標(biāo)是可度量的和可驗(yàn)證的。定義良好的性能度量標(biāo)準(zhǔn)使您可以準(zhǔn)確跟蹤應(yīng)用程序的性能,以便您可以確定應(yīng)用程序是否能夠滿足它的性能目標(biāo)。這些度量標(biāo)準(zhǔn)應(yīng)該包括在應(yīng)用程序測試計劃中,以便可以在應(yīng)用程序的測試階段度量它們。本 節(jié)重點(diǎn)討論與智能客戶端應(yīng)用程序相關(guān)的特定性能目標(biāo)的定義。如果您還要設(shè)計和生成客戶端應(yīng)用程序?qū)⑾牡木W(wǎng)絡(luò)服務(wù),則您還需要為這些服務(wù)定義適當(dāng)?shù)男阅苣?標(biāo)。在此情況下,您應(yīng)該確?紤]整個系統(tǒng)的性能要求,以及應(yīng)用程序各個部分的性能與其他部分以及整個系統(tǒng)之間存在怎樣的關(guān)系。
性能調(diào)整和診斷
在設(shè)計和實(shí)現(xiàn)階段處理性能問題是實(shí)現(xiàn)應(yīng)用程序性能目標(biāo)的最劃算的方法。但是,您只有在開發(fā)階段經(jīng)常且盡早測試應(yīng)用程序的性能,才能真正有效地優(yōu)化應(yīng)用程序的性能。盡管針對性能進(jìn)行設(shè)計和測試都很重要,但在這些早期階段優(yōu)化每個組件和所有代碼不是有效的資源用法,因此應(yīng)該予以避免。所以,應(yīng)用程序可能存在您在設(shè)計階段 未預(yù)料到的性能問題。例如,您可能遇到由于兩個系統(tǒng)或組件之間的無法預(yù)料的交互而產(chǎn)生的性能問題,或者您可能使用原來存在的、未按希望的方式執(zhí)行的代碼。 在此情況下,您需要追究性能問題的根源,以便您可以適當(dāng)?shù)亟鉀Q該問題。本節(jié)討論一些將幫助您診斷性能問題以及調(diào)整應(yīng)用程序以獲得最佳性能的工具和技術(shù)。
性能調(diào)整過程
對應(yīng)用程序進(jìn)行性能調(diào)整是一個迭代過程。該過程由一些重復(fù)執(zhí)行直至應(yīng)用程序滿足其性能目標(biāo)的階段組成。
性能調(diào)整要求您完成下列過程:
1)建立基準(zhǔn)。在您開始針對性能調(diào)整應(yīng)用程序時,您必須具有與性能目標(biāo)、目標(biāo)和度量標(biāo)準(zhǔn)有關(guān)的定義良好的基準(zhǔn)。這可能包括應(yīng)用程序工作集大小、加載數(shù)據(jù)(例如,目錄)的時間、事務(wù)持續(xù)時間等等。
2)收集數(shù)據(jù)。 您將需要通過針對您已經(jīng)定義的性能目標(biāo)度量應(yīng)用程序的性能,來對應(yīng)用程序性能進(jìn)行評價。性能目標(biāo)應(yīng)該體現(xiàn)特定的且可度量的度量標(biāo)準(zhǔn),以使您可以在任何時刻 量化應(yīng)用程序的性能。要使您可以收集性能數(shù)據(jù),您可能必須對應(yīng)用程序進(jìn)行規(guī)范,以便可以發(fā)布和收集必需的性能數(shù)據(jù)。下一節(jié)將詳細(xì)討論您可以用來完成這一工 作的一些選項(xiàng)。
3)分析結(jié)果。 在收集應(yīng)用程序的性能數(shù)據(jù)之后,您將能夠通過確定哪些應(yīng)用程序功能要求最多的關(guān)注,來區(qū)分性能調(diào)整工作的輕重緩急。此外,您可以使用該數(shù)據(jù)來確定任何性能 瓶頸的位置。通常,您將只能夠通過收集更詳細(xì)的性能數(shù)據(jù)來確定瓶頸的確切位置:例如,通過使用應(yīng)用程序規(guī)范。性能分析工具可能幫助您識別瓶頸。
4)調(diào)整應(yīng)用程序。在已經(jīng)識別瓶頸之后,您可能需要修改應(yīng)用程序或其配置,以便嘗試解決問題。您應(yīng)該致力于將更改降低至最低限度,以便可以確定更改對應(yīng)用程序性能的影響。如果您同時進(jìn)行多項(xiàng)更改,可能難以確定每項(xiàng)更改對應(yīng)用程序的總體性能的影響。
5)測試和度量。 在更改應(yīng)用程序或其配置之后,您應(yīng)該再次測試它以確定更改具有的效果,并且使新的性能數(shù)據(jù)得以收集。性能工作通常要求進(jìn)行體系結(jié)構(gòu)或其他具有較高影響的更 改,因此徹底的測試是很關(guān)鍵的。您的應(yīng)用程序測試計劃應(yīng)該針對預(yù)料到的所有情況,在配置了適當(dāng)硬件和軟件的客戶計算機(jī)上演習(xí)應(yīng)用程序所實(shí)現(xiàn)的完整范圍的功 能。如果您的應(yīng)用程序使用網(wǎng)絡(luò)資源,則應(yīng)該加載這些資源,以便您可以獲得有關(guān)應(yīng)用程序在此類環(huán)境中所具有的性能的準(zhǔn)確度量。上述過程將使您可以通過針對特定目標(biāo)度量應(yīng)用程序的總體性能,來重點(diǎn)解決特定的性能問題。
相關(guān)推薦:
2015軟考《系統(tǒng)分析師》練習(xí)題及答案匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |