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

pgbench 性能測試工具的使用

這篇具有很好參考價值的文章主要介紹了pgbench 性能測試工具的使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

簡介

??pgbench是一種在PostgreSQL上運行基準測試的簡單程序, 它是pg自帶的工具;pgbench是一種在PostgreSQL上運行基準測試的簡單程序。它可能在并發(fā)的數(shù)據(jù)庫會話中一遍一遍地運行相同序列的 SQL 命令,并且計算平均事務(wù)率(每秒的事務(wù)數(shù))。默認情況下,pgbench會測試一種基于 TPC-B 但是要更寬松的場景,其中在每個事務(wù)中涉及五個SELECT、UPDATE以及INSERT命令。但是,通過編寫自己的事務(wù)腳本文件很容易用來測試其他情況。測試的目的是了解硬件的處理能力;通過調(diào)整參數(shù)優(yōu)化數(shù)據(jù)庫事務(wù)處理性能。

pgbench 的測試結(jié)果報告
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 500
query mode: prepared
number of clients: 512
number of threads: 10
duration: 600 s
number of transactions actually processed: 562451
latency average = 546.467 ms
initial connection time = 176.577 ms
tps = 936.927622 (without initial connection time)

transaction type 表明本次測試所使用的測試類型
scaling factor 表明pgbench在初始化時設(shè)置的數(shù)據(jù)量的比例因子
query mode 表明指定的查詢模式,包括 simple查詢模式(默認)、extended查詢模式和prepared 查詢模式
number of clients表明指定的客戶端連接數(shù)
number of threads表明測試時每個客戶端的線程數(shù)
number of transactions actually processed 測試結(jié)束時實際處理的事務(wù)數(shù)
latency average 測試過程的平均響應(yīng)時間
tps 單位時間內(nèi)執(zhí)行的事務(wù)數(shù)

pgbench工具的使用
1 通過內(nèi)置腳本進行測試
1.1 初始化測試數(shù)據(jù)

pgbench -i [ other-options ] dbname
pgbench -i會創(chuàng)建四個表pgbench_accounts、 pgbench_branches、pgbench_history以及pgbench_tellers,如果同名表已經(jīng)存在會被先刪除。如果你已經(jīng)有同名表,一定注意要使用另一個數(shù)據(jù)庫!
pgbench -i testdb

table_name counts
pgbench_accounts 100000
pg_branches 1
pgbench_history 0
pg_tellers 10

如果指定 -s 參數(shù)可以放大數(shù)據(jù)量: pgbench -i -s 500 testdb

table_name counts
pgbench_accounts 50000000
pg_branches 50
pgbench_history 0
pg_tellers 500

pgbench -i -s 500 -F 90 -h 10.229.89.210 -p 9393 -U postgres -d postgres ==>典型案例
初始化選項
pgbench接受下列命令行初始化參數(shù):
-i
–initialize

要求調(diào)用初始化模式。
-I init_steps
–init-steps=init_steps

只執(zhí)行選出的一組普通初始化步驟。init_steps指定要被執(zhí)行的初始化步驟,每一個步驟使用一個字符代表。每一個步驟都以指定的順序被調(diào)用。默認是dtgvp??捎玫牟襟E是:
?? d(刪除)
??刪除任何已有的pgbench表。
??t(創(chuàng)建表)
??創(chuàng)建標準pgbench場景使用的表,即pgbench_accounts、pgbench_branches、pgbench_history以及pgbench_tellers。
??g或G(生成數(shù)據(jù)、客戶端或服務(wù)器端)
??生成數(shù)據(jù)并且裝入到標準的表中,替換掉已經(jīng)存在的任何數(shù)據(jù)。
??使用 g(客戶端數(shù)據(jù)生成),數(shù)據(jù)在 pgbench 客戶端生成,然后發(fā)送到服務(wù)器。 這通過 COPY 廣泛使用客戶端/服務(wù)器帶寬。 使用 g 會導致日志記錄每 100,000 行打印一條消息,同時為 pgbench_accounts 表生成數(shù)據(jù)。
??使用G(服務(wù)器端數(shù)據(jù)生成),僅從pgbench客戶端發(fā)送少量查詢,然后在服務(wù)器中實際生成數(shù)據(jù)。 此變體不需要大量帶寬, 但服務(wù)器將完成更多工作。 使用G會導致日志記錄在生成數(shù)據(jù)時不打印任何進度消息。
??默認的初始化行為使用客戶端數(shù)據(jù)生成(相當于g)。
v(清理)
在標準的表上調(diào)用VACUUM。
p(創(chuàng)建主鍵)
在標準的表上創(chuàng)建主鍵索引。
f(創(chuàng)建外鍵)
在標準的表之間創(chuàng)建外鍵約束(注意這一步默認不會被執(zhí)行)。
-F fillfactor
–fillfactor=fillfactor

