PBwiki is now a billion times faster!

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.

happy_idle_servers.png
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.

Published by pbwikinathan

I'm the CTO of PBworks, Inc. We help organizations work better as teams with their clients and partners.

10 thoughts on “PBwiki is now a billion times faster!

  1. 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. 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.

  3. 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!

  4. 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?

  5. 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… 😦

  6. 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?

  7. 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 )

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: