日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

高性能MySQL(二)

發(fā)布時間:2023/12/10 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高性能MySQL(二) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MySQL基準測試

為什么需要benchmark

  • 驗證基于系統(tǒng)的假設(shè),確認是否符合實際情況
  • 重現(xiàn)系統(tǒng)中的某些異常行為,以解決它們
  • 測試系統(tǒng)當(dāng)前的運行情況,如果不清楚當(dāng)前性能,就無法確認優(yōu)化效果
  • 模擬比當(dāng)前系統(tǒng)更高的負載,用于找出可能遇到的拓展性瓶頸
  • 規(guī)劃業(yè)務(wù)增長,評估項目在未來負載下需要什么樣的硬件、多大容量的網(wǎng)絡(luò)及其他資源
  • 測試應(yīng)用適應(yīng)可變環(huán)境的能力,如系統(tǒng)在隨機的并發(fā)峰值下的性能表現(xiàn)
  • 測試不同硬件、軟件和操作系統(tǒng)配置
  • 證明新采購的設(shè)備是否配置正確
  • 策略

    一是針對整個系統(tǒng)的整體測試,另外是單獨測試MySQL,也稱為集成式和單組件式基準測試

    測試什么指標(biāo)

  • 吞吐量:單位時間內(nèi)事務(wù)處理數(shù),常用單位每秒事務(wù)數(shù)TPS、每分鐘事務(wù)數(shù)TPM
  • 響應(yīng)時間或延遲:任務(wù)所需整體時間,單位可以是分鐘、秒、毫秒、微秒
  • 并發(fā)性:任意時間有多少同時發(fā)生的并發(fā)請求,一個Web站點可以同時有5w個用戶訪問,但可能只有20個并發(fā)請求到數(shù)據(jù)庫,因此要關(guān)注正在工作的并發(fā)操作,檢查數(shù)據(jù)庫的Treads_running狀態(tài)值
  • 可拓展性:給系統(tǒng)增加一倍的資源,就能獲得總共兩倍的吞吐量
  • 方法

    常見錯誤:

  • 使用真實數(shù)據(jù)的子集而不是全集
  • 使用錯誤的數(shù)據(jù)分布
  • 使用不真實的分布參數(shù)
  • 在多用戶場景中只做單用戶的測試
  • 在單服務(wù)器上測試分布式應(yīng)用
  • 與真實用戶行為不匹配
  • 反復(fù)執(zhí)行同一個查詢
  • 沒有檢查錯誤
  • 忽視系統(tǒng)預(yù)熱過程
  • 使用默認的服務(wù)器配置
  • 測試時間太短
  • 設(shè)計和規(guī)劃基準測試

    提出問題并明確目標(biāo),決定是標(biāo)準測試還是專用測試

    對連接使用獨立線程重現(xiàn),多次測試,詳細記錄

    基準測試運行時間

    應(yīng)該運行足夠長時間

    獲取系統(tǒng)性能和狀態(tài)

    記錄系統(tǒng)狀態(tài)、性能指標(biāo)、CPU使用率、磁盤IO、網(wǎng)絡(luò)流量統(tǒng)計等

    #! /bin/shINTERVAL=5 PREFIX=$INTERVAL-sec-status RUNFILE=/home/benchmarks/running mysql -e 'SHOW GLOBAL VARIABLES' >> mysql-variables while test -e $RUNFILE; dofile=$(date +%F_%I)sleep=$(date +%s.%N | awk "{print $INTERVAL - (\$1 % $INTERVAL)}")sleep $sleepts="$(date +"TS %s.%N %F %T")"loadavg="$(uptime)"echo "$ts $loadavg" >> $PREFIX-${file}-statusmysql -e 'SHOW GLOBAL VARIABLES' >> $PREFIX-${file}-status &echo "$ts $loadavg" >> $PREFIX-${file}-innodbstatusmysql -e 'SHOW ENGINE INNODB STATUS\G' >> $PREFIX-${file}-innodbstatus &echo "$ts $loadavg" >> $PREFIX-${file}-processlistmysql -e 'SHOW FULL PROCESSLIST\G' >> $PREFIX-${file}-processlist & echo $ts done echo Exiting because $RUNFILE does not exist.
  • 每5秒執(zhí)行一次收集的動作
  • 每個文件名包含該輪測試開始的日期和小時
  • 每次抓取數(shù)據(jù)都會記錄當(dāng)前時間戳
  • 不會處理或過濾數(shù)據(jù),保留元數(shù)據(jù)
  • 如果需要在測試完成后腳本自動退出,只需刪除/home/benchmarks/running文件即可
  • 獲得準確的測試結(jié)果

    外部影響很多,盡可能降低這種影響,同時修改參數(shù)也盡量一點一點修改

    運行基準測試并分析結(jié)果

    自動化腳本測試是比較好的方式,結(jié)果最好用圖表的格式繪制出來,這樣可以直觀看到很多光看數(shù)據(jù)無法被發(fā)現(xiàn)的問題

    基準測試工具

    集成式測試工具

    ab

    針對Web應(yīng)用服務(wù),結(jié)果轉(zhuǎn)換成每秒能滿足多少請求,只能針對單個URL進行盡可能快的壓力測試

    http_load

    與ab類似,也被設(shè)計為對Web服務(wù)器進行測試,比ab更加靈活,通過一個輸入文件提供多個URL,在這些URL中隨機測試

    JMeter

    Java應(yīng)用程序,可以加載其它應(yīng)用并測試其性能,雖然設(shè)計用來測試Web應(yīng)用,但也可用于測試FTP服務(wù)器,或JDBC數(shù)據(jù)庫查詢測試,比ab和http_load復(fù)雜得多,擁有繪圖接口

    單組件式測試工具

    mysqlsalp

    可模擬服務(wù)器的負載并輸出即時信息

    MySQL benchmark suite(sql-bench)

    單線程的,主要用于測試服務(wù)器執(zhí)行查詢的速度,結(jié)果顯示哪種類型的操作在服務(wù)器上執(zhí)行得更快,包含了大量預(yù)定義的測試,也可用于高層次測試,缺點是單用戶模式,數(shù)據(jù)集很小且無法使用指定的數(shù)據(jù),無法測試多CPU能力,還需要Perl和BDB的支持

    Super Smack

    用于MySQL和PostgreSQL的肌醇測試工具,可提供壓力測試和負載生成,可模擬多用戶訪問,可加載測試數(shù)據(jù)到數(shù)據(jù)庫,支持使用隨機數(shù)據(jù)填充測試表

    sysbench

    多線程系統(tǒng)壓測工具,可用來測試文件IO、操作系統(tǒng)調(diào)度器、內(nèi)存分配和傳輸速度、POSIX線程以及數(shù)據(jù)庫服務(wù)器,支持Lua腳本語言

    MySQL內(nèi)置的BENCHMARK()函數(shù)

    測試某些特定操作的執(zhí)行速度,參數(shù)是需要執(zhí)行的次數(shù)和表達式,返回值永遠是0,但可通過返回時間判斷執(zhí)行的時間,不適合用來做真正的測試

    案例

    http_load

    http_load -parallel 1 -seconds 10 [filename] # 單用戶 http_load -parallel 5 -seconds 10 [filename] # 5個并發(fā)用戶 http_load -rate 5 -seconds 10 [filename] # 每秒5次請求

    sysbench

    CPU基準測試

    sysbench --test=cpu --cpu-max-prime=20000 run

    文件IO基準測試

    # 準備階段 sysbench --test=fileio --file-total-size=150G prepare # 運行階段 sysbench --test=fileio --file-total-size=150G --file-test-mode=[seqwr/seqrewr/seqrd/rndrd/rndwr/rdnrw] \ --init-rng=on --max-time=300 --max-requests=0 run # 清楚測試文件 sysbench --test=fileio --file-total-size=150G cleanup

    OLTP基準測試

    # 生成百萬行記錄的表 sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test/ --mysql-user=root prepare # 測試(8個并發(fā)線程,只讀模式,測試60秒) sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root \ --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run

    其他特性

    內(nèi)存連續(xù)讀寫/線程調(diào)度器/互斥鎖/順序?qū)懶阅?/p>

    轉(zhuǎn)載于:https://www.cnblogs.com/ikct2017/p/9530315.html

    總結(jié)

    以上是生活随笔為你收集整理的高性能MySQL(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 五月天激情视频在线观看 | 久久综合九色综合网站 | 伊人激情 | 男女啪啪无遮挡 | 日本成人a | 噜噜噜精品欧美成人 | 欧美激情一区 | 51精品国产人成在线观看 | 黄色一级a毛片 | 亚洲av无码国产精品麻豆天美 | 三级色视频 | 日本久久久久 | 欧美三级一区二区 | 呦呦视频在线观看 | 韩国日本欧美一区 | 不卡日本 | 亚洲欧美国产视频 | 中国少妇乱子伦视频播放 | 青草操 | 午夜影院性 | 黄视频在线播放 | 麻豆国产一区二区三区四区 | 狠狠躁18三区二区一区视频 | 五月婷婷色综合 | 91久久一区二区三区 | 美女让男人捅 | 在线天堂资源 | 亚色在线 | 日本欧美不卡 | 伊人中文在线 | 日韩成人av影院 | 亚洲欧美另类在线 | 日韩在线第三页 | 极品女神无套呻吟啪啪 | 天天拍天天干 | 麻豆黄色片| 国模私拍av| 日韩黄色免费 | 少妇高潮一69aⅹ | 国产a视频精品免费观看 | 国产成人无码精品久久久性色 | 成人免费视频一区二区三区 | 亚洲天堂成人在线 | 久久中文字幕人妻 | 黄色福利在线观看 | 亚洲欧美韩日 | 国产色无码精品视频国产 | 久久精品无码专区免费 | 高清国产一区二区三区四区五区 | 欧美高跟鞋交xxxxxhd | 久久中文一区 | 无码任你躁久久久久久久 | 翔田千里一区 | 成人av专区 | 黄色a级在线观看 | 中文字幕网址在线 | 欧美午夜一区二区三区 | 日韩一级二级三级 | 毛片基地在线观看 | 色综合中文网 | 秋霞影院午夜伦 | 色av一区二区 | av导航网 | 欧美另类videosbestsex | 国产一区二区欧美日韩 | 国产自产自拍 | 日本一区二区欧美 | 免费裸体视频女性 | 国产网站在线免费观看 | 中文字幕亚洲精品在线 | 欧美综合第一页 | www日本色 | 日本少妇裸体做爰 | 国产三级大片 | 午夜黄色录像 | 欧美日韩在线第一页 | 东北女人av| 女婴高潮h啪啪 | 国产精品伦理一区二区 | 亚洲三级a| 天天操综合网 | 女同亚洲精品一区二区三 | 精品人妻人人做人人爽夜夜爽 | 三级欧美日韩 | av一二三四 | 九九热在线观看视频 | 日本一区二区黄色 | 96看片 | 91视频播放 | 玖玖精品在线 | 国产欲妇 | av免费一区 | 日韩久久久久久 | 性免费视频 | 卡一卡二视频 | 蜜桃av色偷偷av老熟女 | 婷婷二区 | 国产成人综合欧美精品久久 | 亚洲另类av |