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 要進行基準測試,必須照以下的步驟:
- 做資料庫的初始化→ 基準測試使用的資料庫的作成。
- 指定基準測試的實行→各種各樣的條件,實行基準測試。
對 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
沒有留言:
張貼留言