Re: Load Balancing/Multiple Postgres Machines - Mailing list pgsql-admin
From | Iain |
---|---|
Subject | Re: Load Balancing/Multiple Postgres Machines |
Date | |
Msg-id | 007301c4d683$5bbd29c0$7201a8c0@mst1x5r347kymb Whole thread Raw |
In response to | Load Balancing/Multiple Postgres Machines (Adile Abbadi <adile@minitdrugs.com>) |
Responses |
Re: Load Balancing/Multiple Postgres Machines
|
List | pgsql-admin |
Hi, I have been considering this in my spare time for a little while too. Joshua already mentioned slony and pgpool, and you may want to look at heartbeat too, though I don't know if it is strictly neccessary in a slony/pgpoos installation. My focus is more on replication for high availability and failover than performance. Replication will involve some overhead so to offset that your application must be set up to take good advantage of the load balancing possibilities. There is no guarantee that your application will perform faster even if you do implement replication. As such, I don't know of any viable true _synchronous_ replication system for postgres, the options listed above seem best suited for async replication (using slony) and load balancing of SELECTs (not UPDATE INSERT DELETE) using pg pool. If your application has a very heavy SELECT component from browsing users (perhaps from a web application) then you may be able to have a large portion of your SELECT SQL diverted to the slave database, freeing the master to handle all updating of data. Whether this will help you or not, I don't know. Analyse the options and your requirements and test it. If you come up with any good information, I'd be very intertested to hear it. I posted a summary of options as I understood them in the admin section. If your search on availabilty and failover you should find it. Regards Iain ----- Original Message ----- From: Adile Abbadi To: pgsql-admin@postgresql.org Sent: Tuesday, November 30, 2004 3:34 AM Subject: [ADMIN] Load Balancing/Multiple Postgres Machines Hi all, Not sure if this has been asked before - it probably has been - but I figure its probably just easier if I ask so my question is this: How easy is it - or rather is it possible to create multiple instances of the same db on multiple machines? We are currently running a very highly used postgres db (Ver 7.2) that eats up a lot of cpu time when its heavily used. We recently bought some very powerful equipment to accommodate this high use, (currently its on a single CPU, 1GB of Ram SCSI server - upgraded to a dual CPU, 4GB of ram SCSI server) but my fear is over time this issue is going to haunt me again and hardware can only be upgraded so much. So is it possible to do some level of load balancing in postgres - I would love a situation where I could have multiple machines running multiple instances of the same db (that are all synced in real-time), where there is some smart level of load balancing happening. So if it is possible is there some instruction info out there to help me along my way. Any help or insight would be greatly appreciated. All the best Adile
pgsql-admin by date: