-----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