自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

新技能Get:用雅虎云服務(wù)基準(zhǔn)衡量云應(yīng)用性能

云計(jì)算
在同一個(gè)云計(jì)算或跨不同云計(jì)算的環(huán)境下,對運(yùn)行其中的不同類型數(shù)據(jù)庫應(yīng)用程序進(jìn)行性能比較將是特別具有挑戰(zhàn)性的一項(xiàng)工作。本文中我們將介紹如何用雅虎云服務(wù)基準(zhǔn)衡量云應(yīng)用性能。
對云計(jì)算供應(yīng)商成本進(jìn)行成本比較是很容易的;但是對應(yīng)用程序進(jìn)行性能比較則不是那么簡單的了。在同一個(gè)云計(jì)算或跨不同云計(jì)算的環(huán)境下,對運(yùn)行其中的不同類型數(shù)據(jù)庫應(yīng)用程序進(jìn)行性能比較將是特別具有挑戰(zhàn)性的一項(xiàng)工作。雅虎云計(jì)算服務(wù)基準(zhǔn)(YCSB)是專為幫助用戶了解不同云計(jì)算數(shù)據(jù)庫性能以及在實(shí)際負(fù)載下存儲數(shù)據(jù)性能表現(xiàn)的一個(gè)測試框架。這個(gè)測試框架的源代碼可從GitHub下載獲得。
 
雅虎云計(jì)算服務(wù)基準(zhǔn)工具包括了兩個(gè)重要的組成部分:一個(gè)工作負(fù)載生成器和一組生成器生成的工作負(fù)載,以及針對大量NoSQL數(shù)據(jù)庫的接口,其中包括Cassandra、DynamoDB、Hbase、MongoDB、Redis以及甲骨文公司的NoSQL數(shù)據(jù)庫。當(dāng)然,它還配有一個(gè)用于關(guān)系型數(shù)據(jù)庫的JDBC接口。
 
當(dāng)面臨進(jìn)行應(yīng)用程序架構(gòu)決策時(shí),諸如YCSB這樣的數(shù)據(jù)庫測試基準(zhǔn)是特別有用的。例如,一個(gè)不再滿足性能需求的現(xiàn)有數(shù)據(jù)庫應(yīng)用程序可能會迫使你考慮擴(kuò)容硬件資源或者變更基礎(chǔ)數(shù)據(jù)庫。如果額外的硬件能夠?qū)崿F(xiàn)近乎線性的性能提升(例如,雙倍的服務(wù)器可實(shí)現(xiàn)雙倍的性能),那么硬件擴(kuò)容將是一個(gè)合適的選擇。但是,硬件擴(kuò)容并不總是能夠幫助我們實(shí)現(xiàn)性能的線性提升,因?yàn)椴蛔尮芾韱T充分發(fā)揮額外硬件資源優(yōu)勢的應(yīng)用程序中還存在著其他的性能提升瓶頸。
 
如果你更換了你的數(shù)據(jù)庫,那么你就會有很多的選擇項(xiàng),特別是如果你選擇使用NoSQL數(shù)據(jù)庫來取代之前的關(guān)系型數(shù)據(jù)庫。雖然一開始的性能提升可能并不明顯,但是一些特定類型的NoSQL數(shù)據(jù)庫將說明問題。例如,社交網(wǎng)絡(luò)分析就正好適合使用圖形數(shù)據(jù)庫。如果用戶不需要支持復(fù)雜查詢應(yīng)用,那么諸如Cassandra和Amazon DynamoDB這樣的關(guān)鍵值數(shù)據(jù)庫則可能比MongoDB這樣的文檔存儲更為適合。測試基準(zhǔn)可以通過測試數(shù)據(jù)來幫助你決定哪一個(gè)數(shù)據(jù)庫最適合你的需求。
 
運(yùn)行YCSB的***步就是確定你所希望測試的數(shù)據(jù)庫類型以及希望在數(shù)據(jù)庫上運(yùn)行的工作負(fù)載。一旦你已經(jīng)創(chuàng)建了你的數(shù)據(jù)庫,那么你必須創(chuàng)建一個(gè)與你的目標(biāo)工作負(fù)載相關(guān)的計(jì)劃。計(jì)劃的實(shí)施細(xì)節(jié)將隨數(shù)據(jù)庫類型的不同而有所變化。例如,可能在MySQL中創(chuàng)建一個(gè)數(shù)據(jù)表,而在Cassandra中創(chuàng)建一個(gè)列族和關(guān)鍵值空間。
 
