[consulting] Drupal server requirements

Harry Slaughter harry at slaughters.com
Tue Mar 28 02:59:30 UTC 2006


John Handelaar wrote:
> Harry Slaughter wrote:
>> John Handelaar wrote:
>> ....
>>
>>> And ferchrissakes don't let Drupal's installer use
>>> MyISAM.  You'll need InnoDB.
>>
>> Do you have any references to the reasoning that suggests InnoDB over 
>> MyISAM? I have been under the impression that MyISAM is preferable in 
>> situations where reads are much more prevalent than writes 
>  > AND where
>  > transactional support is not required. I'd be extremely interested in
>  > learning if/why this is not actually true.
> 
> Out here in the real world, replace that with "MyISAM
> is a total disaster in any high-traffic environment
> where WRITEs occur at all".
> 
> While a WRITE is in progress, MyISAM locks the whole
> table.  Result:
> 
> 1.  All WRITEs wait until existing READs finish.
> 
> 2.  *All* READs stop dead until the WRITEs are done.
> 
> 3.  All new READs are created as new processes, happily
>     queuing up, chewing memory like locusts, and ticking
>     off their max-execution-time clocks and doing nothing
>     else until 1 and 2 are done.
> 
> Repeat until you're fucked.

anecdotal evidence is interesting enough, but hard numbers are what's 
relevant?

stuff from books confirms your claim:

"Part of the reason MySQL doesn't suffer as much as expected is because 
the majority of applications for which it is used consist primarily of 
read queries. In fact, the MyISAM engine (MySQL's default) was built 
assuming that 90% of all queries run against it will be reads. As it 
turns out, MyISAM tables perform very well as long as the ratio of reads 
to writes is very high or very low."

but i'd really like to see numbers!

lots of folks talk about optimization of various kinds. often when you 
boil it down to numbers, lots of these optimizations aren't even worth 
the effort. mysql_connect -vs- mysql_pconnect, for example. why bother?

i've got a DB that has something like a 50/50 read/write ratio. at less 
than a million records, one of the tables is starting to slow the system 
down. one of the options is to convert to innodb. but i like to know the 
facts as much as possible before trying to implement solutions.

and i wouldn't recommend that anyone blindly convert his drupal DB to 
innodb without understanding the diffs between innodb and myisam.

i always assummed innodb was for banks and missile launch software and 
myisam was for your average website :) guess it's time to study.






-- 
Harry Slaughter <-> harry at slaughters.com
Web Developer
http://devbee.com/
http://slaughters.com/
h: 619-303-5952
c: 619-249-8780


More information about the consulting mailing list