Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 283034 - Bugzilla too slow
Summary: Bugzilla too slow
Status: RESOLVED FIXED
Alias: None
Product: Community
Classification: Eclipse Foundation
Component: Bugzilla (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Eclipse Webmaster CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 244441
Blocks:
  Show dependency tree
 
Reported: 2009-07-09 10:59 EDT by Boris Bokowski CLA
Modified: 2011-07-11 09:25 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Boris Bokowski CLA 2009-07-09 10:59:21 EDT
Sorry for not being more specific, but Bugzilla is too slow for effectively working with it, too often.

I am not talking about operations that by their very nature (e.g. queries) can take some time.

One operation that needs to be fast is when I click on a link to a Bugzilla that I get the single bug page back in a reasonable response time. Ideally, that response time should be below a second.

Another operation that should be fast is adding a comment, changing a target milestone, or adding someone to the cc list. I need to wait for the resulting page to make sure there is no conflict, and to check for misspelled email addresses when adding to the cc list.

It just happens too often that I end up waiting for 5-10 seconds. That might not sound like very much, but if your main task is to look at incoming bugzilla emails, you need to look at a good number of bugzilla entries for context, and having to wait 5-10 seconds for each bug kills productivity (and makes this part of my work even less enjoyable).

Do you know the causes of the slowness? Just a wild guess, but perhaps some people are running too many queries too often?
Comment 1 Denis Roy CLA 2009-07-09 11:24:39 EDT
> Do you know the causes of the slowness? Just a wild guess, but perhaps some
> people are running too many queries too often?

Ah, I was expecting you.  Yes, I do know why Bugzilla is slow.  I always know.  I know why it's slow before you even realize it's slow  :-)  The main reason is database-related.  More specifically (in no particular order):

- Because the BZ tables are MyISAM, table locking can introduce tremendous lag when some folks run large searches. The table types are changed in Bugzilla 3.2, so I'm making this bug depend on the upgrade (bug 244441).

- I see a fair amount of Mylyn queries that come in at the same time.  It's not uncommon to see six to nine MySQL threads working on Mylyn-related searches that usually end up being killed for taking too long.  Of course, while these queries run, the database gets slower, and incoming changes are blocked by locked tables from the point above.  I'm working with the Mylyn team so that we can optimize some things via some open bugs.

- Our database slave server, which handles Bugzilla searches most of the time, is quite busy since it's our primary file server.  This was not a problem before we had a local build server and local project vservers, but now with LAN access to CVS and downloads, some projects are building constantly, which uses resources.

- Disk performance on our database servers is suffering since our ageing servers require maintenance.  Right now, all our RAID controller batteries are dead, which means disk write cache is disabled. Sourcing new batteries that don't cost an arm is in the works, but replacing batteries requires the machines be powered down. This was a no-go prior to galileo, but fixing this is on our plate for Q3.

That pretty much sums it up.. Sorry if there's no silver bullet.
Comment 2 Boris Bokowski CLA 2009-07-09 11:55:07 EDT
Thanks for the detailed comments. I'm impressed.
Comment 3 Dani Megert CLA 2009-08-05 03:55:20 EDT
Denis, thanks for that info. During our annual release retrospective of the Eclipse top-level project the bugzilla slowness was mentioned as an issue by several teams, which is natural given bugzilla is one of our main working tools. So, any progress in this is really much appreciated and will have good impact on all eclipse developers.

Regarding the Mylyn problem: would it be possible to implement something along the lines of QoS and give Mylyn queries lower priority before they even reach the bugzilla server? Or to be more general give higher priority to simple and direct bugzilla requests/queries?
Comment 4 Dani Megert CLA 2009-08-05 05:20:02 EDT
And of course the new asynchronous email sending feature will hopefully improve things.
Comment 5 Denis Roy CLA 2009-08-17 10:48:14 EDT
(In reply to comment #1)
> - Disk performance on our database servers is suffering since our ageing
> servers require maintenance.  Right now, all our RAID controller batteries are
> dead, which means disk write cache is disabled.

This was taken care of last weekend, and our disk performance is definitely better this morning.
Comment 6 Denis Roy CLA 2009-08-18 10:12:24 EDT
> - I see a fair amount of Mylyn queries that come in at the same time.

bug 281893 c7 clearly illustrates the Mylyn problem.
Comment 7 Denis Roy CLA 2009-08-18 10:13:26 EDT
That should read, bug 281893 comment 7.
Comment 8 Denis Roy CLA 2009-08-31 14:59:07 EDT
I just re-enabled mod_perl.

BEFORE (CGI):
=============
time wget --header="Accept-encoding: gzip,deflate" https://bugs.eclipse.org/bugs/show_bug.cgi?id=12345

real    0m1.678s
user    0m0.040s
sys     0m0.006s

AFTER (MOD_PERL):
=================
time wget --header="Accept-encoding: gzip,deflate" https://bugs.eclipse.org/bugs/show_bug.cgi?id=12345
real    0m0.702s
user    0m0.038s
sys     0m0.009s


I've also moved the Bugzilla app files to local disks to reduce the load (and latency) of pulling them from NFS.  We' started doing this some time ago, and it's helped performance greatly.

I've also confirmed that the table lock problem has gone away.  Bugzilla doesn't need to wait for seconds while a table lock is in place, so there shouldn't be any random 30-second response times.

The only think I have left is to enable asynchronous email.
Comment 9 Boris Bokowski CLA 2009-08-31 15:02:44 EDT
(In reply to comment #8)
> The only think I have left is to enable asynchronous email.

woot :-)

Thanks a lot!
Comment 10 Denis Roy CLA 2009-08-31 18:47:15 EDT
(In reply to comment #8)
> The only think I have left is to enable asynchronous email.

Asynchronous email has been set up.  I noticed that this does introduce a slight lag in sending mail (up to 1 minute) since mail is batched together...
Comment 11 Dani Megert CLA 2009-09-01 03:17:27 EDT
>Asynchronous email has been set up.  I noticed that this does introduce a
>slight lag in sending mail (up to 1 minute) since mail is batched together...
I think that's acceptable: bugzilla performance for people who make chances is more important than immediate notification.
Comment 12 Boris Bokowski CLA 2009-09-09 15:15:31 EDT
Thanks for the improvements so far, much appreciated!

Just in case this helps finding more causes for slowness: I just had to wait approx. 30 seconds on a bug (https://bugs.eclipse.org/bugs/show_bug.cgi?id=277947 at 3:13pm EST on Sep 9, 2009)

But overall Bugzilla has gotten much more consistent, and faster, so no big deal at all that I had to wait one time for a little longer.
Comment 13 Denis Roy CLA 2009-12-15 10:37:32 EST
Sometime in early 2010 we'll be getting some dedicated (and faster) hardware for our database servers.  Our DB servers are currently coexisting with the file servers, which is far from ideal.

Once that is done, and when bug 281893 gets fixed, I think Bugzilla will be in great shape.
Comment 14 Denis Roy CLA 2010-03-30 09:06:47 EDT
> Sometime in early 2010 we'll be getting some dedicated (and faster) hardware
> for our database servers.

The new database servers are configured and ready to be deployed.  Just waiting for some rackmount hardware.
Comment 15 Denis Roy CLA 2010-05-25 11:15:01 EDT
New database servers were put into production.  Even at peak times, their load average is basically just above idle.

Marking fixed since I've done everything I can to make Bugzilla as fast as it can be.  I'm also removing bug 281893 as a blocker since I've implemented a workaround (see bug 281893 comment 22).