mysql數據庫測試數據(mysql在線測試)

本文目錄一覽:

幾個常用的MySQL性能測試工具

1、mysqlslap

安裝:簡單,裝了mysql就有了

作用:模擬並發測試數據庫性能。

優點:簡單,容易使用。

不足:不能指定生成的數據規模,測試過程不清楚針對十萬級還是百萬級數據做的測試,感覺不太適合做綜合測試,比較適合針對既有數據庫,對單個sql進行優化的測試。

使用方法:

可以使用mysqlslap –help來顯示使用方法:

Default options are read from the following files in the given order:

/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf

–concurrency代表並發數量,多個可以用逗號隔開,concurrency=10,50,100, 並發連接線程數分別是10、50、100個並發。

–engines代表要測試的引擎,可以有多個,用分隔符隔開。

–iterations代表要運行這些測試多少次。

–auto-generate-sql 代表用系統自己生成的SQL腳本來測試。

–auto-generate-sql-load-type 代表要測試的是讀還是寫還是兩者混合的(read,write,update,mixed)

–number-of-queries 代表總共要運行多少次查詢。每個客戶運行的查詢數量可以用查詢總數/並發數來計算。

–debug-info 代表要額外輸出CPU以及內存的相關信息。

–number-int-cols :創建測試表的 int 型字段數量

–auto-generate-sql-add-autoincrement : 代表對生成的表自動添加auto_increment列,從5.1.18版本開始

–number-char-cols 創建測試表的 char 型字段數量。

–create-schema 測試的schema,MySQL中schema也就是database。

–query 使用自定義腳本執行測試,例如可以調用自定義的一個存儲過程或者sql語句來執行測試。

–only-print 如果只想打印看看SQL語句是什麼,可以用這個選項。

mysqlslap -umysql -p123 –concurrency=100 –iterations=1 –auto-generate-sql –auto-generate-sql-add-autoincrement –auto-generate-sql-load-type=mixed –engine=myisam –number-of-queries=10 –debug-info

或:

指定數據庫和sql語句:

mysqlslap -h192.168.3.18 -P4040 –concurrency=100 –iterations=1 –create-schema=’test’ –query=’select * from test;’ –number-of-queries=10 –debug-info -umysql -p123

要是看到底做了什麼可以加上:–only-print

Benchmark

Average number of seconds to run all queries: 25.225 seconds

Minimum number of seconds to run all queries: 25.225 seconds

Maximum number of seconds to run all queries: 25.225 seconds

Number of clients running queries: 100

Average number of queries per client: 0

以上表明100個客戶端同時運行要25秒

2、sysbench

安裝:

可以從 下載

tar zxf sysbench-0.4.12.tar.gz

cd sysbench-0.4.12

./autogen.sh

./configure make make install

strip /usr/local/bin/sysbench

安裝時候可能會報錯,後來baidu發現個好文 怕以後找不到,也貼過來吧

1.如果mysql不是默認路徑安裝,那麼需要通過指定–with-mysql-includes和–with-mysql-libs參數來加載mysql安裝路徑

2.如果報錯:

../libtool: line 838: X–tag=CC: command not found

../libtool: line 871: libtool: ignoring unknown tag : command not found

../libtool: line 838: X–mode=link: command not found

../libtool: line 1004: *** Warning: inferring the mode of operation is deprecated.: command not found

../libtool: line 1005: *** Future versions of Libtool will require –mode=MODE be specified.: command not found

../libtool: line 2231: X-g: command not found

../libtool: line 2231: X-O2: command not found

那麼執行下根目錄的:autogen.sh文件,然後重新configure make make install

3.如果報錯:

sysbench: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

那麼執行下:

n -s /usr/local/mysql5.5/mysql/lib/libmysqlclient.so.18 /usr/lib64/

4.如果執行autogen.sh時,報如下錯誤:

./autogen.sh: line 3: aclocal: command not found

那麼需要安裝一個軟件:

yum install automake

然後需要增加一個參數:查找: AC_PROG_LIBTOOL 將其注釋,然後增加AC_PROG_RANLIB

作用:模擬並發,可以執行CPU/內存/線程/IO/數據庫等方面的性能測試。數據庫目前支持MySQL/Oracle/PostgreSQL

優點:可以指定測試數據的規模,可以單獨測試讀、寫的性能,也可以測試讀寫混合的性能。

不足:測試的時候,由於網絡原因,測試的非常慢,但是最終給的結果卻很好,並發支持很高,所以給我的感覺是並不太準確。當然也可能我沒搞明白原理

使用方法:

準備數據

sysbench –test=oltp –mysql-table-engine=myisam –oltp-table-size=400000 –mysql-db=dbtest2 –mysql-user=root –mysql-host=192.168.1.101 –mysql-password=pwd prepare

執行測試

sysbench –num-threads=100 –max-requests=4000 –test=oltp –mysql-table-engine=innodb –oltp-table-size=400000 –mysql-db=dbtest1 –mysql-user=root –mysql-host=192.168.1.101 –mysql-password=pwd run

