Recommendations for Bugzilla hardware

Eddie Xie exie at linkageposted.longmusic.com
Tue Oct 18 21:07:14 UTC 2005


On 2005 August 09 (Tue) 01:49:23am PDT, David Miller <justdave at bugzilla.org> wrote:
> Eddie Xie wrote:
> 
>> I see that you have your Bugzilla using dual processor systems.  How
>> much of a benefit is it to have two processors?  Do you have to do
>> anything special to get this benefit (e.g., use a specially compiled
>> version of MySQL, or use a specialized version of Linux or FreeBSD).
> 
> You need a kernel that was compiled for "SMP" or "Symmetric 
> Multi-Processing".  Most linux distros these days have such a kernel 
> already compiled for you in one of the kernel packages (I know Red Hat, 
> Debian, Fedora, and Ubuntu all do, I haven't used many others).
> 
> It's a great benefit to a machine with Apache and MySQL on the same box, 
> because then essentially, MySQL gets one and Apache gets the other (not 
> exactly, but that's the general idea).  In the case of having just the 
> webserver on that box, Apache can basically handle twice as many 
> requests at once because it has both processors to split the load between.

I see.  It just "happens" if the kernel supports it.

With a lot of hits, I can easily see how this would be an great
advantage.  I think with my situation, though, we have less people
trying to access our Bugzilla, but they are running complicated
queries.  So, we wouldn't get as much benefit out of the dual
processor as a site that has a more even load between Apache and
MySQL.

Is there anything wrong with this line of reasoning?  Or does Apache
suck up more resources than that?

In general, would it be more cost effective to have dual processors,
or just a faster single processor?  Should I worry more about
processor speed, memory, or the hard disk?

>> What is the benefit of using a replicated database for queries?  Is it
>> only when multiple queries are going on at the same time?
> 
> When you send an update to a table, the table gets locked for a brief 
> moment, preventing queries from accessing that table (MySQL doesn't have 
> row-level locks unfortunately -- not in the current versions we support 
> anyway).  So every time someone updates a bug, anyone running a query is 
> going to be put on hold momentarily.  If lots of people are changing 
> bugs at once, this leaves very little time for queries to run.  The 
> replicated database is set up with "low-priority writes," meaning that 
> queries get priority, and updates are done whenever there aren't any 
> queries running.  If there's a LOT of people running queries, it's 
> possible for the replicated database to get a little bit stale, but it 
> keeps everyone running quickly, and it usually doesn't stay behind for 
> very long.

If we have this replicated database on the same machine, and it's a
dual processor machine, do the main and replicated databases get
separate processors?

It's been a while since my last message about this to the list, but
it's taken a bit of agitating to get upgrading the Bugzilla machine
bumped up in priority.

-- 
Eddie Xie



More information about the developers mailing list