作者Creationary (想想~)
看板Database
标题Re: [SQL ] postgresql 8.1.4 cluster问题~
时间Wed Jun 3 10:24:02 2009
嗯~~
现阶段是写入需求大得很~~
我有开autuvacuum了
也将shared_buffers调整了~
刚开始运行是比较快了一点~~
但随着资料量增加,又慢了下来~~
瓶颈应该是i/o方面的问题~~~
有何种方式可以解决这问题??
感谢~~
使用的系统是ubunto 8.04 server i386
Memory:2GB
※ 引述《longtime (longtime)》之铭言:
不太确定你所谓的 "负载量过大" 发生的瓶颈在那边
I/O 方面的还是 CPU, Memory 方面的
另外分散流量
第1种方式是使用 PGCluster
他是 Synchronous Replication 的方式, 可以有效增加 Query 的速度
但若你的 DB 型态是属於会有大量的写入, 这部份对效能的增加就很有限,
甚至会拖慢速度
而第2种方式仅是一台主机上跑多个 PostgreSQL, 并不是 Cluster
PostgreSQL 目前尚无完整的 Cluster 解决方案
大都是利用 Replication 的功能衍生出来 Pooling or LoadBalance
达成分散流量的需求
你可以比较一下 Oracle RAC (ShareDisk) 跟 PostgreSQL (ShareNothing)
这两种对於 Cluster 实作的方法,
就可以知道为何 PostgreSQL 大部份都是用 Replication 的概念去实作 Cluster
若使用 Synchronous Replication 这种方式 (ex: pgcluster or pgpool-II)
读取的效能可有效提升, 但写入的部份就......蛮惨的
若是选择 Asynchronous 的方法 (ex: Slony), 就会碰到资料不同步的状况
若你对资料同步的要求相当高, 这种方式就不适合, 仅能拿来当作备援方案
所以说穿了总归一句就是 -> 有一好就没有两好
建议你要先清楚定义你想要的东西,
并且确认你的 DB 属性是哪一类 (读取多还是写入多或是其他类别?)
才可以知道有没有适合的作法可以解决你的问题
另外推荐你两个文件
http://tinyurl.com/c2n984
http://tinyurl.com/3kj2kw
希望对你有帮助
以上如有错误请不吝赐教 :)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.69.175.253
※ 编辑: Creationary 来自: 210.69.175.253 (06/03 11:22)
1F:推 AndCycle:postgres写入需求大的话先把writeAheadLog拆到另一颗硬碟 06/07 23:59