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