黃金法則:MySQL基準(zhǔn)測(cè)試最佳實(shí)踐
MySQL基準(zhǔn)測(cè)試在數(shù)據(jù)庫(kù)性能優(yōu)化中是一個(gè)非常重要的分支。本文目的在于讓讀者對(duì)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)有一個(gè)基本的了解,掌握MySQL以及如何管理使用Linux。文中討論了MySQL性能因素以及如何測(cè)試CPU性能,同時(shí)使用具體的例子來(lái)展示幾種實(shí)用的測(cè)試MySQL系統(tǒng)的實(shí)踐方法。
為什么數(shù)據(jù)庫(kù)管理員要在MySQL系統(tǒng)上運(yùn)行基準(zhǔn)測(cè)試呢?答案顯而易見,倘若在一個(gè)模擬的實(shí)時(shí)環(huán)境中系統(tǒng)設(shè)計(jì)能夠承受住壓力并且滿足性能目標(biāo),那么數(shù)據(jù)庫(kù)管理員也無(wú)需大費(fèi)周章了。
在深入了解MySQL基準(zhǔn)測(cè)試程序機(jī)制前,弄清楚什么是基準(zhǔn)測(cè)試,這一點(diǎn)非常重要。簡(jiǎn)單來(lái)說(shuō),基準(zhǔn)測(cè)試是“運(yùn)行計(jì)算機(jī)程序或操作行為,通過(guò)運(yùn)行一些標(biāo)準(zhǔn)測(cè)試和一系列的映襯來(lái)評(píng)估對(duì)象的相對(duì)性能。”
CPU基準(zhǔn)測(cè)試主要用來(lái)測(cè)試硬件和運(yùn)算能力,而軟件基準(zhǔn)測(cè)試更多的則是測(cè)試概念元素。
在我們的案例中,軟件基準(zhǔn)測(cè)試中數(shù)據(jù)庫(kù)管理系統(tǒng)基準(zhǔn)測(cè)試是一個(gè)很好的例子。這種類型的測(cè)試目的是衡量數(shù)據(jù)庫(kù)管理系統(tǒng)的吞吐量和響應(yīng)時(shí)間。最終的測(cè)試結(jié)果會(huì)以分?jǐn)?shù)顯示,而這些分?jǐn)?shù)主要用來(lái)比較。
數(shù)據(jù)庫(kù)管理員一般很難分清基準(zhǔn)測(cè)試和壓力測(cè)試之間的區(qū)別。這一點(diǎn)我們可以理解,因?yàn)檫@兩種條件有著類似的目標(biāo),即數(shù)據(jù)庫(kù)容量。兩者明顯的不同點(diǎn)在于:基準(zhǔn)測(cè)試給出的結(jié)果,以數(shù)字呈現(xiàn),能夠允許你在每個(gè)基準(zhǔn)測(cè)試和服務(wù)器/系統(tǒng)中調(diào)整設(shè)置,這是可以改變的,同時(shí)也能反應(yīng)出數(shù)據(jù)庫(kù)管理員是成功還是失敗。而壓力測(cè)試則是把系統(tǒng)推向極端邊緣用以了解系統(tǒng)的極限有多大。
由于本文重點(diǎn)討論MySQL基準(zhǔn)測(cè)試而非壓力測(cè)試,所有后者我們不再進(jìn)行討論。在MySQL服務(wù)器運(yùn)行基準(zhǔn)測(cè)試時(shí),性能因素是數(shù)據(jù)庫(kù)管理員必須考慮的問(wèn)題。那么,有哪些性能因素?答案就是:吞吐量,延遲時(shí)間和可擴(kuò)展性。將這三個(gè)因素結(jié)合在一起,代表了MySQL服務(wù)器的整體性能。
那么我們?nèi)绾芜M(jìn)行MySQL基準(zhǔn)測(cè)試呢?為了獲取正確的結(jié)果,請(qǐng)遵守以下一些規(guī)則:
應(yīng)該多次檢查輸入的數(shù)據(jù);
應(yīng)該多次運(yùn)行基準(zhǔn)測(cè)試,至少5次;
重新啟動(dòng)MySQL服務(wù)器以消除任何不必要的緩存因素;
數(shù)據(jù)庫(kù)管理員要有興趣、認(rèn)真對(duì)待進(jìn)程。
下面有幾個(gè)影響基準(zhǔn)測(cè)試的例子,我們?cè)谌魏螘r(shí)候都應(yīng)當(dāng)避免這種情況出現(xiàn):
在一臺(tái)單一的虛擬機(jī)上運(yùn)行基準(zhǔn)測(cè)試;
不可忽視不同網(wǎng)絡(luò)基礎(chǔ)設(shè)施的影響;
使用MySQL服務(wù)器默認(rèn)設(shè)置;
無(wú)需根據(jù)服務(wù)器配置特定的和獨(dú)特的業(yè)務(wù)需求;
無(wú)法消除緩存問(wèn)題;
運(yùn)行基準(zhǔn)測(cè)試時(shí),忽視任何不必要的緩存問(wèn)題。
如何在MySQL上運(yùn)行基準(zhǔn)測(cè)試?
在構(gòu)建MySQL網(wǎng)站時(shí)把現(xiàn)有的技術(shù)文檔增加到MySQL基準(zhǔn)測(cè)試中,這是一個(gè)非常實(shí)用的基準(zhǔn)測(cè)試功能。MySQL開發(fā)團(tuán)隊(duì)稱,BENCHMARK ()函數(shù)常被用來(lái)測(cè)試MySQL進(jìn)程有多快?它適用于MySQL客戶端。
詳細(xì)功能顯示如:BENCHMARK (count, expr): The BENCHMARK ()函數(shù)執(zhí)行的表達(dá)式為expr重復(fù)計(jì)算次數(shù)。測(cè)試的結(jié)果值始終為0。基準(zhǔn)測(cè)試最重要的數(shù)字出現(xiàn)在幾秒鐘時(shí)間內(nèi)。如下圖示例:
posted on 2014-01-27 10:43 順其自然EVO 閱讀(236) 評(píng)論(0) 編輯 收藏 所屬分類: 數(shù)據(jù)庫(kù)