国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)庫壓力測試方法概述

這篇具有很好參考價值的文章主要介紹了數(shù)據(jù)庫壓力測試方法概述。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、前言

在前面的壓力測試過程中,主要關(guān)注的是對接口以及服務(wù)器硬件性能進(jìn)行壓力測試,評估請求接口和硬件性能對服務(wù)的影響。但是對于多數(shù)Web應(yīng)用來說,整個系統(tǒng)的瓶頸在于數(shù)據(jù)庫。

原因很簡單:Web應(yīng)用中的其他因素,例如網(wǎng)絡(luò)帶寬、負(fù)載均衡節(jié)點、應(yīng)用服務(wù)器(包括CPU、內(nèi)存、硬盤、連接數(shù)等)、緩存,都很容易通過水平的擴(kuò)展(俗稱加機(jī)器)來實現(xiàn)性能的提高。而對于MySQL,由于數(shù)據(jù)一致性的要求,無法通過增加機(jī)器來分散向數(shù)據(jù)庫寫數(shù)據(jù)帶來的壓力;雖然可以通過前置緩存(Redis等)、讀寫分離、分庫分表來減輕壓力,但是與系統(tǒng)其它組件的水平擴(kuò)展相比,受到了太多的限制。

二、常見的數(shù)據(jù)庫壓測指標(biāo)

數(shù)據(jù)庫壓力測試方法概述,技術(shù)分享,自動化測試,軟件測試,數(shù)據(jù)庫,壓力測試,軟件測試,程序人生,自動化

與接口壓測指標(biāo)類似,數(shù)據(jù)庫相關(guān)指標(biāo)如下:

TPS/QPS:衡量吞吐量。

響應(yīng)時間:包括平均響應(yīng)時間、最小響應(yīng)時間、最大響應(yīng)時間、時間百分比等,其中時間百分比參考意義較大,如前95%的請求的最大響應(yīng)時間。。

并發(fā)量:同時處理的查詢請求的數(shù)量。

三、使用sysbench進(jìn)行數(shù)據(jù)庫壓測

1、基本介紹

sysbench是跨平臺的基準(zhǔn)測試工具,支持多線程,支持多種數(shù)據(jù)庫;主要包括以下幾種測試:

cpu性能

磁盤io性能

調(diào)度程序性能

內(nèi)存分配及傳輸速度

POSIX線程性能

數(shù)據(jù)庫性能(OLTP基準(zhǔn)測試)

該工具可以自動幫你在數(shù)據(jù)庫里構(gòu)造出來大量的數(shù)據(jù),你想要多少數(shù)據(jù),就自動給你構(gòu)造出來多少條數(shù)據(jù)。同時還可以模擬幾千個線程并發(fā)的訪問數(shù)據(jù)庫,模擬使用各種各樣的 SQL 語句,包括模擬出來各種事務(wù)提交到你的數(shù)據(jù)庫里去,甚至可以模擬出幾十萬的 TPS 去壓測數(shù)據(jù)庫。數(shù)據(jù)庫壓力測試方法概述,技術(shù)分享,自動化測試,軟件測試,數(shù)據(jù)庫,壓力測試,軟件測試,程序人生,自動化

2、安裝sysbench:

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash 
sudo yum -y install sysbench 
sysbench --version

3、基于 sysbench 構(gòu)造測試表和測試數(shù)據(jù):

首先需要在自己的數(shù)據(jù)庫里創(chuàng)建好一個測試庫,我們可以取個名字叫做 test,同時創(chuàng)建好對應(yīng)的測試賬號,可以叫做 root,密碼是 123456,讓這個用戶有權(quán)限可以訪問 test。

基于 sysbench 構(gòu)建 20 個測試表,每個表里有 100 萬條數(shù)據(jù),接著使用 100 個并發(fā)線程去對這個數(shù)據(jù)庫發(fā)起訪問,連續(xù)訪問 5 分鐘,也就是 300 秒。命令如下:

sysbench --db-driver=mysql --time=300 --threads=100 --report-interval=1 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --mysql-db=test --tables=20 --table_size=1000000 oltp_read_write --db-ps-mode=disable prepare

4、執(zhí)行測試:

(1)測試數(shù)據(jù)庫的綜合讀寫 TPS,使用的是 oltp_read_write 模式:

sysbench --db-driver=mysql --time=300 --threads=100 --report-interval=1 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=test_user --mysql-password=test_user --mysql-db=test_db --tables=20 --table_size=1000000 oltp_read_write --db-ps-mode=disable run

?(2)測試數(shù)據(jù)庫的只讀性能,使用的是 oltp_read_only模式:

sysbench --db-driver=mysql --time=300 --threads=100 --report-interval=1 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=test_user --mysql-password=test_user --mysql-db=test_db --tables=20 --table_size=1000000 oltp_read_only --db-ps-mode=disable run

(3)測試數(shù)據(jù)庫的寫入性能,使用的是 oltp_write_only 模式:

sysbench --db-driver=mysql --time=300 --threads=100 --report-interval=1 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=test_user --mysql-password=test_user --mysql-db=test_db --tables=20 --table_size=1000000 oltp_write_only --db-ps-mode=disable run

使用上面的命令,sysbench 工具會根據(jù)你的指令構(gòu)造出各種各樣的 SQL 語句去更新或者查詢你的 20 張測試表里的數(shù)據(jù),同時監(jiān)測出你的數(shù)據(jù)庫的壓測性能指標(biāo),最后完成壓測之后,可以執(zhí)行 cleanup 命令,清理數(shù)據(jù)。
數(shù)據(jù)庫壓力測試方法概述,技術(shù)分享,自動化測試,軟件測試,數(shù)據(jù)庫,壓力測試,軟件測試,程序人生,自動化

5、壓測結(jié)果分析:

按照我們上面的命令,我們是讓它每隔 1 秒都會輸出一次壓測報告的,此時它每隔一秒會輸出類似下面的一段東西:

[ 10s ] thds: 100 tps: 500 qps: 5000 (r/w/o: 3500/1000/500) lat (ms, 95%): 20 err/s: 0.00 reconn/s: 0.00

thds:100,這個意思就是有 100 個線程在壓測

tps:500,這個意思就是每秒執(zhí)行了 500 個事務(wù)

qps:5000,這個意思就是每秒可以執(zhí)行 5000 個請求

(r/w/o: 3500/1000/500):這個意思就是說,在每秒 5000 個請求中,有 3500 個請求是讀請求,1000 個請求是寫請求,500 個請求是其他的請求,就是對 QPS 進(jìn)行了拆解

lat (ms, 95%):20,這個意思就是說,95% 的請求的延遲都在 20 毫秒以下

err/s: 0.00 reconn/s: 0.00:這兩個的意思就是說,每秒有 0 個請求是失敗的,發(fā)生了 0 次網(wǎng)絡(luò)重連

結(jié)束語

使用sysbench工具可以直接對數(shù)據(jù)庫性能進(jìn)行評價,但是在結(jié)果展示方面還有待進(jìn)一步提升。當(dāng)然后續(xù)可以對結(jié)果進(jìn)行進(jìn)一步處理,比如寫入表格或作圖,會更加直觀。文章來源地址http://www.zghlxwxcb.cn/news/detail-566481.html

到了這里,關(guān)于數(shù)據(jù)庫壓力測試方法概述的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包