2007-03-29

PostgreSQL 效能評估工具 pgbench (上)

更新:2007-03-29
對映章節:

內容:
pgbench 是被 PostgreSQL 作為性能基準檢查測試(Benchmark)用的程序,與 PostgreSQL 源代碼一起被散佈。在這篇我來對 pgbench 和關於基準測試做概要解說。

(日本)石井達夫 先生與 pgbench
為了能進行 PostgreSQL 的基準測試的程序由 石井達夫 先生寫了 pgbench 程序遞交給 PstgreSQL 並與實體源代碼一同被散佈。
主要用來對 Server 方面 Databases 的基本的基準把能用的 TPC-B 做為基礎製作,以每 1秒鐘能實行的事務交易(transaction)數來判斷性能。主要特徵,能模擬多用戶環境,能容易同時試驗連線環境。同時,移植性高,安裝也簡單.

pgbench 在 PostgreSQL 解壓後的源代碼包的目錄內的 contrib/pgbench 裡存在。因此,不需要重新取得。 能做以 contrib/pgbench 移動,以 DBA 權限編譯·安裝。
(在 Win32 - PostgreSQL 8.2+ 其指令已內附在 \bin 之內 pgbench.exe )

pgbench 的使用順序

要啟動 pgbench 命令如下:

$ pgbench -option database_name

同時,pgbench 要進行基準測試,必須照以下的步驟:

  1. 做資料庫的初始化→ 基準測試使用的資料庫的作成。
  2. 指定基準測試的實行→各種各樣的條件,實行基準測試。
選項的指定
對 pgbench,有指定為啟動的時候的各種各樣的選擇。在這裡,只使用 pgbench 上重要的選項摘錄介紹。
  • -h :PostgreSQL(postmaster)啟動的主機名。到省略的時候 Unix domain socket 連接給自主人。
  • -U :用戶名.
  • -p :PostgreSQL(postmaster)啟動的端口號。與省略的時候 PostgreSQL(postmaster) 默認使用的 5432端口被指定了的東西被看作。
  • -i :初始化為基準測試使用的資料庫。
  • -s [定標係數] :初期化為資料庫的時候使用,[定標係數]*10萬筆的資料被製作。被省略的時候等同 1指定。
  • -c :同時實行的客戶端數。被省略的時候與 1相同。
  • -t :一個客戶端指定實行的 transaction 數。被省略的時候與 10 是相同。
  • -S :這個選擇的話進行檢索處理的試驗。其他的處理不被進行。
  • -N :這個選擇的話從通常的試驗省去了一部分的更新處理的試驗被進行。
  • -d :這個選擇的話,試驗的流逝等各種各樣的信息被表示。可是,為了在大量裡(上)表示信息的處理被進行,多少試驗結果惡化了。
舉例:
$ pgbench -i -U postgres -s 10 test

說明:
初始化創建基準測試用資料表在用戶"postgres"的"test"資料庫裡, 且"accounts"資料筆數創建 10*10萬筆資料.

下圖是執行上述命令後產生的 4個資料表和資料筆數(點圖放大)




延伸閱讀(Link):
http://www.techscore.com/tech/sql/pgbench/index.html

沒有留言:

網誌存檔

PostgreSQL & Google-Analytics Running...

::Planet PostgreSQL::

PostgreSQL Information Page

PostgreSQL日記(日本 石井達夫先生Blog)

PostgreSQL News

黑喵的家 - 資料庫相關

Google 網上論壇
PostgreSQL 8 DBA 專業指南中文版
書籍內容討論與更多下載區(造訪此群組)
目錄下載: PostgreSQL_8 _DBA_Index_zh_TW.pdf (更新:2007-05-18)

全球訪客分佈圖(Google)

全球訪客分佈圖(Google)