If, in Percona Server, you are observing tail latencies on queries that should be fast, this might be a side effect of Percona's improved InnoDB Empty Free List Algorithm. When using this algorithm (the default in 5.6 and 5.7 and optional configuration in 8.0), a query needing a free page while none are available waits until the LRU Manager Thread refills the free list. Because this
In the light of support for Percona XtraDB Cluster (PXC), the DBdeployer anniversary, and the newly released Percona XtraDB Cluster 8.0, I’m happy to announce that Giuseppe Maxia has recently updated DBdeployer to support Percona XtraDB Cluster 8.0.
We at Percona, with my colleague Ramesh Sivaraman, have tested and deployed Percona XtraDB Cluster (PXC) 8.0.18 successfully using DBdeployer.
What is DBdeployer and How Do You …
[Read more]My first talk is a tutorial Testing like a boss: Deploy and Test Complex Topologies With a Single Command, scheduled at Percona Live Europe in Amsterdam on September 30th at 13:30.
My second talk is Amazing sandboxes with dbdeployer scheduled on October 1st at 11:00. It is the same topic as the tutorial, but covers a narrow set of features, all in the *amazing* category.
The tutorial introduces a challenging topic, because when people hear testing, they imagine a troop of monkeys fiddling with a keyboard and a mouse, endlessly repeating a boring task. What I want to show is that testing is a creative activity and, with the right tools and mindset, it could be exciting and rewarding. During my work as a quality assurance engineer, I have always seen a boring task as an opportunity to automate. …
[Read more]
Up to now, the way of updating dbdeployer was the same as
installing it for the first time, i.e. looking
at the releases page, downloading the binaries for your operating
system, unpacking it and finally replacing the existing
binaries.
This is not the procedure I follow, however, as for me
updating means just compile the latest version I have
just finished coding. For this reason, when Simon Mudd
mentioned to me that dbdeployer should update itself over the
Internet, I didn’t immediately grasp the concept. But then he
talked to me again, and he even coded a sample script that does
what he …
This post is a sister post to MySQL Master Replication Crash Safety Part #4: benchmarks of high and low durability. There are no introduction or conclusion to this post, only landing sections: reading this post without its context is not recommended. You should start with the main post and come back here for more details.
Environment
My benchmark environment is composed of three vms in
Starting with version 1.32.0, dbdeployer has the ability of downloading a
selection of MySQL tarballs from several sources.
This means that, when working in an empty box, you can populate
it with database servers using
dbdeployer.
The “empty box” mentioned in the title is not really empty. It’s
a Linux (or MacOS) host that is able to run a MySQL server. As
such, it needs to have at least the prerequisites to run MySQL
server (such as the libnuma
and libaio
packages), and a bash
shell to run the scripts
created by dbdeployer.
To try the thrill of an empty box that quickly becomes a working
environment, we can use a docker image
datacharmer/mysql-sb-base
that I have created for
this purpose.
$ docker pull datacharmer/mysql-sb-base
Using default tag: latest …
[Read more]
Quickly configure replication using DBdeployer [SandBox]
We might have different scenarios when we need a quick setup of
replication either between the same version of MySQL (Like 8.0
--> 8.0) or between the different version of MySQL (Like 5.7
--> 8.0) to perform some testings.
Here in this blog post, I will explain how we can create our
replication lab setup quickly using the virtual machine and
DBdeployer tool.
Let's see, how to create replication between the same version and
different version of MySQL using DBdeployer step by
step.
Create CentOS VM Please find my this blog post link where …
I am currently running tests with sysbench and dbdeployer on a Google Cloud Platform Debian 9 instance. I ran into an interesting limit and lifting it was not straightforward. I hope that by sharing this, you can avoid losing too much time.
The benchmark I am using is the insert benchmark. I am able to run it with 2048 threads but I am not able to run it with 4096 threads (and yes, it makes
Install MySQL on CentOS using DBdeployer
1. Here It is assumed You will have a CentOS system/VM. If not,
then please find my this blog post link where you will get
instruction about, how you can create CentOS virtual machine
using the vagrant.
2. Connect to CentOS VM abhinavs-MacBook-Air:centos7-test-vm
agupta$ pwd /Users/agupta/vagrant_box/centos7-test-vm
abhinavs-MacBook-Air:centos7-test-vm agupta$ vagrant
ssh
[vagrant@centos7-test-vm ~]$ sudo su -
[root@centos7-test-vm ~]#
3. Run below command to install the latest DBdeployer
package [root@centos7-test-vm ~]# yum -y install wget
[root@centos7-test-vm …
In the previous post about the dbdeployer recipes we
saw the basics of using the cookbook
command and the
simpler tutorials that the recipes offer.
Here we will see some more advanced techniques, and more demanding examples.
We saw that the recipe for a single deployment would get a
NOTFOUND
when no versions were available, or the
highest MySQL version when one was found.
$ dbdeployer cookbook show single | grep version=
version=$1
[ -z "$version" ] && version=8.0.16
But what if we want the latest Percona Server or MariaDB for this recipe? One solution would be to …
[Read more]