3

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?

5
  • 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. Nov 4, 2012 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. Nov 4, 2012 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, 2012 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. Nov 5, 2012 at 6:01

1 Answer 1

1

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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