In the last episode (Sep 10), [EMAIL PROTECTED] said:
> I'm stumped at how little improvement using an SMP kernel gives in a
> Dell 2650.  System is dual 2400 xeon processors, 2 GB ram.  It's
> intended to be used as a database processor, among other things.  A
> perl process that read and input file and updates simple records in a
> mysql database actually run much more slowly: processing ~2million
> records takes 817 seconds with SMP enabled and 262 seconds with it
> disabled.
> 
> Simple things like some_program.pl < some_big_file | another_program.pl 
> 
> seem to take full advantage of the second processor, but this system
> is supposed to run mysql.

Mysql is a threaded database, and FreeBSD's pthreads are user-space. 
This means that mysql will only ever use one CPU, and disk I/O in one
thread will block all other threads.

You can try:

* Rebuilding the mysql port with USE_LINUXTHREADS=yes.  This will help
  lots if your mysql process is CPU-bound, and will help some if you
  are heavily I/O bound.

* Switching to InnoDB tables, which cache much better than MyISAM
  tables so you are more likely to get your data from RAM instead of a
  blocking disk read.

* Splitting your single perl program into multiple ones that hit the
  database simultaneously.  You might be seeing a synchronization
  effect where your perl and mysql processes are competing for a SMP
  lock or something and the wrong one always wins.

-- 
        Dan Nelson
        [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to