用給定的填充因子創(chuàng)建表pgbench_accounts、pgbench_tellers以及pgbench_branches。默認是100。
-n
–no-vacuum

在初始化期間不執(zhí)行清理(這個選項會抑制v初始化步驟,即便在-I中指定了該步驟)。
-q
–quiet

把記錄切換到安靜模式,只是每 5 秒產(chǎn)生一個進度消息。默認的記錄會每 100,000 行打印一個消息,這經(jīng)常會在每秒鐘輸出很多行(特別是在好的硬件上)。
如果在 -I 中指定了 G,則此設(shè)置無效。
-s scale_factor
–scale=scale_factor

將生成的行數(shù)乘以比例因子。例如,-s 100將在pgbench_accounts表中創(chuàng)建 10,000,000 行。默認為 1。當比例為 20,000 或更高時,用來保存賬號標識符的列(aid列)將切換到使用更大的整數(shù)(bigint),這樣才能足以保存賬號標識符。
–foreign-keys
在標準的表之間創(chuàng)建外鍵約束(如果f在初始化步驟序列中不存在,這個選項會把它加入)。
–index-tablespace=index_tablespace
在指定的表空間而不是默認表空間中創(chuàng)建索引。
–partition-method=NAME
使用 NAME 方法創(chuàng)建一個分區(qū)的 pgbench_accounts 表。 預期值為 range 或 hash。 此選項要求 --partitions 設(shè)置為非零。 如果未指定,默認值為 range。
–partitions=NUM
創(chuàng)建一個分區(qū) pgbench_accounts 表,其中 NUM 分區(qū)的大小與按比例縮放的帳戶數(shù)幾乎相等。 默認為 0,表示沒有分區(qū)。
–tablespace=tablespace
在指定的表空間而不是默認表空間中創(chuàng)建表。
–unlogged-tables
把所有的表創(chuàng)建為非日志記錄表而不是永久表。

基準選項
pgbench接受下列命令行基準參數(shù):

