Paul,

Where did you find information about 'littlesync' and 'nosync'?
In InnoDB manual I found only 

**************
This is only relevant on Unix. The default value for this is fdatasync. Then InnoDB 
uses fsync() to flush both the data and log files. If O_DSYNC is specified, InnoDB 
uses O_SYNC to open and flush the log files, but uses fsync() to flush the data files. 
If O_DIRECT is specified (available on some Linux versions starting from 
MySQL-4.0.14), InnoDB uses O_DIRECT to open the data files, and uses fsync() to flush 
both the data and log files. Note that InnoDB does not use fdatasync() or O_DSYNC 
because there have been problems with them on many Unix flavors. 
**************

Mikhail.
  ----- Original Message ----- 
  From: Paul Gallier 
  To: Mikhail Entaltsev ; [EMAIL PROTECTED] 
  Sent: Tuesday, September 02, 2003 4:24 AM
  Subject: Re: InnoDB slow?


  Thanks for the info.
  I'm running MySQL 4.0.14 under Redhat 8.0 / Linux 2.4.20.
  Here are the timings I ended up with from playing with innodb_flush_method:

  innodb_flush_method=fdatasync (default)  10 minutes 37 seconds
  innodb_flush_method=littlesync           10 minutes 22 seconds
  innodb_flush_method=O_DSYNC               5 minutes 18 seconds
  innodb_flush_method=nosync                3 minutes 12 seconds
  MyISAM tables instead of InnoDB           2 minutes 34 seconds

  Now of course, the question is what potential harm am I looking at by using nosync 
or o_dsync?


  Mikhail Entaltsev wrote:

Paul,

if your MySQL server is runnign under Linux then try to play with
"innodb_flush_method" variable.
I've changed it to O_DSYNC and InnoDB became ~ 9 times faster (Suse 8.2
Linux 2.4.20-4GB i386).
Also check that you didn't allocate too much memory (OS shouldn't swap).

Best regards,
Mikhail.


----- Original Message ----- 
From: "Paul Gallier" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, September 02, 2003 2:57 AM
Subject: InnoDB slow?


  I'm running a large database which is currently using MyISAM.  There are
approximately 300 million rows in about a dozen tables totaling 7GB of
storage.  The system is averaging 257 querries per second, probably
peaking at around 500-600+ during busy times.  We're running a single
database with one programming doing insertions/updates and a web server
doing only selects.  The problem is that the insertions/updates tend to
bog down a bit when the web side gets busy.  I figured switching to
InnoDB might help with the row-locking support, however, on my test
system things ran very slow using InnoDB instead of MyISAM.  This was
just running the script handling the inserts/updates with no web access,
but a test that took 2 minutes 34 seconds using MyISAM tables took 10
minutes 37 seconds using InnoDB.  I setup enough disk space to hold the
tables and had seemingly sufficient ammounts of mmeory configured for
InnoDB, so I cannot understand the drastic slowdown.  Any advise would
be greatly appreciated.


    

  

Reply via email to