sysbench 0.4.12: multi-threaded system evaluation benchmark

No DB drivers specified, using mysql

Running the test with following options:

Number of threads: 100

Doing OLTP test.

Running mixed OLTP test

Using Special distribution (12 iterations, 1 pct of values are returned in 75 pct cases)

Using “BEGIN” for starting transactions

Using auto_inc on the id column

Maximum number of requests for OLTP test is limited to 4000

Threads started!

Done.

OLTP test statistics:

queries performed:

read: 56014

write: 20005

other: 8002

total: 84021

transactions: 4001 (259.14 per sec.)

deadlocks: 0 (0.00 per sec.)

read/write requests: 76019 (4923.75 per sec.)

other operations: 8002 (518.29 per sec.)

Test execution summary:

total time: 15.4393s

total number of events: 4001

total time taken by event execution: 1504.7744

per-request statistics:

min: 33.45ms

avg: 376.10ms

max: 861.53ms

approx. 95 percentile: 505.65ms

Threads fairness:

events (avg/stddev): 40.0100/0.67

execution time (avg/stddev): 15.0477/0.22

3、tpcc-mysql

安裝:

如果從原網站上下載源碼比較麻煩,需要工具、註冊、生成證書等。這裡提供一個下載包

export C_INCLUDE_PATH=/usr/include/mysql

export PATH=/usr/bin:$PATH

export LD_LIBRARY_PATH=/usr/lib/mysql

cd /tmp/tpcc/src

make

然後就會在 /tmp/tpcc-mysql 下生成 tpcc 命令行工具 tpcc_load 、 tpcc_start

作用:測試mysql數據庫的整體性能

優點:符合tpcc標準,有標準的方法,模擬真實的交易活動,結果比較可靠。

不足:不能單獨測試讀或者寫的性能,對於一些以查詢為主或者只寫的應用,就沒有這麼大的意義了。

使用方法:

加載數據

創建庫

mysqlcreate database tpcc10;

創建表:

shellmysql tpcc10 create_table.sql

添加外鍵:

shellmysql tpcc10 add_fkey_idx.sql

加載數據:

1、單進程加載:

shell./tpcc_load 192.168.11.172 tpcc10 root pwd 300

|主機||數據庫||用戶||密碼||warehouse|

2、並發加載:(推薦,但需要修改一下)

shell./load.sh tpcc300 300

|數據庫||warehouse|

3、測試

./tpcc_start -h192.168.11.172 -d tpcc -u root -p ‘pwd’ -w 10 -c 10 -r 10 -l 60 -i 10 -f /mnt/hgfs/mysql/tpcc100_2013522.txt

***************************************

*** ###easy### TPC-C Load Generator ***

***************************************

option h with value ‘192.168.11.172’

option d with value ‘tpcc’

option u with value ‘root’

option p with value ‘pwd’

option w with value ‘1’

option c with value ‘100’

option r with value ‘120’

option l with value ’60’

option i with value ’10’

option f with value ‘/mnt/hgfs/mysql/tpcc100_2013522.txt’

Parameters

[server]: 192.168.11.172

[port]: 3306

[DBname]: tpcc

[user]: root

[pass]: pwd

[warehouse]: 1

[connection]: 100

[rampup]: 120 (sec.)

[measure]: 60 (sec.)

RAMP-UP TIME.(120 sec.)

MEASURING START.

如何評估和測試Mysql及oracle數據庫性能

首先 數據庫的性能有很多種 1:速度性能2:並發性能3:事務性能 在速度性能上,首先你需要首先確定你的測試環境。舉個例子,比如你的軟件可能的用戶群是一群使用586電腦的客戶,那麼肯定是mysql的效率要高出oracle.這個是為什麼呢,mysql在事務策略和安全策略上做的工作遠沒有oracle做出的多。如果軟件不需要這方面的高要求,那麼完全可以使用mysql,這樣機器的配置可以比較低,但是表現出的性能會更加優越。 前面是題外話,在測試前你需要首先頂一下你的測試環境,為了能讓oracle充分的表現出他的性能,你應該選取一些強勁的小型機或者服務器來作為測試環境(雖然這樣的環境對於mysql來說可能浪費了,但是這樣才能確保2個數據庫都充分的發揮的自己的特性)。 其次,測試訪問速度,你可以通過對數據庫的大批量寫入來看出效果。所謂大批量寫入應該嘗試使用存儲過程一次讀入了10M的數據文件然後寫入並且記錄時間(同時記錄cpu,內存等佔用情況)。然後對於至少2個超過10萬的數據表做笛卡爾積查詢(全連接),查看查詢的時間。

mysql數據庫查詢圖書表,輸出每一類圖書的最高價格、最低價格平均價格的代碼怎?

1、首先在mysql數據庫,創建一張data表,表內插入多條數據,用於測試。

2、創建一個test.php文件,在文件內,使用header()方法將頁面的編碼格式設置為utf-8。