-b scriptname[@weight]
–builtin=scriptname[@weight]
把指定的內(nèi)建腳本加入到要執(zhí)行的腳本列表中。@之后是一個可選的整數(shù)權(quán)重,它允許調(diào)節(jié)抽取該腳本的可能性。如果沒有指定,它會被設(shè)置為 1??捎玫膬?nèi)建腳本有:tpcb-like、simple-update和select-only。這里也接受內(nèi)建名稱無歧義的前綴縮寫。如果用上特殊的名字list,將會顯示內(nèi)建腳本的列表并且立刻退出。
-c clients
–client=clients
模擬的客戶端數(shù)量,也就是并發(fā)數(shù)據(jù)庫會話數(shù)量。默認為 1。
-C
–connect
為每一個事務(wù)建立一個新連接,而不是只為每個客戶端會話建立一個連接。這對于度量連接開銷有用。
-d
–debug
打印調(diào)試輸出。
-D varname=value
–define=varname=value
定義一個由自定義腳本(見下文)使用的變量。允許多個-D選項。
-f filename[@weight]
–file=filename[@weight]
把一個從filename讀到的事務(wù)腳本加入到被執(zhí)行的腳本列表中。@后面是一個可選的整數(shù)權(quán)重,它允許調(diào)節(jié)抽取該測試的可能性。詳見下文。
-j threads
–jobs=threads
pgbench中的工作者線程數(shù)量。在多 CPU 機器上使用多于一個線程會有用。客戶端會盡可能均勻地分布到可用的線程上。默認為 1。
-l
–log
把與每一個事務(wù)相關(guān)的信息寫到一個日志文件中。
-L limit
–latency-limit=limit
對持續(xù)超過limit毫秒的事務(wù)進行獨立的計數(shù)和報告, 這些事務(wù)被認為是遲到(late)了的事務(wù)。
在使用限流措施時(–rate=…),滯后于計劃超過 limit毫秒并且因此沒有希望滿足延遲限制的事務(wù)根本 不會被發(fā)送給服務(wù)器。這些事務(wù)被認為是被跳過(skipped) 的事務(wù),它們會被單獨計數(shù)并且報告。
-M querymode
–protocol=querymode
要用來提交查詢到服務(wù)器的協(xié)議:
??simple:使用簡單查詢協(xié)議。
??extended使用擴展查詢協(xié)議。
??prepared:使用帶預備語句的擴展查詢語句。
在prepared模式中,pgbench重用從第二次查詢迭代開始的語法分析結(jié)果,因此pgbench運行速度比其他模式快。
-N
–skip-some-updates
運行內(nèi)建的簡單更新腳本。這是-b simple-update的簡寫。
-P sec
–progress=sec
每sec秒顯示進度報告。該報告包括運行了多長時間、從上次報告以來的 tps 以及從上次報告以來事務(wù)延遲的平均值和標準偏差。如果低于限流值(-R),延遲會相對于事務(wù)預定的開始時間(而不是實際的事務(wù)開始時間)計算,因此其中也包括了平均調(diào)度延遲時間。
-r
–report-latencies
在基準結(jié)束后,報告平均的每個命令的每語句等待時間(從客戶端的角度來說是執(zhí)行時間)。詳見下文。
-R rate
–rate=rate
按照指定的速率執(zhí)行事務(wù)而不是盡可能快地執(zhí)行(默認行為)。該速率 以 tps(每秒事務(wù)數(shù))形式給定。如果目標速率高于最大可能速率,則 該速率限制不會影響結(jié)果。
-S
–select-only
執(zhí)行內(nèi)建的只有選擇的腳本。是-b select-only簡寫形式。
-t transactions
–transactions=transactions
每個客戶端運行的事務(wù)數(shù)量。默認為 10。
-T seconds
–time=seconds
運行測試這么多秒,而不是為每個客戶端運行固定數(shù)量的事務(wù)。-t和-T是互斥的。
-v
–vacuum-all
在運行測試前清理所有四個標準的表。在沒有用-n以及-v時, pgbench將清理pgbench_tellers 和pgbench_branches表,并且截斷pgbench_history。
–aggregate-interval=seconds
聚集區(qū)間的長度(單位是秒)。僅可以與-l選項一起使用。通過這個選項,日志會包含針對每個區(qū)間的概要數(shù)據(jù),如下文所述。
–log-prefix=prefix
設(shè)置–log創(chuàng)建的日志文件的文件名前綴。默認是pgbench_log。
–progress-timestamp
當顯示進度(選項-P)時,使用一個時間戳(Unix 時間)取代從運行開始的秒數(shù)。單位是秒,在小數(shù)點后是毫秒精度。這可以有助于比較多種工具生成的日志。
–show-script=scriptname
在 stderr 上顯示內(nèi)置腳本 scriptname 的實際代碼,并立即退出。

測試案例

內(nèi)置:

create database testdb;

pgbench -i -F 90 -s 500 testdb -p 5432 -U postgres -d postgres   // 初始化,填充率90%,放大倍數(shù)500

pgbench -c 256 -j 10  -M prepared -n -T 600 -r -h 10.229.89.212 -p 5678 -U pg14 -d postgres
// 256 客戶端連接, 每個客戶端 10個線程, prepared 查詢協(xié)議, 運行時間 600s,

