{eval=Array;=+count(Array);}

成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

問(wèn)答專欄Q & A COLUMN

mysql如何進(jìn)行壓力測(cè)試?

tunnytunny 回答0 收藏1
收藏問(wèn)題

1條回答

yck

yck

回答于2022-06-28 15:11

MySQL作為關(guān)系型數(shù)據(jù)庫(kù),一般在項(xiàng)目開(kāi)發(fā)當(dāng)中是作為程序的首選,但網(wǎng)站的性能的瓶頸總是出現(xiàn)在數(shù)據(jù)庫(kù)身上,一般項(xiàng)目開(kāi)發(fā)后都會(huì)根據(jù)對(duì)應(yīng)業(yè)務(wù)來(lái)進(jìn)行數(shù)據(jù)庫(kù)的壓測(cè)。檢查數(shù)據(jù)庫(kù)能夠承受線上環(huán)境的用戶的訪問(wèn)請(qǐng)求。

一般都會(huì)采用mysqlslap壓測(cè)工具,模擬出大量客戶端同時(shí)操作數(shù)據(jù)庫(kù)的情況,通過(guò)結(jié)果信息來(lái)了解數(shù)據(jù)庫(kù)的性能狀況。然后進(jìn)行數(shù)據(jù)庫(kù)的優(yōu)化。

壓力測(cè)試工具

mysqlslap 是 Mysql 自帶的壓力測(cè)試工具 ,主要工就是對(duì)數(shù)據(jù)庫(kù)服務(wù)器做基準(zhǔn)測(cè)試。

注: 基準(zhǔn)測(cè)試的具體做法是:在系統(tǒng)上運(yùn)行一系列測(cè)試程序并把性能計(jì)數(shù)器的結(jié)果保存起來(lái)。這些結(jié)構(gòu)稱為“性能指標(biāo)”。性能指標(biāo)通常都保存或歸檔,并在系統(tǒng)環(huán)境的描述中進(jìn)行注解。對(duì)于業(yè)務(wù)開(kāi)發(fā)人員也能夠知道服務(wù)器的性能指標(biāo)在哪個(gè)區(qū)間。


以后在實(shí)際運(yùn)行過(guò)程中,當(dāng)監(jiān)控的數(shù)據(jù)接近了基準(zhǔn)指標(biāo)時(shí),說(shuō)明數(shù)據(jù)庫(kù)服務(wù)器快要滿負(fù)荷了,需要分析是數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)、SQL語(yǔ)句這類用法問(wèn)題,還是硬件資源的確不夠了,然后進(jìn)對(duì)應(yīng)進(jìn)行的處理


數(shù)據(jù)庫(kù)服務(wù)器也可能需要硬件升級(jí),升級(jí)之后也需要進(jìn)行基準(zhǔn)測(cè)試,和之前的測(cè)試結(jié)果對(duì)比,確保升級(jí)后的性能是提升的,防止不恰當(dāng)?shù)纳?jí)或者錯(cuò)誤的配置引起性能下降。

mysqlslap 用法介紹

1、簡(jiǎn)單用法

對(duì)數(shù)據(jù)庫(kù)做一個(gè)簡(jiǎn)單的自動(dòng)測(cè)試,基于原生內(nèi)容來(lái)做

mysqlslap --user=root --password=test --auto-generate-sql

--auto-generate-sql 作用是自動(dòng)生成測(cè)試SQL

結(jié)果中各項(xiàng)含義:

Average number of ...

運(yùn)行所有語(yǔ)句的平均秒數(shù)

Minimum number of ...

運(yùn)行所有語(yǔ)句的最小秒數(shù)

Maximum number of ...

運(yùn)行所有語(yǔ)句的最大秒數(shù)

Number of clients ...

客戶端數(shù)量

Average number of queries per client

每個(gè)客戶端運(yùn)行查詢的平均數(shù)


2、添加并發(fā)

并發(fā)是大型項(xiàng)目都會(huì)遇到并且頭疼的問(wèn)題,所以測(cè)試可以加入并發(fā)的參數(shù)。

mysqlslap --user=root --password=test--concurrency=100 --number-of-queries=1000 --auto-generate-sql

--concurrency=100 指定同時(shí)有100個(gè)客戶端連接

--number-of-queries=1000 指定總的測(cè)試查詢次數(shù)(并發(fā)客戶端數(shù) * 每個(gè)客戶端的查詢次數(shù))

3、使用自己的測(cè)試庫(kù)和測(cè)試語(yǔ)句

自動(dòng)測(cè)試可以幫助我們了解硬件層面的狀況,對(duì)于產(chǎn)品特定的情況,還是需要使用自己的庫(kù)來(lái)測(cè)試比較好,可以復(fù)制一份產(chǎn)品庫(kù)過(guò)來(lái),然后對(duì)此庫(kù)測(cè)試,例如

mysqlslap --user=root --password=test --concurrency=70 --create-schema=test --query="SELECT * FROM dept_emp;"

--create-schema 用來(lái)指定測(cè)試庫(kù)名稱

--query 是自定義的測(cè)試語(yǔ)句

實(shí)際場(chǎng)景中,一般是測(cè)試多個(gè)復(fù)雜的語(yǔ)句,可以定義一個(gè)腳本文件,例如

echo "SELECT * FROM employees;SELECT * FROM titles;SELECT * FROM image;SELECT * FROM dept_manager;SELECT * FROM theme;" > ~/select_query.sql

把多個(gè)查詢語(yǔ)句寫入了一個(gè) sql 文件,然后使用此文件執(zhí)行測(cè)試

mysqlslap --user=root --password=111111 --concurrency=20 --number-of-queries=1000 --create-schema=employees --query="select_query.sql" --delimiter=";"

--query 中指定了sql文件

--delimiter 說(shuō)明sql文件中語(yǔ)句間的分隔符是什么


如果有感悟,歡迎關(guān)注額
評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長(zhǎng)該話題
  • 回答過(guò)該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說(shuō)句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<