測試基準(zhǔn)是比較數(shù)據(jù)庫性能的一大利器,但是工作負(fù)載也必須配合你的實(shí)際生產(chǎn)負(fù)載,當(dāng)選擇數(shù)據(jù)庫時(shí),除測試結(jié)果外還需要考慮其他的設(shè)計(jì)考量。你可以運(yùn)行由YCSB提供的核心工作負(fù)載或者創(chuàng)建你自己的。核心工作負(fù)載包括一組六個(gè)具有不同讀/寫操作特性的工作負(fù)載。一些工作負(fù)載是以更新升級為主的,而另一些則是測試讀操作性能的。如果你創(chuàng)建你自己的工作負(fù)載,那么你就必須開發(fā)一個(gè)Java應(yīng)用程序,以便于擴(kuò)展現(xiàn)有YCSB類生成數(shù)據(jù)并執(zhí)行讀/寫操作。
 
工作負(fù)載是使用參數(shù)開關(guān)進(jìn)行設(shè)置的,因此你是可以在不同的線程數(shù)和單位時(shí)間運(yùn)行數(shù)下測試工作負(fù)載的。它分為了兩個(gè)階段:創(chuàng)建數(shù)據(jù)的導(dǎo)入階段,和執(zhí)行特定工作負(fù)載下操作然后輸出一組性能統(tǒng)計(jì)數(shù)據(jù)的執(zhí)行階段。除了運(yùn)行時(shí)間和單位時(shí)間的運(yùn)行次數(shù)外,還有很多的延遲測量數(shù)據(jù),其中包括平均值、***值、最小值、第95個(gè)百分點(diǎn)的延遲數(shù)和99個(gè)百分點(diǎn)的延遲數(shù)。
 
如果你有一個(gè)現(xiàn)成的應(yīng)用程序,它可能會從性能監(jiān)控工具中收集數(shù)據(jù)以確定你的應(yīng)用程序中讀、寫以及更新操作的運(yùn)行數(shù)據(jù)。如果你使用了一個(gè)關(guān)系型數(shù)據(jù)庫,那么則需特別關(guān)注運(yùn)行次數(shù)最頻繁和運(yùn)行時(shí)間最長的查詢操作。
 
有很好的候選對象可供在自定義工作負(fù)載中使用。
 
如果你開發(fā)了一個(gè)新應(yīng)用程序,那么你應(yīng)當(dāng)在正式把應(yīng)用程序投入生產(chǎn)之前運(yùn)行一系列的測試基準(zhǔn)以便于對大量的不同的可能生產(chǎn)負(fù)載進(jìn)行評估。這可以為不同條件下不同數(shù)據(jù)庫的性能表現(xiàn)評估提供有價(jià)值的信息。如果你希望了解大部分時(shí)間的中等工作負(fù)載以及設(shè)計(jì)需求中偶爾發(fā)生的高峰工作負(fù)載的運(yùn)行情況,可針對兩種情況進(jìn)行測試。理想情況下,你所選擇的數(shù)據(jù)庫將在所有預(yù)期的情況下性能表現(xiàn)良好。
 
你還應(yīng)當(dāng)根據(jù)使用頻率來選擇數(shù)據(jù)庫。如果一個(gè)數(shù)據(jù)庫在大多數(shù)預(yù)期的工作負(fù)載下能夠表現(xiàn)良好,但在一個(gè)設(shè)計(jì)范圍外或偶爾發(fā)生的工作負(fù)載下表現(xiàn)糟糕,那么你可能會選擇這個(gè)數(shù)據(jù)庫。
責(zé)任編輯:鳶瑋 來源: TechTarget中國編譯
相關(guān)推薦

2019-09-10 15:18:44

云計(jì)算

2021-07-08 22:55:39

Python單詞統(tǒng)計(jì)

2021-07-09 09:31:04

getPython代碼

2015-03-11 15:31:10

性能魔方mmtrix應(yīng)用性能APM

2015-07-29 15:06:21

2015-08-18 09:58:17

云計(jì)算測試基準(zhǔn)云服務(wù)

2014-09-16 13:33:50

大數(shù)據(jù)

2017-07-10 13:52:47

移動應(yīng)用性能匠心

2013-06-28 10:21:48

云應(yīng)用性能管理APM應(yīng)用性能管理

2014-07-21 12:54:45

聽云基調(diào)網(wǎng)絡(luò)

2014-01-16 09:10:08

云計(jì)算云管理應(yīng)用性能管理

2014-11-24 11:12:45

云智慧應(yīng)用性能管理APM

2015-11-17 18:06:22

云智慧PHP應(yīng)用性能

2012-06-21 14:25:23

惠普應(yīng)用性能管理APM

2014-06-25 12:50:31

云智慧

2015-11-26 16:19:44

云智慧

2012-08-15 09:31:23

虛擬數(shù)據(jù)中心VPNOpenflow

2014-07-28 17:23:51

基調(diào)網(wǎng)絡(luò)聽云

2014-10-24 16:47:14

豌豆莢

2014-08-28 03:44:30

mAPM聽云App移動應(yīng)用性能監(jiān)測
點(diǎn)贊
收藏

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