pgbench -c 256 -j 10  -M prepared -n -t 10000 -r -h 10.229.89.212 -p 5678 -U pg14 
-d postgres >> 、home/postgres/test_data/1000_transaction_test.log
// 256 客戶端連接, 每個客戶端 10個線程, prepared 查詢協(xié)議,運行事務(wù)數(shù) 10000,將結(jié)果輸出至指定日志
-T 與 -t 互斥

自定義測試
1 首先在指定數(shù)據(jù)庫創(chuàng)建測試表

create table test(id int, age int);

2 準備數(shù)據(jù)

自定義腳本 insert.sql
\sleep 500ms
\set id random(1,100000)
\set age random(18,32)
insert into test(id, age) values(:id, :age);

3 測試結(jié)果
pgbench -f insert.sql -c 10 -j 10 -M prepared -n -T 600 -r -h 10.229.89.212 -p 5678 -U wp_pg14 -d postgres文章來源地址http://www.zghlxwxcb.cn/news/detail-433548.html

transaction type: insert.sql
scaling factor: 1
query mode: prepared
number of clients: 10
number of threads: 10
duration: 600 s
number of transactions actually processed: 11980
latency average = 501.071 ms
initial connection time = 4.248 ms
tps = 19.957239 (without initial connection time)
statement latencies in milliseconds:
       501.163  \sleep 500ms
         0.065  \set id random(1,100000)
         0.036  \set age random(18,32)
         0.453  insert into test(id, age) values(:id, :age);

