PBwiki is now a billion times faster!

26 Mar

OK, not a billion times, but more like 6 times faster than we were a month ago.

When we first started out, PBwiki was super-fast because there wasn’t much going on. As we’ve grown two things have happened – first, we’ve added lots of useful features and second, we now have lots more traffic all the time. The new editor in particular has led to lots more users being comfortable with editing, and it’s a lot of code to serve up, so we were serving lots more data more frequently to lots more people. For a while we were working our original servers way too hard and the system wasn’t always keeping up with the strain.

Two things have changed: First, we purchased a big pile of fast new servers. Second, we rewrote a lot of the core of PBwiki’s code to scale more effectively. We wrote a lot of new code and also take advantage of a bunch of open source projects, including Pound, Lighttpd, Apache, eAccelerator, MySQL, Memcached, and MogileFS.

Shiny, happy, mostly idle servers

We’ve put in a lot of effort to optimizing the load times of wiki pages and in particular speeding up the new editor, since it’s a lot of javascript to load. The ‘six times faster’ claim is for the time between when a user requests a wiki page and we’ve finished building it and start sending it to their browser — the ‘time to first byte’. What else does this mean? Well, last month we were averaging 50-100% CPU load on our servers. That means that at midnight in the US, our quietest time of day, we were still using 50% of all available CPU time to serve wiki pages, store edits, and build RSS feeds. During peak time around noon we were starting to back up a bit due to the load — 100% CPU load usually means ‘would go to 150% if we could’. We’re now ranging between 10% and 20% on all of the application servers, which means there’s always CPU time available for the next incoming request. The supporting servers, such as proxy, database, storage and email are even less loaded. This is a very good thing.

At the same time, we’ve got lots more storage headroom. We were running a little low for a while there and now we’ve got at least 6 months of space for new wiki data and attachments, assuming our current growth rates. Combined with our much-improved server monitoring system (thanks to mon, monit, cacti, and some hand-made stuff) we’ve got a great picture of how the service is running and for the first time in a while our servers are as happy as our users.

10 Responses to “PBwiki is now a billion times faster!”

  1. Ben Tibbetts March 27, 2007 at 2:44 pm #

    Hey! Good for you guys. I just wanted to write and say I love this service you’re providing. My little portion of PBWiki is ‘The Imagiland Public Library’ (imagiland.pbwiki.com) and I’m tremendously happy with how easy it is to get everything done. I know this extra boost of speed will certainly help me in updating the website, thank you!

  2. Chris March 27, 2007 at 3:07 pm #

    Is there a way to not get the admin messages on my pbwiki?

  3. srini March 27, 2007 at 3:23 pm #

    love the pbwiki service, just wish i could set a different background ! 😛 happy to hear about the infrastructure upgrade !!! i ought to print you guys some stickers.


  4. masiar March 27, 2007 at 3:34 pm #

    I like pbwiki a lot and I recommended it to my friends. but…

    Before recent changes, I was able to use pbwiki with javascript disabled. I, like many of my friends, surf web with JS disabled. most sites are still usable. PBwiki is not. sidebar heading (# QuickStart # Recent Activity # SideBar ) works only with JS, and I need to enable JS to switch to Sidebar (and then disable it again). Quite annoying. Try it yourself. It looks PBwiki uses some cookie to remember if sidebar shows sidebar or quickstart?

    Requiring javascript is security risk and is not needed – plain text editor is just fine for this wiki oldtimer 🙂

    You may want to put Sidebar fixed there, and put link to Recent Activity to top menu (left or right). Quickstart might be as well pregenerated editable page in wiki namespace.

    I tried to log to forums, but forums use different identity than wiki, and I forgot my old userid do not want to register for just 1 comment.

  5. Scott March 27, 2007 at 3:40 pm #

    You guys are doing great! I love the service!

    I moved over from Backpack from 37signals because I wanted more flexibility, more of a blank slate, and I got more speed in the process. Sometimes my PBWiki is so fast that it feels like it is LOCAL to my machine! That’s fast.

    Keep up the good work!

  6. G Orme March 27, 2007 at 4:31 pm #

    This is great news, and I don’t want to sound unappreciative, but could you make these announcements at the bottom of the wiki pages?

  7. Stephen March 27, 2007 at 4:51 pm #

    Hey, I’m happy to see the “good news from the blue box”… but for once we’ve read it, there ought to be a way to turn it OFF.

    I’m trying to print out wiki pages as part of a marketing booklet for a realtor visit TOMORROW, and it’s got that banner across every page… 😦

  8. David Weekly March 27, 2007 at 5:02 pm #

    Hi! We’ll turn off the admin message in about an hour. Sorry to have it in the print output – I’ve just fixed that!

  9. Julie Anderson March 28, 2007 at 1:52 am #

    We love PBwiki and have lots of wikis. I was surprised to see this announcement, because since yesterday our wikis are running really slowly … like treacle … Any tips?

  10. Julie Anderson April 2, 2007 at 7:40 am #

    David – thank you for all your help with our speed issues… after some research, it seems the problem lies with our connections at this end. You have been attentive and supportive throughout. We’re still loving PBwiki :o)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: