And a lot has in fact changed! In this post I am going
to highlight most of the InnoDB parameters critical
for InnoDB ? specifically from a performance perspective. I’m a support engineer and I can tell you
that Percona Support gets many questions related to the right sizing of basic InnoDB parameters.
So hopefully this post will help others with similar questions and issues.
When we are hired for a MySQL performance audit, we are expected to review the MySQL
configuration and to suggest improvements. Many people are surprised because in most cases, we
only suggest to change a few settings even though hundreds of options are available. The goal of
this post is to give you a list of some of the most critical settings.
Finding bugs in MySQL is not only fun, it’s also
something I have been doing the last four
years of my life.
Whether you want to become the next Shane
Bester (who is generally considered the most
skilled MySQL bug hunter worldwide), or just
want to prove you can outsmart some of the
world’s best programmers, finding bugs in
MySQL is a skill not reserved anymore to top QA
engineers armed with a loads of scripts,
expensive flash storage and top-range server
The Gcache is a memory-based cache of recent Galera transactions that is local to each node in a
cluster. If a node leaves and rejoins the cluster, it can use the gcache from another node that
stayed in the cluster (i.e., its donor node) to fetch the transactions it missed (IST) as opposed to
doing a full state snapshot transfer (SST). However, there are a few nuances that are not obvious
to the beginner。
As a Percona support engineer, I see many issues related to heavy server loads ? OR OOM
killer got invoked and killed MySQL server due to high Memory usage… OR a question such as:
“I don’t know why mysql is taking so much memory. How do I find where exactly memory is
allocated? please help!”
There are many ways to check memory consumption of MySQL. So, I’m just trying here to explain
it by combining all details that I know of in this post.
Hosting a shared MySQL instance for your internal or external clients (“multi-tenant”) was always
a challenge. Multi-tenants approach or a “schema-per-customer” approach is pretty common
nowadays to host multiple clients on the same MySQL sever. One of issues of this approach,
however, is the lack of visibility: it is hard to tell how many resources (queries, disk, cpu, etc) each
user will use.
One of my favorite tools in the Percona Toolkit is pt-query-digest. This tool is indispensable for
identifying your top SQL queries, and analyzing which queries are accounting for your database
But the report you get from pt-query-digest is only as good as the log of queries you give it as input.
You need a large enough sample of query logs, collected over a period of time when you have
representative traffic on your database.
On x86-based systems, a hardware component that forces the A20 address line on the bus to zero, regardless of the actual setting of the A20 address line on the processor. This component is in place to support legacy systems, but the QNX OS doesn't require any such hardware. Note that some processors, such as the 386EX, have the A20 gate hardware built right into the processor itself -- the QNX IPL will disable the A20 gate as soon as possible after startup.
The Resin web server starts listening to HTTP requests on port 8080 and listens on port 6800 for clustering-overview.xtp and
cluster messages. Resin can then be used for development or evaluation. The steps are: Install JDK 1.6 or later.
On Unix, set the JAVA_HOME variable or link /usr/java to the java home. On Windows, check to make sure the JDK
installation sets JAVA_HOME correctly. unzip/untar the Resin download. It will extract into resin-4.0.x/.