mysql-proxy-discuss team mailing list archive
-
mysql-proxy-discuss team
-
Mailing list archive
-
Message #00242
Re: MySql Proxy 0.7.2 - Network timeout configuration
Hi!
On Jul 31, 2009, at 9:56 PM, Mike Gent wrote:
While I can't speak about platforms, there are a few things on Linux
you
can change. I'm surprised this hasn't come up earlier, b/c this is a
big
deal with redundancy testing. When testing mysql-proxy between a
primary
and failover server, don't just stop the primary DB, but shutdown the
primary host (shutting down a VM is easiest if possible). It will be
painfully obvious that the timeouts are going to be a problem.
Linux kernel config options at startup (RedHat/CentOS, not sure about
other distros):
net.ipv4.tcp_syn_retries = 0
net.ipv4.tcp_retries2 = 1
You can change these options while the system is running:
echo 0 > /proc/sys/net/ipv4/tcp_syn_retries
echo 1 > /proc/sys/net/ipv4/tcp_retries2
Since not all systems will have options to change these timeouts and
retries, I +1 the need for an alarm thread in the proxy.
+1 from me as well.
dealing with tcp timeouts, especially TIME_WAIT and FIN_WAIT_2 might
be problematic with very high connection counts.
unfortunately there's not too much you can do about it in general
right now.
maybe it would be worthwhile to start assembling this kind of
information on a wiki page and/or in the documentation,
so we can point people to it for different platforms.
we are busy looking at different test scenarios right now and starting
to implement various kinds of system testcases
to verify we gracefully handle common cases (these are sparsely
documented in trunk's doxygen right now).
we plan to opensource all of these alongside proxy, of course, to make
it possible for others to verify our findings,
verify the validity of the code and also make it possible to reuse
them in other contexts (since they are really just
using mysql connections and don't require a proxy in the middle).
if you have input on what kind of testing you would need to see to be
convinced that proxy actually solves problems you
are seeing, please share them (on- or off-list however you prefer).
we will try hard to integrate them in our test harness.
btw, we will most likely end up using Faban (http://
faban.sunsource.net/) for this kind of benchmarks because of the
flexibility it offers in driving high loads.
pointers to other benchmark drivers we might not be aware of is much
appreciated as well.
cheers,
-k
--
Kay Roepke
Software Engineer, MySQL Enterprise Tools
Sun Microsystems GmbH Sonnenallee 1, DE-85551 Kirchheim-Heimstetten
Geschaeftsfuehrer: Thomas Schroeder, Wolfang Engels, Wolf Frenkel
Vorsitz d. Aufs.rat.: Martin Haering HRB MUC 161028
References