-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

At 03:44 PM 1/18/2002 -0500, you wrote:

>We use mysql heavily in production with tables over 30GB. We are going
>to purchase a new db server soon and the decision to be made now is
>whether we should go with a 4 cpu 700-900MHz system or a 2 cpu 1.4GHz+
>system. Most of the time there is only one connection to this large
>database doing large queries including joins. What I am trying to find
>out is when (and how well) extra CPUs could speed up SQL operations when
>there is only one client/connection. In the opinion of those who know,
>which system would best serve our needs? The four slower processors, or the
>two faster processors? Why?

 From the user manual:

9.3.1 MySQL Threads

The MySQL server creates the following threads:

     * The TCP/IP connection thread handles all connection requests and 
creates a new dedicated thread to handle the authentication and and SQL 
query processing for each connection.
     * On Windows NT there is a named pipe handler thread that does the 
same work as the TCP/IP connection thread on named pipe connect requests.
     * The signal thread handles all signals. This thread also normally 
handles alarms and calls process_alarm() to force timeouts on connections 
that have been idle too long.
     * If mysqld is compiled with -DUSE_ALARM_THREAD, a dedicated thread 
that handles alarms is created. This is only used on some systems where 
there are problems with sigwait() or if one wants to use the thr_alarm() 
code in ones application without a dedicated signal handling thread.
     * If one uses the --flush_time=# option, a dedicated thread is created 
to flush all tables at the given interval.
     * Every connection has its own thread.
     * Every different table on which one uses INSERT DELAYED gets its own 
thread.
     * If you use --master-host, a slave replication thread will be started 
to read and apply updates from the master.

mysqladmin processlist only shows the connection, INSERT DELAYED, and 
replication threads.



As you are looking at having only one connection, I would say it is likely 
that 2 1.4 Ghz CPUs will give you better results than 4 900 Mhz CPUs, all 
other things being equal.  Also, remember that operating systems don't 
scale linearly in the best of cases, though Linux scales well up to 4 CPUs.

Someone more knowledgable than I will speak up, I'm sure, but I'd focus on 
dual CPUs with more memory rather than going for a 4 CPU machine.  Also, 
high speed disks would be nice, too.  In fact, I'd say more likely you'll 
see more performance with ONE CPU with more memory and faster drives than 
you would with a 4 CPU machine limited in RAM and hard drive speed.


-----BEGIN PGP SIGNATURE-----
Version: PGP Personal Security 7.0.3

iQA/AwUBPEiLrgAttZAy2w6WEQIYKgCghq00GE1/2TXOguN6FkxacH9gumMAn0Vi
eUcuISI6S/W/h0KtvDeAliuy
=gmoV
-----END PGP SIGNATURE-----


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to