3、然後在test.php文件內,連接mysql數據庫,並使用mysqli_select_db選擇要操作的數據庫。

4、在test.php文件內,創建一條查詢data數據表所有數據的sql語句,再使用mysqli_query執行sql語句。

5、在test.php文件內,通過while語句,使用mysqli_fetch_assoc函數將結果集數據轉換為數組形式,並通過echo輸出每一條記錄的username值。

6、最後在瀏覽器打開test.php文件,查看結果,如下圖所示就完成了。

mysql數據庫

MySQL數據庫一般指MySQL,MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發。

mysql是目前網站以及APP應用上用得較多的一個開源的關係型數據庫系統,可以對數據進行保存,分段化的數據保存,也可以對其數據進行檢索,查詢等功能的數據庫。

默認的mysql數據庫中存有一個庫這個就是mysql的系統數據庫,可以對其保存系統的數據包括mysql數據庫的信息,數據庫root賬號,普通賬號,以及數據庫的名稱,還有數據庫的一些表還有一些數字型的數據類型結構都會有所保存。

mysql數據庫的優點

(1)MySQL數據庫是用C和C++語言編寫的,並且使用了多種編輯器進行測試,以保證源碼的可移植性。

(2)支持多個操作系統例如:Windows、Linux、Mac OS等等。

(3)支持多線程,可以充分的利用CPU資源。

(4)為多種編程語言提供API,包括C語言、Java、PHP、Python語言等。

(5)MySQL優化了SQL算法,有效的提高了查詢速度。

(6)MySQL內提供了用於管理,檢查以及優化數據庫操作的管理工具。

(7)它能夠作為一個單獨的應用程序應用在客戶端服務器網絡環境中,也可以作為一個庫嵌入到其他的軟件中並提供多種語言支持。

MySql數據庫測試

1.首先現在mysql和客戶端 網上有一款名為navicat for mysql的軟件就是客戶端 (英文不好最好下個中文版本的狗狗上就有下)

2.傻瓜式的安裝上以後 點擊鏈接 配置自己的鏈接名字然後地址寫上本機地址localhost

3.給你的數據庫指的是建表的時候用的SQL腳本所以是在本地的你只需要在軟件中運行腳本即可

4.你測試的是數據庫的完整性所以要查看數據庫中的表然中字段是否齊全

祝你成功

mysql怎麼從集合中查詢數據

1、選中需要測試的數據庫,並查看測試數據庫表;由於表t_people_info中的id是主鍵,求id的個數即是求數據庫表的總記錄數,代碼如下:

select count(id) from t_people_info;

2、查看數據庫表t_people_info中年齡中最小值,需要用到集合函數min(),代碼如下:

select min(p_age) from t_people_info;

3、查看數據庫表t_people_info中年齡中最大值,需要用到集合函數max(),代碼如下:

select max(p_age) from t_people_info;

4、查看數據庫表t_people_info中年齡中平均值,需要用到集合函數avg(),代碼如下:

select avg(p_age) from t_people_info;

5、若想統計t_people_info中的年齡的總和,用到集合函數sum(),

代碼如下:

select sum(p_age) from t_people_info;

6、統計數據庫表中記錄個數,除了使用count(主鍵)外,可以使用count(1)、count(*)和count(0),

代碼如下:

select count(1) from t_people_info;

select count(*) from t_people_info;

select count(0) from t_people_info;

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/155453.html

(1)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-17 02:41
下一篇 2024-11-17 05:44

相關推薦

  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • JDK Flux 背壓測試

    本文將從多個方面對 JDK Flux 的背壓測試進行詳細闡述。 一、Flux 背景 Flux 是 JDK 9 對響應式編程的支持。它為響應式編程提供了一種基於推拉模型的方式,以支持…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • Python在線編輯器的優勢與實現方式

    Python在線編輯器是Python語言愛好者的重要工具之一,它可以讓用戶方便快捷的在線編碼、調試和分享代碼,無需在本地安裝Python環境。本文將從多個方面對Python在線編輯…

    編程 2025-04-28
  • Powersploit:安全評估與滲透測試的利器

    本文將重點介紹Powersploit,並給出相關的完整的代碼示例,幫助安全人員更好地運用Powersploit進行安全評估和滲透測試。 一、Powersploit簡介 Powers…

    編程 2025-04-28
  • Python接口自動化測試

    本文將從如下多個方面對Python編寫接口自動化進行詳細闡述,包括基本介紹、常用工具、測試框架、常見問題及解決方法 一、基本介紹 接口自動化測試是軟件測試中的一種自動化測試方式。通…

    編程 2025-04-27
  • Think-ORM數據模型及數據庫核心操作

    本文主要介紹Think-ORM數據模型建立和數據庫核心操作。 一、模型定義 Think-ORM是一個開源的ORM框架,用於簡化在PHP應用中(特別是ThinkPHP)與關係數據庫之…

    編程 2025-04-27

發表回復

登錄後才能評論