<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

    怎樣進(jìn)行數(shù)據(jù)庫性能測試

     前言:

      究竟怎樣進(jìn)行數(shù)據(jù)庫性能測試,數(shù)據(jù)庫性能測試需要做些什么?大多數(shù)產(chǎn)品線的RD和QA也比較迷茫,經(jīng)常過來咨詢。

      一般說來,做數(shù)據(jù)庫性能測試需要如下幾個步驟:

      1、明確測試目的

      2、設(shè)計測試模型 (即壓力模型)

      3、準(zhǔn)備測試集群環(huán)境

      4、準(zhǔn)備壓力測試工具或者編寫壓力測試腳本

      5、明確性能指標(biāo)并加監(jiān)控

      6、根據(jù)2設(shè)計的測試模型準(zhǔn)備測試數(shù)據(jù)

      7、測試執(zhí)行

      8、測試分析

      本文依據(jù)以上步驟,模擬測試需求- 多實(shí)例多盤數(shù)據(jù)庫的性能對比測試,制定測試方案公布給大家,方便大家了解數(shù)據(jù)庫性能測試。

      多實(shí)例多盤數(shù)據(jù)庫性能測試方案

      一、測試目的

      1、對比數(shù)據(jù)庫單實(shí)例、多實(shí)例的在不同硬件設(shè)備上的性能情況。

      2、對比單機(jī)單實(shí)例和多實(shí)例的性能情況

      3、驗(yàn)證網(wǎng)絡(luò)帶寬是否成為flash產(chǎn)品發(fā)揮性能優(yōu)勢的瓶頸。

      4、驗(yàn)證flash產(chǎn)品是否隨時間存在性能衰減的可能。

      二、測試方法概述

      測試基準(zhǔn)工具:smart-slap(mysqlslap),Jmeter模擬若干客戶端、若干用戶執(zhí)行指定的SQL語句,訪問數(shù)據(jù)庫。同時,通過監(jiān)控工具監(jiān)控系統(tǒng)負(fù)載、mysql數(shù)據(jù)庫的服務(wù),全面了解數(shù)據(jù)庫系統(tǒng)以及硬件的負(fù)載情況。

      測試模型
      測試監(jiān)控及結(jié)果統(tǒng)計
      監(jiān)控工具統(tǒng)計如下信息,分析性能瓶頸。

      系統(tǒng)負(fù)載:

      CPU:CUP_IDLE、CPU_WA、SERVER_LOADAVG
      內(nèi)存:MEM_URATE、MEM_USED
      網(wǎng)卡:NIC_TOTAL_IN、NIC_TOTAL_OUT、

      數(shù)據(jù)庫負(fù)載:

      QPS:COM_READS、COM_WEITES
      主從延遲:SECOND_BEHIND_MASTER
      慢查詢:SLOW_QUERIES_PT
      連接數(shù):THREADS_CONNECTED、THREADS_RUNNING

      STL-tools 監(jiān)控集群負(fù)載

      附:性能指標(biāo):

      系統(tǒng)負(fù)載:

      CPU:CUP_IDLE 、CPU_WA、SERVER_LOADAVG
      內(nèi)存:MEM_URATE、MEM_USED
      網(wǎng)卡:NIC_TOTAL_IN、NIC_TOTAL_OUT、

      數(shù)據(jù)庫負(fù)載:

      QPS:COM_READS、COM_WEITES
      主從延遲:SECOND_BEHIND_MASTER
      慢查詢:SLOW_QUERIES_PT
      連接數(shù):THREADS_CONNECTED、THREADS_RUNNING

      三、測試準(zhǔn)備

      測試環(huán)境準(zhǔn)備

      假設(shè)將四類IO存儲設(shè)備,進(jìn)行單、多實(shí)例的性能測試對比。則可以部署測試集群如下:

      測試集群具體搭建:

      2臺機(jī)器 ——–4主4從
      根據(jù)測試更換硬件:
      RAID+SAS:
      RAID+SSD:
      Flash:
      Fusion:

      監(jiān)控:在每臺機(jī)器上部署數(shù)據(jù)庫監(jiān)控腳本monitor,最好有統(tǒng)一平臺上調(diào)度、管理、分析monitor采集到的數(shù)據(jù)。

      測試工具準(zhǔn)備:

      Smart-slap:

      特點(diǎn):全量發(fā)壓力,可得到最大QPS,對比不同集群的最大QPS。分析不同集群的最大QPS.

      Jmeter:

      特點(diǎn):控制實(shí)時壓力,分析各集群在指定壓力下的性能情況。

      測試思路:

      先采用slap進(jìn)行對不同集群組合進(jìn)行同樣的sql壓力。(壓力時間)取得不同集群的最大QPS,進(jìn)行對比。

      取最大QPS的一定比率(如1/8倍,1/4倍,1/2倍,1倍)作為每秒發(fā)送的請求壓力進(jìn)行測試。比較各個集群的負(fù)載、數(shù)據(jù)庫性能情況。

      網(wǎng)絡(luò)瓶頸測試:

      同網(wǎng)段3臺壓力機(jī)器 往一個集群壓足夠多的IO壓力。分析各個硬件的IO。磁盤、CPU比網(wǎng)卡提前到達(dá)壓力閥值說明網(wǎng)卡不是瓶頸。若網(wǎng)卡IO先達(dá)到極限則說明網(wǎng)卡存在瓶頸。

      硬件性能衰減測試

      同樣壓力測試24小時,比較最初1小時,和最后1小時的 TPS.以及各項性能指標(biāo)。

     測試數(shù)據(jù)準(zhǔn)備:

      數(shù)據(jù)庫:flashT

      36張表:

      Test1- test36:

      表結(jié)構(gòu):

      CREATE TABLE `test1` (
      `doc_id` int(10) unsigned NOT NULL default ’0′,
      `main_status` tinyint(3) unsigned NOT NULL default ’0′,
      `sub_status` tinyint(3) unsigned NOT NULL default ’0′,
      `create_time` int(10) unsigned NOT NULL default ’0′,
      cid1` smallint(5) unsigned NOT NULL default ’0′,
      ……………
      PRIMARY KEY (`doc_id`)
      );

      數(shù)據(jù)量:

      每個表達(dá)到5000W 行(大概30G)

      36個表

      說明:具體的測試庫表結(jié)構(gòu)、類型

      每張表的測試數(shù)據(jù)量等都需要根據(jù)具體測試目的和測試場景進(jìn)行設(shè)計。

      四、測試步驟

      測試一: 不同集群配置,不同實(shí)例的性能對比測試

      一: 數(shù)據(jù)構(gòu)造,同時驗(yàn)證各硬件集群基本讀、寫性能。

      1)4個實(shí)例全部開啟insert 5000W;初步對比寫性能。

      用36個slap并發(fā)實(shí)例分別往36張表insert,往每個表插入5000W 行數(shù)據(jù)。

      2)4個實(shí)例全部開啟,每張表20個select并發(fā)select。初步對比讀性能。

      用36個slap并發(fā)實(shí)例子每個實(shí)例20個并發(fā)select請求分別從36張表中取數(shù)據(jù)。

      二:對比不同集群執(zhí)行最常用SQL命令的性能情況

      制定數(shù)據(jù)庫系統(tǒng)最常用的SQL語句,數(shù)據(jù)庫執(zhí)行這些SQL語句的性能。用slap并發(fā)用戶數(shù)從10,50,100,200。

      三:對比不同集群處理最耗時SQL命令的性能情況

      制定數(shù)據(jù)庫系統(tǒng)最耗時的SQL語句,數(shù)據(jù)庫執(zhí)行這些SQL語句的性能。用slap并發(fā)用戶數(shù)從10,50,100,200。

      四:模擬事務(wù)處理,對比各集群性能情況。

      模擬事物,,用slap并發(fā)用戶數(shù)10,50,100,200,500,800,1000分析不同集群分別在多少并發(fā)用戶數(shù)下,TPS值最大。

      五:分析各集群在線事物處理能力。

      模擬事務(wù)處理,根據(jù)步驟四得到的最大TPS,設(shè)置TPS的一定比率作為每秒事務(wù)數(shù),用jemeter測試,并發(fā),10,50,100,200,500,800,1000.分析各個并發(fā)各種集群下的響應(yīng)時間分布和其他各項性能指標(biāo)。分析TPS情況最好的并發(fā)數(shù)。

      測試二:網(wǎng)卡瓶頸測試

      步驟一:分析測試一中的各項測試結(jié)果的CPU、磁盤、網(wǎng)卡等負(fù)載情況。

      如果其他幾項比網(wǎng)卡提前到達(dá)瓶頸。則說明網(wǎng)卡不會成為瓶頸。相反進(jìn)入步驟二。此外,如果測試一中的各項測試磁盤,網(wǎng)卡,CPU等均未達(dá)到瓶頸。則將測試一中的步驟四,增大并發(fā)壓力,直到出現(xiàn)負(fù)載瓶頸。

      步驟二:調(diào)整測試。

      測試三:硬件是否衰減情況。

      步驟:用jmeter 持續(xù)測試24小時。

      用測試一中的步驟五得到的最好TPS的并發(fā)數(shù)作為此次測試的并發(fā)數(shù),用Jmeter并發(fā)測試24小時,分析第一個小時和最后一個小時的TPS,和響應(yīng)時間分布。

      (注意每一次測試命令中,涉及查詢條件的值隨機(jī)分布)

      五、總結(jié):

      關(guān)于數(shù)據(jù)庫性能測試,只要掌握了壓力測試工具。最關(guān)鍵的還是設(shè)計出符合業(yè)務(wù)的測試模型,以及測試完成后的測試分析。通過實(shí)踐抽象出測試模型,進(jìn)行自動化,則測試過程可以事半功倍。

    posted on 2013-03-19 10:22 順其自然EVO 閱讀(1156) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫性能測試

    <2013年3月>
    242526272812
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品二区国产综合野狼| 无套内谢孕妇毛片免费看看| 国产亚洲日韩一区二区三区| 日韩成人免费视频播放| 69视频在线观看免费| 丝袜足液精子免费视频| 美国毛片亚洲社区在线观看 | 亚洲AV无码男人的天堂| 亚洲一级片在线观看| 亚洲女初尝黑人巨高清| 亚洲AV中文无码乱人伦| 日本高清免费网站| 毛片免费vip会员在线看| 四虎免费影院ww4164h| 你懂的免费在线观看网站| 91视频免费观看| 九九免费观看全部免费视频| 色欲aⅴ亚洲情无码AV蜜桃| 亚洲天堂2016| 亚洲AV无码专区在线亚| 亚洲人成777在线播放| 亚洲白色白色在线播放| 亚洲一区二区三区电影| 无码欧精品亚洲日韩一区| 亚洲精品无码午夜福利中文字幕 | 亚洲中文字幕无码亚洲成A人片| 亚洲综合色丁香麻豆| 亚洲精品视频在线| 99久久精品国产亚洲| 久久久综合亚洲色一区二区三区| 久久精品国产亚洲AV果冻传媒| 久久亚洲免费视频| 久久亚洲sm情趣捆绑调教| 亚洲白嫩在线观看| 亚洲av无码不卡久久| 一本色道久久88—综合亚洲精品 | 亚洲免费网站在线观看| 2019中文字幕在线电影免费| 亚洲一级免费视频| 免费羞羞视频网站| 亚洲精品视频久久久|