




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
MySQL壓力測試經(jīng)驗如何避免生產(chǎn)環(huán)境性能瓶頸個人介紹葉金榮OracleACE搜狐暢游福州()系統(tǒng)部經(jīng)理imysql@Weibo:@yejinrong為什么要壓力測試采購新設備,評估新設備性能開發(fā)新項目,評估數(shù)據(jù)庫容量新系統(tǒng)上線前,預估/模擬數(shù)據(jù)庫負載更換數(shù)據(jù)庫版本,評估性能變化關注指標CPU%wait,%user,%sys內(nèi)存只內(nèi)存讀寫,不產(chǎn)生swapIOIOPS、iowait、svctm、%util數(shù)據(jù)庫TPS/TpmC、吞吐量(QPS)、響應時長、InnoDB指標影響因素硬件CPU(省電模式、超線程、多核)內(nèi)存(鏡像模式、xen內(nèi)核限制可用總內(nèi)存大小)陣列卡(BBU、CACHE、條帶、讀寫策略、FW)硬盤(SSD/SAS)系統(tǒng)內(nèi)核參數(shù)(tcp相關)文件系統(tǒng)IO調(diào)度器影響因素MySQLTRANSACTIONISOLATIONLEVELBufferpoolConcurrencythreadRedologBinlogsyncinnodb_flush_log_at_trx_commit…注意事項只在本地加壓壓測數(shù)據(jù)量小壓測時間過短壓測模式太少壓力負載過大或過小每輪測試完畢要凈化環(huán)境測試環(huán)境指標測試環(huán)境A測試環(huán)境B機型DELLPER720(2UPCServer)DELLPER710(2UPCServer)CPUXeonE5-2620(6核,12線程,2.0GHz,L315MB)*2XeonE5620(4核,8線程,2.4GHz,L312MB)*2內(nèi)存32G(4G*8)32G(4G*8)陣列卡及設置PERCH710,512MB,BBU(FW:12.10.1-0001),RAID1+0FORCEWBPERCH700,512MB,BBU(FW:12.10.1-0001),RAID1+0FORCEWB硬盤15KRPM300GSAS*815KRPM300GSAS*6網(wǎng)卡Intel1GbEBroadcom1GbE操作系統(tǒng)RHEL6.4RHEL6.4文件系統(tǒng)xfs/ext4xfs/ext4MySQL版本5.5.345.6.14測試工具sysbenchPrimarilyforMySQLOLTPbenchmarking,ByMySQLABcpu、threads、mutex、memory、fileio、oltptpcc-mysqlPrimarilyforMySQLOLTPbenchmarking,ByPerconatpchPrimarilyforOLAPbenchmarkingtcpcopy模擬生產(chǎn)環(huán)境真實請求其他mysqlslapsql-bench測試工具–sysbench項目地址/分支版本https:///sysbench特點:支持lua,增加選項oltp-tables-count測試工具–sysbench安裝./configure--with-mysql-includes=path--with-mysql-libs=path&&make&&makeinstall支持其他數(shù)據(jù)庫with-pgsqlwith-oracle運行sysbench--test=[mode][other_options]preparesysbench--test=[mode][other_options]runsysbench--test=[mode][other_options]cleanup測試工具–sysbench通用基準最大請求數(shù):5,000,000并發(fā)線程數(shù):8~512基準–OLTPmode=complexengine=innodboltp-table-size=100,000,000測試工具–sysbench測試用例sysbench--test=oltp--mysql-host=host\--mysql-user=user--mysql-password=passwd\--oltp-test-mode=complex
--mysql-table-engine=innodb
\
--oltp-table-size=100000000--mysql-db=db\--oltp-table-name=test_tbl--num-threads=128
\--max-requests=5000000
run--oltp-test-mode測試模式:complex/simple/nontrx測試工具–sysbench測試結果測試工具–sysbench不足只能模擬簡單OLTP測試表列數(shù)少測試表數(shù)據(jù)類型少標準版本只能支持一個測試表測試工具–tpccmysql安裝下載bzrbranchlp:~percona-dev/perconatools/tpcc-mysql直接make即可create_table.sql-創(chuàng)建數(shù)據(jù)表add_fkey_idx.sql–創(chuàng)建索引及外鍵初始化加載數(shù)據(jù)tpcc_loaddb_hostdb_namedb_userdb_passwddb_warehouse_num例如:tpcc_loadlocalhosttpcc1000userpasswd1000運行OLTP測試./tpcc_start-hlocalhost-dtpcc1000-uroot-p'xx'-w1000-c32-r120-l3600-f./tpcc_mysql_20120314測試工具–tpccmysql基準-OLTPwarehouse=1000maxconnection=8~512warmup=120(s)runtime/duration=3600(s)測試工具–tpccmysql測試用例./tpcc_start-hhost-ddb-uuser-ppasswd\-w500-c128-r120-l3600-wwarehose/倉庫數(shù)-cconcurrentthreads/并發(fā)線程-rwarmup/數(shù)據(jù)預熱時長-lduringtime/持續(xù)加壓時長測試工具–tpccmysql測試結果測試工具–tpccmysql不足測試表模式設計未優(yōu)化存在外鍵部分索引不合理測試工具–tpch安裝下載http:///tpch/spec/tpch_2_16_0.zipcpmakefile.suitemakefile編輯makefile文件CC=gccDATABASE=MYSQLMACHINE=LINUXWORKLOAD=TPCH編輯tpcd.h,增加宏定義#ifdefMYSQL#defineGEN_QUERY_PLAN""#defineSTART_TRAN"STARTTRANSACTION"#defineEND_TRAN"COMMIT"#defineSET_OUTPUT""#defineSET_ROWCOUNT"limit%d;\n"#defineSET_DBASE"use%s;\n"#endif測試工具–tpch初始化初始化測試表數(shù)據(jù):./dbgen-s100生成測試數(shù)據(jù):mysql-ftpch<dss.ddl默認的初始化模式無主鍵、無索引LOADDATAINFILE導入數(shù)據(jù)注意max_binlog_cache_size限制,需要切分文件導入執(zhí)行修改主鍵/外鍵/額外索引腳本數(shù)據(jù)表名全部改成小寫,適應TPC-H測試SQL腳本運行qgen生成測試SQL修改部分SQL語句拆分完成測試SQL腳本成23個測試SQL運行執(zhí)行23個測試腳本,記錄運行時長測試工具–tpch基準-tpchwarehouse=1000單進程tpch側重OLAP模型,而MySQL并不適合OLAP,因此warehouse設定較小測試工具–tpch測試用例生成測試數(shù)據(jù):./dbgen-s1000執(zhí)行OLAP查詢:timemysql-ftpch<./queries/tpch_${NN}.sql-swarehose/倉庫數(shù)測試工具–tpch不足初始化比較麻煩部分索引不合理MySQL本身不擅長做OLAP,測試模式有局限測試工具–tcpcopy安裝項目地址:/wangbin579/tcpcopy下載,執(zhí)行shautogen.sh后直接編譯安裝即可按照文檔配置server和client端,即可啟動壓測測試工具–tcpcopy測試用例測試工具–tcpcopy不足測試MySQL時,測試機需要開啟skip-grant-tables,否則無法正常進行,因為MySQL需要進行認證;在線服務器無需調(diào)整測試過程中不能執(zhí)行flushprivileges,否則上述選項會失效每次啟用tcpcopy時,都需要重啟mysqld,不能在線直接應用,否則不能轉發(fā)包不支持prepare語義可能需要調(diào)整部分內(nèi)核tcp參數(shù),避免出現(xiàn)queuedropped無法100%保證生產(chǎn)環(huán)境與測試環(huán)境數(shù)據(jù)一致性測試報告–sysbench測試報告–sysbenchTPSthreads測試報告–tpccmysql測試報告–tpccmysqlTpmCthreads測試報告–tpch測試報告–tpch耗時可靠性測試模擬意外事件斷電(硬件冷重啟)RESET(硬件熱重啟)陣列卡掉線磁盤掉線REBOOT(系統(tǒng)重啟)正常關閉服務(kill-TERM)異常關閉服務(kill-9)磁盤空間滿刪除文件破壞性修改已打開文件…可靠性測試長期極限高壓持續(xù)數(shù)小時、數(shù)天、數(shù)周運行高負載計算、IO任務考驗服務器在高壓下的性能波動情況考驗硬件設備在高壓下的穩(wěn)定性表現(xiàn)模擬惡劣環(huán)境供電不穩(wěn)通風冷卻不好濕氣大、灰塵多參考/view/2776305.htmhttps:///p/tcpcopyhttp:///2012/12/21/tpch-for-mysql-manual.htmlhttp:///2012/08/04/tpcc-for-mysql-manual.htmlhttp:///node/312http:///2009/04/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶能源職業(yè)學院《概率論與統(tǒng)計》2023-2024學年第二學期期末試卷
- 海南大學《自然地理學方法之土壤生物》2023-2024學年第二學期期末試卷
- 楚雄彝族自治州永仁縣2025屆數(shù)學三下期末監(jiān)測模擬試題含解析
- 浙江省舟山市2024-2025學年高二上學期期末檢測英語試題(含聽力)
- 2025年高考歷史風標訓練卷3(含解析)
- 巖棉彩鋼板施工方案
- 儲罐焊縫返修施工方案
- 商丘醫(yī)用吊橋施工方案
- 2025年西醫(yī)護理學試題及答案
- 消防常識考試試題及答案
- 2024住院患者靜脈血栓栓塞癥預防護理與管理專家共識要點(全文)
- 2024年積分制管理實施方案及細則
- 新蘇教版科學六年級上實驗報告單
- 電動汽車自用樁安裝承諾書
- 2023年10月自考00150金融理論與實務試題及答案含解析
- 《直流電纜敷設安裝導則》
- 幼兒園課件:《黑夜我不怕》
- 2024年-急診氣道管理共識課件
- 2024年江蘇食品藥品職業(yè)技術學院單招職業(yè)技能測試題庫及答案解析
- 活動招商合同
- 標準化法及相關知識課件
評論
0/150
提交評論