I just got done playing with this same scenario. 

If the task finishes locally OK, but totally dogs on the network, then you
may have a network issue, NOT a MySQL issue.

1) Make sure that the switch and boxes are set to full duplex operation.
This will eliminate collisions.  Make sure that everything is REALLY running
full duplex.  Don't assume that it just is.

2) Make sure that your switch has a high enough internal bandwidth to handle
the full duplex traffic.  Many older switches do not have the internal
backplane bandwidth between ports to support a lot of 100 Mbit traffic even
though they will accept 100 Mb full duplex connections on all ports.  They
may have only a backplane bandwidth of 200-300 Mb and you can fill that up
with e-mail, internaet, etc. and leave nothing left over for server to
server traffic.

3) Put the servers on a VLAN if possible to avoid other network traffic.

Symptoms of these problems are slow processing with none of your boxes
loaded up.  top will show them idle and the completion time for your
processing will be painfully long.  It will run fine locally, but, just
crater over the network.

Sound familiar?

When I made the above changes, I was able to change network throughput from
12 Mb/sec between application server box and database server box to 160
Mb/sec of traffic.  top then showed the application boxes as totally busy
with no idle time.  The MySQL box was never really taxed even at that
throughput level.

Also, you can look to optimize your SQL (i.e.: multiple records inserted per
INSERT SQL command - see web for syntax) but that may not be your issue if
it worked OK on the local box.

I found that stringing several Athlon XP1800+ boxes together (my test
environment) I was able to max out the boxes before I maxed out the network
@ a true 100 Mb full duplex.

Hope this helps!

Ken Hylton
Programmer Analyst IV
LEC Systems & Programming

Billing Concepts, Inc.
7411 John Smith Drive
San Antonio, Texas 78229-4898
(210) 949-7261



-----Original Message-----
From: [EMAIL PROTECTED] [mailto:hooker@;rave.iinet.net.au]
Sent: Thursday, October 24, 2002 7:45 PM
To: [EMAIL PROTECTED]
Subject: Performance over a network


Hi,

I'm running MySQL 3.23.51 on a Debian Linux server, and I've got a
performance question.

I have a perl application which builds up data in memory (in a hash) and
every 30 seconds forks and writes the data to a database. When both perl
script and MySQL server are on the same machine, the script manages to
finish writing to the database before the next child appears (*most* of
the time :-) ). However, if the script and MySQL server are on different
machines, separated by an uncongested 100 Mbs ethernet network, the
child always fails to write to the database within the 30 second window.

So, my questions are ...


*       Is there a measure of the expected difference between these two
        scenarios?

*       Is there any explicit tuning which can be done to speed up access 
        over the network (short of adding gig-ethernet cards which isn't
        likely) ?

The reason for not just leaving everything on the same machine is that
the expected growth over the next 6 months will mandate more than one
server to handle the incoming data, so the separation between script and
database engine is going to have to happen anyway.

Hopefully ...


Paul Wilson
Chime Communications Ltd


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

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