2007-04-17

PostgreSQL 8.3的新功能[HOT](五)(簡體)

更新:2007-04-17
對映章節:
【PostgreSQLウォッチ】第35回 性能を大幅に改善するPostgreSQL 8.3の新機能「HOT」とは

pgpool-II的柔韧性(scalability)
改变话题,讲一下pgpool-II的节点柔韧性。pgpool-II是向PostgreSQL中增加连接池(connection pooling)和复制(replication)功能的pgpool的后继项目,是针对可以运行并发检索的大型DB的中间软件(middleware),以open-source形式公开。

关于pgpool-II的并发检索效果可以在下边的文档中找到benchmark结果:
http://www.sraoss.co.jp/event_seminar/2006/pgpool-2_intro.pdf(日文)

可以看到9节点与单独的PostgreSQL相比性能提高9-18倍,但是并没有节点数与性能的关系(scalability)。本次在日立制作所的协助下,取得了1到9个节点会引起怎样的性能变化数据,报告如下:
硬件:BladeSymphony BS320 (10台)
CPU: Intel Xeon5110 1.6GHz 2way(4core)
内存: 4G
硬盘: SATA 73GB×2
pgpool-II的版本: 1.0.2
PostgreSQL的版本: 各节点都是8.2.3
测试数据: 使用pgbench -i -s 900生成

系统构成图(图中日文 ノード:node,节点):

采用的机器是刀片服务器(Blade Server),其中一台运行pgpool-II和benchmark工具pgbench,其余9台运行PostgreSQL数据库。

使用pgbench生成9千万条数据,在各节点中分散放置,比如:一个节点时每节点9千万数据,3个节点时每节点3千万数据······9个节点时每个节点1千万数据。

测试中使用下边这样的SQL语句:
SELECT abalance FROM accounts WHERE aid = 值
“值”采用1到9千万之间的一个随机数。
结果图示(同時接続数:并发连接数):


纵轴是TPS(Transaction Per Second),数值越大表示性能越好。横轴是并发连接数,概略表示数据库负荷。

节点数从1开始增加,可以看出性能得到急剧提高。比较16个并发连接时的情况,1个节点具有380TPS而4个节点具有19033TPS,实际性能提高50倍以上。不要期待节点数能够成比例的增加性能,数据分散放置各节点中的数据量减少,缓存能够更有效的工作才是性能提高的主要原因。

但是5个节点以上性能就慢慢降了下来,一般认为这是pgpool-II的overhead造成的。

To be continued ...

延伸閱讀(Link):
http://pgpool.projects.postgresql.org/pgpool-II/en/

沒有留言:

網誌存檔

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)