到了這里,關(guān)于pgbench 性能測試工具的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 磁盤性能測試工具-FIO的安裝及使用

    磁盤性能測試工具-FIO的安裝及使用

    FIO介紹 FIO是一款測試IOPS的工具,用于對磁盤進行壓力測試和驗證,磁盤I/O是檢查磁盤性能的重要指標,可以按照負載情況分成照順序讀寫,隨機讀寫兩大類,F(xiàn)IO可產(chǎn)生很多線程或進程并執(zhí)行用戶指定的特定類型的I/O操作,典型用途是編寫和模擬I/O負載匹配的作業(yè)文件,也就

    2024年01月16日
    瀏覽(20)
  • 手機APP性能測試工具PerfDog性能狗安裝教程及簡單使用

    手機APP性能測試工具PerfDog性能狗安裝教程及簡單使用

    ????????PerfDog是一個由騰訊研發(fā)的主流性能測試軟件??梢蕴岣哕浖陀螒虻倪\行效率,支持iOS/安卓在移動平臺上的性能測試和分析,快速定位和分析性能問題等。無需安裝,即插即用,減少繁瑣的測試障礙,安卓設(shè)備不需要ROOT,iOS設(shè)備也不需要越獄,有效解決安卓和i

    2024年02月11日
    瀏覽(17)
  • 自動化測試工具 AirTest 的使用方法與簡介

    自動化測試工具 AirTest 的使用方法與簡介

    目錄 ? ? ? ? 前言: Airtest簡介 1.基于圖像識別的Airtest框架 2.基于UI識別的Poco框架 Airtest環(huán)境搭建 Airtest布局 Airtest使用步驟 第一步:連接移動設(shè)備 第二步:創(chuàng)建一個.air文件(也就是我們的測試腳本) 第三步:用Airtest輔助窗口編輯第一個測試腳本 第四步:引入Poco Airtest常用

    2024年02月10日
    瀏覽(106)
  • 性能測試工具 ab(Apache Bench)使用詳解

    Apache Bench (ab) 是一個由 Apache 提供的非常流行的、簡單的性能測試工具,用于對 HTTP 服務(wù)器進行壓力測試。下面是 ab 工具的一些基本使用方法。 安裝 在大多數(shù) Unix 系統(tǒng)中,ab 通常作為 Apache HTTP 服務(wù)器的一部分預裝在系統(tǒng)中。你可以通過在終端中運行 ab -V 來檢查 ab 的版本,

    2024年04月11日
    瀏覽(23)
  • 【DockerCE】使用Docker安裝運行性能測試工具-RunnerGo

    【DockerCE】使用Docker安裝運行性能測試工具-RunnerGo

    一、安裝環(huán)境 CentOS-7.9 / Docker-CE-23.0.1 / Docker-compose-2.17.2 二、資源配置 4核8G(官方建議8核16GB) 三、安裝運行 從Github下載安裝所需的文件包(版本1.0.3),這里選擇的是tar.gz包 ?將壓縮包里面的runnergo目錄上傳到本地虛擬機/data目錄下,目錄結(jié)構(gòu)如下所示: 備注:runnergo.yaml是

    2023年04月23日
    瀏覽(21)
  • 【性能測試】性能數(shù)據(jù)采集工具nmon安裝使用及報告參數(shù)含義詳解

    【性能測試】性能數(shù)據(jù)采集工具nmon安裝使用及報告參數(shù)含義詳解

    目錄 nmon nmon下載 解壓安裝 啟動 數(shù)據(jù)采集配置 生成圖形結(jié)果 nmon報告中的參數(shù)含義 ?資料獲取方法 nmon是一種在AIX與各種Linux操作系統(tǒng)上廣泛使用的監(jiān)控與分析工具,它能在系統(tǒng)運行過程中實時地捕捉系統(tǒng)資源的使用情況,并且能輸出結(jié)果到文件中,然后通過nmon_analyzer工具產(chǎn)

    2024年02月13日
    瀏覽(31)
  • 性能測試第十三課--監(jiān)控工具--ServerAgent的使用

    性能測試第十三課--監(jiān)控工具--ServerAgent的使用

    為什么要有監(jiān)控 做性能測試(以下2個結(jié)論都需要【數(shù)據(jù)】支撐) 最終想要的目標,是要想得到性能指標數(shù)據(jù)值; ?有性能問題,找到問題調(diào)優(yōu) 怎么獲取數(shù)據(jù)--監(jiān)控(監(jiān)控工具、監(jiān)控平臺) 最簡單的監(jiān)控工具? ServerAgent ServerAgent的優(yōu)勢 簡單 適用于windoss、linux服務(wù)器 可以與圖形

    2024年02月05日
    瀏覽(18)
  • React中的性能測試工具組件Profiler的基本使用

    React中的性能測試工具組件Profiler是一個非常有用的工具,它可以幫助我們分析React應(yīng)用程序的性能瓶頸。在本文中,我們將學習如何使用Profiler組件來測試React應(yīng)用程序的性能。 首先,讓我們來了解一下Profiler組件的基本用法。在React中,我們可以通過在組件樹上添加Profiler組

    2024年02月11日
    瀏覽(34)
  • 性能測試工具 Lmbench 的使用方法以及解析運行結(jié)果

    性能測試工具 Lmbench 的使用方法以及解析運行結(jié)果

    Lmbench 是一款簡易可以移植的內(nèi)存測試工具,其主要功能有,帶寬測評(讀取緩存文件、拷貝內(nèi)存、讀/寫內(nèi)存、管道、TCP),延時測評(上下文切換、網(wǎng)絡(luò)、文件系統(tǒng)的建立和刪除、進程創(chuàng)建、信號處理、上層系統(tǒng)調(diào)用、內(nèi)存讀入反應(yīng)時間)等功能。 官網(wǎng)地址:http://www.bit

    2023年04月18日
    瀏覽(23)
  • OpenHarmony實戰(zhàn)開發(fā)-性能測試工具SmartPerf Editor使用指導

    OpenHarmony實戰(zhàn)開發(fā)-性能測試工具SmartPerf Editor使用指導

    SmartPerf Editor是一款PC端桌面應(yīng)用,通過監(jiān)測、采集應(yīng)用運行時FPS、CPU、GPU、Memory、Battery、Network等性能數(shù)據(jù),幫助開發(fā)者了解應(yīng)用的性能狀況。SmartPerf Editor還集成了DrawingDoc功能,可錄制Render Service繪制指令,回放并生成不同圖形庫文件。通過逐幀逐繪制指令回放,來識別是否

    2024年04月28日
    瀏覽(45)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包