Why does bugzilla lag?
Although I haven’t seen this since putting in the new servers, the complaint I’ve received the most often is that Bugzilla is slow. Although I don’t use Bugzilla as much as our Committers do, I do use it on a daily basis and I got to wondering why Bugzilla occasionally lags - even with powerful hardware, server load-balancing and priority rules for bandwidth.
When I got a lag some time ago, I ran show processlist on MySQL, and it yielded what I feared: some large SELECTs are locking some tables, preventing other queries from being executed. If these SELECTs take 5 seconds, everyone using Bugzilla at that time will feel the lag.
“Don’t use MySQL, use (insert your DB here)!” “Convert the tables to InnoDB!” “RTFM!” I hear you already. Bear in mind that Bugzilla does take a beating. Looking at the logs, I see some folks do some pretty interesting stuf. The heaviest user of Bugzilla? crawl-66-249-65-17.googlebot.com, by a long shot. Wow, can that user ever request a lot of stuff in one minute.
A less intrusive solution, and certainly one that scales much better, is for applications to provide two database connection paths: one for SELECTS and another for write queries, such as INSERT, UPDATE and DELETE. Eclipse.org has two database servers: the main server and a replicated server. Whis this type of setup, the replicated server can be used for read-only queries, such as SELECTS, reducing the load on the master server. For instance, queries from the Eclipse.org search engine or live download stats go to the replica, therefore not affecting the master database server in any way. By contrast, the search engine’s indexer sends its INSERTs and UPDATEs to the main server.
However, not all software allows me to plit READ and WRITE queries to two different servers. If bugzilla had this, we wouldn’t have this occasional lag. Furthermore, Bugzilla would be much more scalable: add replicated servers and split the reads across replicas. Knowing that most database applications perform many more reads than writes, it makes for a fast and fault-tolerant solution.
If/when I get the time, I’ll hack this functionality into the Bugzilla code. Replication is a fault-tolerant way of storing data, so the application might as well use it for a performance advantage as well. The next time you write a database application, bear this in mind.
Posted August 24th, 2005 by Denis Roy in category: Uncategorized
You can skip to the end and leave a response. Pinging is currently not allowed.
5 Responses to “Why does bugzilla lag?”
Leave a Reply
You must be logged in using your Eclipse Bugzilla account to post a comment.


Anonymous Says:
August 24th, 2005 at 9:12 pm
What I don’t understand is why anyone would continue to use Bugzilla. It’s one of the ugliest, least user-friendly apps in the known universe, with an awful, cryptic, counter-intuitive user interface. To top it all off are those obnoxious messages like “zarro boogs” or whatever, which might be excusable if the program actually worked well and could be used without crossing your eyes. But anyone can see that Bugzilla is a shameful hack. There are plenty of other, far better options out there. A very nice package that comes to mind is Mantis. It’s a shame to see Eclipse and other high-quality projects still using this awful piece of junk.
Denis Roy Says:
August 25th, 2005 at 11:43 am
I guess the advantages of switching to a new bug tracking system haven’t outweighed the advantages of sticking with Bugzilla. Bugzilla is simple and well understood by our committers. If it has most of the features they need, why change? I mean, Eclipse’s bugzilla currently has over 100,000 bugs in it, so it would require a fair amount of work to move everything to a new system that is .. what, prettier? A few more features?
When Eclipse was started back in 2001 Mantis wasn’t there, so at the time Bugzilla was perhaps the best bet. Every couple of years something shiny and new will come along. In 2008, one might question why people are still using Mantis instead of, oh, say BugWhacker2008.
Either way, it’s not my call. The community decides which tools it wants. I’m just here to make sure they work.
Ed Burnette Says:
August 26th, 2005 at 11:01 pm
I don’t know what the bugzilla source code looks like but I like the program a lot compared to the alternatives I’ve evaluated. Search is amazingly fast given all the data it has to go through.
Katrina Says:
October 31st, 2005 at 6:51 pm
Hey,
Very nice blog and some interesting posts. Have a look at my new bit torrent site called - Mininova -
Thanks
Gunnar Says:
April 20th, 2006 at 10:00 am
Actually I don’t think that Mantis is better then Bugzilla. I even tend to say the the JIRA UI - although it provides some nice features - looks really cluttered and complicated compared to Bugzilla. Bugzilla is a great tool. It works and supports the bug tracking process very well. Of course, it has room for improvements.