We recently began to overhaul Bitbucket’s events system, which powers our dashboard page. We got caught up in all the NoSQL hype a while ago and began to store and retrieve events using Redis for the sake of speed and performance. Our Redis instance has grown to over 10GB, which is pretty big for a in-memory database. While Redis isn’t causing us any particular problems at the moment we’ve been looking at alternatives. We found that after some simple PostgreSQL configuration and query optimizations pulling events from our database is even faster than Redis.

In the coming weeks we’ll deploy our revamped events system, which will display more events on your dashboard and allow you to go back further in time. We expect downtime to be minimal, but we’re also using this opportunity to perform some other less interesting maintenance, such as package upgrades. The entire maintenance window will will last no longer than one hour.

Thanks for your patience as we work to increase Bitbucket’s performance and reliability.

Would you be willing to share some more technical details? We’re thinking of getting into the NoSQL hype so I’d like to know what we’re up against.

http://profiles.google.com/petar.maric Petar Marić

Would you be willing to share some more technical details? We’re thinking of getting into the NoSQL hype so I’d like to know what we’re up against.

http://profiles.google.com/petar.maric Petar Marić

Would you be willing to share some more technical details? We’re thinking of getting into the NoSQL hype so I’d like to know what we’re up against.

Charles McLaughlin

Petar,

Redis is very cool and I wouldn’t advise against it. Our lead developer Jesper started using it as part of a custom load balancer. It worked well for that purpose because speed was really important. We switched to HAProxy for load balancing a few months ago, but keep using Redis to store our events. Currently our Redis instance is over 10GB and we want to store even more data. To be safe we dump it to disk every five minutes. Writing that much data to disk thrashes IO, which is the primary downside for us. We could work around that, but there’s really no need for us to choose anything other than a standard database at this point in time.

Thanks for using Bitbucket!

Charles

http://twitter.com/HelixN Cole Sargent

The need to upgrade your server(s) is the presage to success.

http://twitter.com/HelixN Cole Sargent

The need to upgrade your server(s) is the presage to success.

http://twitter.com/HelixN Cole Sargent

The need to upgrade your server(s) is the presage to success.

Shrawan Patel

This post excellently highlights what the author is trying to communicate. Nonetheless, the article has been framed excellently well and all credits to the author. For more information on how to load balance your web servers, please visit ..nhttp://serverloadbalancing.biz/wordpressbiz/, nhttp://serverloadbalancing.info/wordpressinfo/

http://profile.yahoo.com/2EUTKQJIS54BUTB53QQLBNV7JU neville

Good luck to you on improving the system!
Upgrading your servers sounds like a great idea to optimize your work.

Petar,nnRedis is very cool and I wouldn’t advise against it. Our lead developer Jesper started using it as part of a custom load balancer. It worked well for that purpose because speed was really important. We switched to HAProxy for load balancing a few months ago, but keep using Redis to store our events. Currently our Redis instance is over 10GB and we want to store even more data. To be safe we dump it to disk every five minutes. Writing that much data to disk thrashes IO, which is the primary downside for us. We could work around that, but there’s really no need for us to choose anything other than a standard database at this point in time.nnThanks for using Bitbucket!nnCharles

Anonymous

Petar,

Redis is very cool and I wouldn’t advise against it. Our lead developer Jesper started using it as part of a custom load balancer. It worked well for that purpose because speed was really important. We switched to HAProxy for load balancing a few months ago, but keep using Redis to store our events. Currently our Redis instance is over 10GB and we want to store even more data. To be safe we dump it to disk every five minutes. Writing that much data to disk thrashes IO, which is the primary downside for us. We could work around that, but there’s really no need for us to choose anything other than a standard database at this point in time.