Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I'm one of four founders of a big social gaming iPhone app in Sweden. We now suffer from severe database server issues so I'm turning to you guys to get some help. First of all, let me get this out there: I'm not the tech guy in charge of the servers but I assist with research.

We got about 8k querys/5 sec to our PostgreSQL DB and we're growing fast. The DB server is already behaving stressed out. It's a 8 core VPS with 16 gb ram.

We're looking into the possibilities of using a Postgres Plus Cloud Database solution from EnterpriseDB running on AWS. (http://www.enterprisedb.com/cloud-database)

1) Anyone have experience in this matter?

2) We've also been looking into the options to use a dedicated server but we need the possibilities to scale the server up to 20-30 times. Is this relatively easy with EnterpriseDB's solution?

3) If i got it all right: EnterpriseDB offer a cluster solution which theoretically would solve our problems. Am I right?

share|improve this question
    
This is fairly similar to some other questions I've seen here and on the PostgreSQL mailing list recently. That's OK, but if you've asked about this here or elsewhere before it'd be appreciated if you could provide back-links to prior discussion for context. If you haven't, then sorry to bother you. –  Craig Ringer Nov 4 '12 at 1:18
    
    
If you're from the same group as is having the other issues - they're really not addressing the application design and tuning problems. Write batching, caching (redis/memcached), weakening durability requirements, there's lots to be done. –  Craig Ringer Nov 4 '12 at 2:30
    
Hi. You're absolutely right, I relize we've been posting in the same forums. I guess the PostgreSQL community isn't that big. I will supply you with more info regarding our server setup. However, do you (or anyone else) have experience with EnterpriseDB? Regards –  henwil Nov 4 '12 at 10:26
    
I don't have any experience with EnterpriseDB's clustering options personally, and I don't see it come up here much. There's also Postgres-XC if you're interested in clustering. Honestly I suspect you're approaching this the wrong way: Scaling out might well prove to be important, but I'd advise you to do it via sharding and horiziontal partitioning if you're going to do it. You don't seem to have explored your optimization options much yet, so horizontal scaling is probably premature. Hard to tell for sure given that your team-mates(?) don't reply to requests for clarification. –  Craig Ringer Nov 5 '12 at 6:01
add comment

1 Answer

For high performance systems, I think virtualization usually causes a lot more problems than it solves. Save yourself the headache. Build a decent db server inhouse.

It is hard to say what your current problem is, and virtualization makes troubleshooting much harder. Is the load cpu bound? Is it I/O bound? Are you having concurrency issues? Something else?

Now, if your 8k queries every 5 sec are not very complex queries, then the immediate question is why are you having performance problems. It may just take some db tuning. I have seen some indications that you should be able to get several times that on good hardware if things are well tuned. Again virtualization is probably making things harder to fix rather than easier.

Finally, I would highly recommend looking into Postgres-XC. It allows you to do sharding for write-extensibility while managing concurrency and consistency a layer above. I would start tuning what you have and move from there though.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.